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