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