GRUB_MOD_FINI(ofnet)
{
+ struct grub_net_card *card;
+ FOR_NET_CARDS (card)
+ if (card->driver && !grub_strcmp (card->driver->name, "ofnet"))
+ card->driver->fini (card);
grub_net_card_driver_unregister (&ofdriver);
grub_getbootp = NULL;
}
"unrecognised format specification %s", args[3]);
}
+static void
+grub_grubnet_fini_real (void)
+{
+ struct grub_net_card *card;
+ FOR_NET_CARDS (card)
+ if (card->driver)
+ card->driver->fini (card);
+}
+
static struct grub_fs grub_net_fs =
{
.name = "netfs",
grub_fs_register (&grub_net_fs);
grub_net_open = grub_net_open_real;
grub_file_net_seek = grub_net_seek_real;
+ grub_grubnet_fini = grub_grubnet_fini_real;
}
GRUB_MOD_FINI(net)
grub_fs_unregister (&grub_net_fs);
grub_net_open = NULL;
grub_file_net_seek = NULL;
+ grub_grubnet_fini = NULL;
}
extern grub_net_t (*EXPORT_VAR (grub_net_open)) (const char *name);
extern grub_err_t (*EXPORT_VAR (grub_file_net_seek)) (struct grub_file *file, grub_off_t offset);
+void (*EXPORT_VAR (grub_grubnet_fini)) (void);
struct grub_net_network_level_interface
{