netif
} netif;
efinet_match(struct netif *nif, void *machdep_hint)
efinet_probe(struct netif *nif, void *machdep_hint)
struct netif *nif = desc->io_netif;
struct netif *nif = desc->io_netif;
struct netif *nif = desc->io_netif;
efinet_end(struct netif *nif)
static void efinet_end(struct netif *);
static int efinet_match(struct netif *, void *);
static int efinet_probe(struct netif *, void *);
idev->d_kind.netif.unit = unit;
sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_kind.netif.unit);
} netif;
pxe_netif_match(struct netif *nif, void *machdep_hint)
pxe_netif_probe(struct netif *nif, void *machdep_hint)
pxe_netif_end(struct netif *nif)
static int pxe_netif_match(struct netif *nif, void *machdep_hint);
static int pxe_netif_probe(struct netif *nif, void *machdep_hint);
static void pxe_netif_end(struct netif *nif);
new_currdev.d_kind.netif.unit = 0;
struct netif *io_netif;
netif_probe(struct netif *nif, void *machdep_hint)
netif_attach(struct netif *nif, struct iodesc *desc, void *machdep_hint)
netif_detach(struct netif *nif)
struct netif *nif = desc->io_netif;
struct netif *nif = desc->io_netif;
struct netif *nif;
netif_match(struct netif *nif, void *machdep_hint)
struct netif *
struct netif cur_if;
static struct netif best_if;
int (*netif_match)(struct netif *, void *);
int (*netif_probe)(struct netif *, void *);
void (*netif_end)(struct netif *);
struct netif *netif_select(void *);
int netif_probe(struct netif *, void *);
void netif_attach(struct netif *, struct iodesc *, void *);
void netif_detach(struct netif *);
netif_open_tap(const char *netif, int *tap_unit, int s)
if (strcmp(netif, "auto") == 0) {
if (netif[0] == '/') /* Absolute path */
strlcpy(tap_dev, netif, sizeof(tap_dev));
snprintf(tap_dev, sizeof(tap_dev), "/dev/%s", netif);
char *netif;
netif = strtok(netifExp[i], ":");
if (netif == NULL) {
tap_fd = netif_open_tap(netif, &tap_unit, s);