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