Annotation of sys/lib/libsa/netif.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: netif.h,v 1.5 2003/06/01 17:00:33 deraadt Exp $ */
! 2: /* $NetBSD: netif.h,v 1.4 1995/09/14 23:45:30 pk Exp $ */
! 3:
! 4: #ifndef __SYS_LIBNETBOOT_NETIF_H
! 5: #define __SYS_LIBNETBOOT_NETIF_H
! 6: #include "iodesc.h"
! 7:
! 8: struct netif_driver {
! 9: char *netif_bname;
! 10: int (*netif_match)(struct netif *, void *);
! 11: int (*netif_probe)(struct netif *, void *);
! 12: void (*netif_init)(struct iodesc *, void *);
! 13: int (*netif_get)(struct iodesc *, void *, size_t, time_t);
! 14: int (*netif_put)(struct iodesc *, void *, size_t);
! 15: void (*netif_end)(struct netif *);
! 16: struct netif_dif *netif_ifs;
! 17: int netif_nifs;
! 18: };
! 19:
! 20: struct netif_dif {
! 21: int dif_unit;
! 22: int dif_nsel;
! 23: struct netif_stats *dif_stats;
! 24: void *dif_private;
! 25: /* the following fields are used internally by the netif layer */
! 26: u_long dif_used;
! 27: };
! 28:
! 29: struct netif_stats {
! 30: int collisions;
! 31: int collision_error;
! 32: int missed;
! 33: int sent;
! 34: int received;
! 35: int deferred;
! 36: int overflow;
! 37: };
! 38:
! 39: struct netif {
! 40: struct netif_driver *nif_driver;
! 41: int nif_unit;
! 42: int nif_sel;
! 43: void *nif_devdata;
! 44: };
! 45:
! 46: extern struct netif_driver *netif_drivers[]; /* machdep */
! 47: extern int n_netif_drivers;
! 48:
! 49: extern int netif_debug;
! 50:
! 51: void netif_init(void);
! 52: struct netif *netif_select(void *);
! 53: int netif_probe(struct netif *, void *);
! 54: void netif_attach(struct netif *, struct iodesc *, void *);
! 55: void netif_detach(struct netif *);
! 56: ssize_t netif_get(struct iodesc *, void *, size_t, time_t);
! 57: ssize_t netif_put(struct iodesc *, void *, size_t);
! 58:
! 59: int netif_open(void *);
! 60: int netif_close(int);
! 61:
! 62: struct iodesc *socktodesc(int);
! 63:
! 64: #endif /* __SYS_LIBNETBOOT_NETIF_H */
CVSweb