1dfdcada3SDoug Rabson /* $NetBSD: netconfig.h,v 1.1 2000/06/02 22:57:54 fvdl Exp $ */ 2dfdcada3SDoug Rabson 3dfdcada3SDoug Rabson 4dfdcada3SDoug Rabson #ifndef _NETCONFIG_H_ 5dfdcada3SDoug Rabson #define _NETCONFIG_H_ 6dfdcada3SDoug Rabson 7dfdcada3SDoug Rabson #include <sys/cdefs.h> 8dfdcada3SDoug Rabson 9dfdcada3SDoug Rabson #define NETCONFIG "/etc/netconfig" 10dfdcada3SDoug Rabson #define NETPATH "NETPATH" 11dfdcada3SDoug Rabson 12dfdcada3SDoug Rabson struct netconfig { 13dfdcada3SDoug Rabson char *nc_netid; /* Network ID */ 14dfdcada3SDoug Rabson unsigned long nc_semantics; /* Semantics (see below) */ 15dfdcada3SDoug Rabson unsigned long nc_flag; /* Flags (see below) */ 16dfdcada3SDoug Rabson char *nc_protofmly; /* Protocol family */ 17dfdcada3SDoug Rabson char *nc_proto; /* Protocol name */ 18dfdcada3SDoug Rabson char *nc_device; /* Network device pathname */ 19dfdcada3SDoug Rabson unsigned long nc_nlookups; /* Number of directory lookup libs */ 20dfdcada3SDoug Rabson char **nc_lookups; /* Names of the libraries */ 21dfdcada3SDoug Rabson unsigned long nc_unused[9]; /* reserved */ 22dfdcada3SDoug Rabson }; 23dfdcada3SDoug Rabson 24dfdcada3SDoug Rabson typedef struct { 25dfdcada3SDoug Rabson struct netconfig **nc_head; 26dfdcada3SDoug Rabson struct netconfig **nc_curr; 27dfdcada3SDoug Rabson } NCONF_HANDLE; 28dfdcada3SDoug Rabson 29dfdcada3SDoug Rabson /* 30dfdcada3SDoug Rabson * nc_semantics values 31dfdcada3SDoug Rabson */ 32dfdcada3SDoug Rabson #define NC_TPI_CLTS 1 33dfdcada3SDoug Rabson #define NC_TPI_COTS 2 34dfdcada3SDoug Rabson #define NC_TPI_COTS_ORD 3 35dfdcada3SDoug Rabson #define NC_TPI_RAW 4 36dfdcada3SDoug Rabson 37dfdcada3SDoug Rabson /* 38dfdcada3SDoug Rabson * nc_flag values 39dfdcada3SDoug Rabson */ 40dfdcada3SDoug Rabson #define NC_NOFLAG 0x00 41dfdcada3SDoug Rabson #define NC_VISIBLE 0x01 42dfdcada3SDoug Rabson #define NC_BROADCAST 0x02 43dfdcada3SDoug Rabson 44dfdcada3SDoug Rabson /* 45dfdcada3SDoug Rabson * nc_protofmly values 46dfdcada3SDoug Rabson */ 47dfdcada3SDoug Rabson #define NC_NOPROTOFMLY "-" 48dfdcada3SDoug Rabson #define NC_LOOPBACK "loopback" 49dfdcada3SDoug Rabson #define NC_INET "inet" 50dfdcada3SDoug Rabson #define NC_INET6 "inet6" 51dfdcada3SDoug Rabson #define NC_IMPLINK "implink" 52dfdcada3SDoug Rabson #define NC_PUP "pup" 53dfdcada3SDoug Rabson #define NC_CHAOS "chaos" 54dfdcada3SDoug Rabson #define NC_NS "ns" 55dfdcada3SDoug Rabson #define NC_NBS "nbs" 56dfdcada3SDoug Rabson #define NC_ECMA "ecma" 57dfdcada3SDoug Rabson #define NC_DATAKIT "datakit" 58dfdcada3SDoug Rabson #define NC_CCITT "ccitt" 59dfdcada3SDoug Rabson #define NC_SNA "sna" 60dfdcada3SDoug Rabson #define NC_DECNET "decnet" 61dfdcada3SDoug Rabson #define NC_DLI "dli" 62dfdcada3SDoug Rabson #define NC_LAT "lat" 63dfdcada3SDoug Rabson #define NC_HYLINK "hylink" 64dfdcada3SDoug Rabson #define NC_APPLETALK "appletalk" 65dfdcada3SDoug Rabson #define NC_NIT "nit" 66dfdcada3SDoug Rabson #define NC_IEEE802 "ieee802" 67dfdcada3SDoug Rabson #define NC_OSI "osi" 68dfdcada3SDoug Rabson #define NC_X25 "x25" 69dfdcada3SDoug Rabson #define NC_OSINET "osinet" 70dfdcada3SDoug Rabson #define NC_GOSIP "gosip" 71dfdcada3SDoug Rabson 72dfdcada3SDoug Rabson /* 73dfdcada3SDoug Rabson * nc_proto values 74dfdcada3SDoug Rabson */ 75dfdcada3SDoug Rabson #define NC_NOPROTO "-" 76dfdcada3SDoug Rabson #define NC_TCP "tcp" 77dfdcada3SDoug Rabson #define NC_UDP "udp" 78dfdcada3SDoug Rabson #define NC_ICMP "icmp" 79dfdcada3SDoug Rabson 80dfdcada3SDoug Rabson __BEGIN_DECLS 81dfdcada3SDoug Rabson void *setnetconfig(void); 82dfdcada3SDoug Rabson struct netconfig *getnetconfig(void *); 83dfdcada3SDoug Rabson struct netconfig *getnetconfigent(const char *); 84dfdcada3SDoug Rabson void freenetconfigent(struct netconfig *); 85dfdcada3SDoug Rabson int endnetconfig(void *); 86dfdcada3SDoug Rabson 87dfdcada3SDoug Rabson #ifndef _KERNEL 88dfdcada3SDoug Rabson void *setnetpath(void); 89dfdcada3SDoug Rabson struct netconfig *getnetpath(void *); 90dfdcada3SDoug Rabson int endnetpath(void *); 91dfdcada3SDoug Rabson 92dfdcada3SDoug Rabson void nc_perror(const char *); 93dfdcada3SDoug Rabson char *nc_sperror(void); 94dfdcada3SDoug Rabson #endif 95dfdcada3SDoug Rabson 96dfdcada3SDoug Rabson __END_DECLS 97dfdcada3SDoug Rabson 98dfdcada3SDoug Rabson #endif /* _NETCONFIG_H_ */ 99