xref: /dflybsd-src/include/netconfig.h (revision ce0e08e21d42c06c0014fae6b9d27144aa5109b0)
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