diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-10-18 08:53:40 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-10-18 08:53:40 +0000 |
commit | d6583bb2a13f329cf0332ef2570eb8bb8fc0e39c (patch) | |
tree | ece253b876159b39c620e62b6c9b1174642e070e /sys/lib/libsa/netif.h |
initial import of NetBSD tree
Diffstat (limited to 'sys/lib/libsa/netif.h')
-rw-r--r-- | sys/lib/libsa/netif.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/sys/lib/libsa/netif.h b/sys/lib/libsa/netif.h new file mode 100644 index 00000000000..0bc3218486c --- /dev/null +++ b/sys/lib/libsa/netif.h @@ -0,0 +1,65 @@ +/* $NetBSD: netif.h,v 1.4 1995/09/14 23:45:30 pk Exp $ */ + +#ifndef __SYS_LIBNETBOOT_NETIF_H +#define __SYS_LIBNETBOOT_NETIF_H +#include "iodesc.h" + +#define NENTS(x) sizeof(x)/sizeof(x[0]) + +struct netif_driver { + char *netif_bname; + int (*netif_match) __P((struct netif *, void *)); + int (*netif_probe) __P((struct netif *, void *)); + void (*netif_init) __P((struct iodesc *, void *)); + int (*netif_get) __P((struct iodesc *, void *, size_t, time_t)); + int (*netif_put) __P((struct iodesc *, void *, size_t)); + void (*netif_end) __P((struct netif *)); + struct netif_dif *netif_ifs; + int netif_nifs; +}; + +struct netif_dif { + int dif_unit; + int dif_nsel; + struct netif_stats *dif_stats; + void *dif_private; + /* the following fields are used internally by the netif layer */ + u_long dif_used; +}; + +struct netif_stats { + int collisions; + int collision_error; + int missed; + int sent; + int received; + int deferred; + int overflow; +}; + +struct netif { + struct netif_driver *nif_driver; + int nif_unit; + int nif_sel; + void *nif_devdata; +}; + +extern struct netif_driver *netif_drivers[]; /* machdep */ +extern int n_netif_drivers; + +extern int netif_debug; + +void netif_init __P((void)); +struct netif *netif_select __P((void *)); +int netif_probe __P((struct netif *, void *)); +void netif_attach __P((struct netif *, struct iodesc *, void *)); +void netif_detach __P((struct netif *)); +ssize_t netif_get __P((struct iodesc *, void *, size_t, time_t)); +ssize_t netif_put __P((struct iodesc *, void *, size_t)); + +int netif_open __P((void *)); +int netif_close __P((int)); + +struct iodesc *socktodesc __P((int)); + +#endif /* __SYS_LIBNETBOOT_NETIF_H */ |