devsw
struct devsw *d_dev;
for (i = 0; devsw[i] != NULL; i++) {
if (devsw[i]->dv_print != NULL){
sprintf(line, "%s devices:\n", devsw[i]->dv_name);
devsw[i]->dv_print(verbose);
sprintf(line, "%s: (unknown)\n", devsw[i]->dv_name);
struct devsw netdev = {
extern struct devsw netdev;
for (i = 0; devsw[i] != NULL; ++i)
if (devsw[i]->dv_cleanup != NULL)
(devsw[i]->dv_cleanup)();
extern struct devsw efipart_dev;
extern struct devsw efinet_dev;
struct devsw *d_dev;
int efi_register_handles(struct devsw *, EFI_HANDLE *, EFI_HANDLE *, int);
EFI_HANDLE efi_find_handle(struct devsw *, int);
int efi_handle_lookup(EFI_HANDLE, struct devsw **, int *, uint64_t *);
int efi_handle_update_dev(EFI_HANDLE, struct devsw *, int, uint64_t);
struct devsw efinet_dev = {
struct devsw efipart_dev = {
efi_handle_update_dev(EFI_HANDLE h, struct devsw *dev, int unit,
struct devsw *dev;
efi_register_handles(struct devsw *sw, EFI_HANDLE *handles,
efi_find_handle(struct devsw *dev, int unit)
efi_handle_lookup(EFI_HANDLE h, struct devsw **dev, int *unit, uint64_t *extra)
struct devsw *devsw[] = {
if (devsw[i] == NULL)
struct devsw *dv;
for (i = 0; devsw[i] != NULL; i++) {
dv = devsw[i];
struct devsw *dev;
for (i = 0; devsw[i] != NULL; i++)
if (devsw[i]->dv_init != NULL)
(devsw[i]->dv_init)();
for (i = 0; devsw[i] != NULL; ++i)
if (devsw[i]->dv_cleanup != NULL)
(devsw[i]->dv_cleanup)();
struct devsw bioscd = {
struct devsw biosdisk = {
struct devsw *dv;
for (i = 0, dv = NULL; devsw[i] != NULL; i++) {
if (!strncmp(devspec, devsw[i]->dv_name, strlen(devsw[i]->dv_name))) {
dv = devsw[i];
struct devsw *d_dev;
extern struct devsw bioscd;
extern struct devsw biosdisk;
extern struct devsw pxedisk;
struct devsw pxedisk = {
struct devsw *devsw[] = {
for (i = 0; devsw[i] != NULL; i++) {
if (devsw[i]->dv_init != NULL)
(devsw[i]->dv_init)();
for (i = 0; devsw[i] != NULL; ++i)
if (devsw[i]->dv_cleanup != NULL)
(devsw[i]->dv_cleanup)();
extern struct devsw netdev;
struct devsw *f_dev; /* pointer to device operations */
extern struct devsw *devsw[];