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