1 /* $NetBSD: netif.h,v 1.4 1995/09/14 23:45:30 pk Exp $ */
5 #ifndef __SYS_LIBNETBOOT_NETIF_H
6 #define __SYS_LIBNETBOOT_NETIF_H
10 const char *netif_bname;
11 int (*netif_match)(struct netif *, void *);
12 int (*netif_probe)(struct netif *, void *);
13 void (*netif_init)(struct iodesc *, void *);
14 ssize_t (*netif_get)(struct iodesc *, void **, time_t);
15 ssize_t (*netif_put)(struct iodesc *, void *, size_t);
16 void (*netif_end)(struct netif *);
17 struct netif_dif *netif_ifs;
24 struct netif_stats *dif_stats;
26 /* the following fields are used internally by the netif layer */
41 struct netif_driver *nif_driver;
47 extern struct netif_driver *netif_drivers[]; /* machdep */
48 extern int n_netif_drivers;
50 extern int netif_debug;
52 void netif_init(void);
53 struct netif *netif_select(void *);
54 int netif_probe(struct netif *, void *);
55 void netif_attach(struct netif *, struct iodesc *, void *);
56 void netif_detach(struct netif *);
57 ssize_t netif_get(struct iodesc *, void **, time_t);
58 ssize_t netif_put(struct iodesc *, void *, size_t);
60 int netif_open(void *);
63 struct iodesc *socktodesc(int);
65 #endif /* __SYS_LIBNETBOOT_NETIF_H */