8442 uts: startup_bios_disk() should check for BIOS
[unleashed.git] / include / sys / netconfig.h
blob6407534a3b93ed307b887158d00451d25467ef1f
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
20 * CDDL HEADER END
22 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
23 /* All Rights Reserved */
27 * Copyright 2014 Garrett D'Amore <garrett@damore.org>
29 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
30 * Use is subject to license terms.
33 #ifndef _SYS_NETCONFIG_H
34 #define _SYS_NETCONFIG_H
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
40 #define NETCONFIG "/etc/netconfig"
41 #define NETPATH "NETPATH"
43 struct netconfig {
44 char *nc_netid; /* network identifier */
45 unsigned int nc_semantics; /* defined below */
46 unsigned int nc_flag; /* defined below */
47 char *nc_protofmly; /* protocol family name */
48 char *nc_proto; /* protocol name */
49 char *nc_device; /* device name for network id */
50 unsigned int nc_nlookups; /* # of entries in nc_lookups */
51 char **nc_lookups; /* list of lookup directories */
52 unsigned int nc_unused[8]; /* borrowed for lockd etc. */
55 typedef struct {
56 struct netconfig **nc_head;
57 struct netconfig **nc_curr;
58 } NCONF_HANDLE;
61 * Values of nc_semantics
64 #define NC_TPI_CLTS 1
65 #define NC_TPI_COTS 2
66 #define NC_TPI_COTS_ORD 3
67 #define NC_TPI_RAW 4
69 * NOT FOR PUBLIC USE, Solaris internal only.
70 * This value of nc_semantics is strictly for use of Remote Direct
71 * Memory Access provider interfaces in Solaris only and not for
72 * general use. Do not use this value for general purpose user or
73 * kernel programming. If used the behavior is undefined.
74 * This is a PRIVATE interface to be used by Solaris kRPC only.
76 #define NC_TPI_RDMA 5
79 * Values of nc_flag
82 #define NC_NOFLAG 00
83 #define NC_VISIBLE 01
84 #define NC_BROADCAST 02
87 * Values of nc_protofmly
90 #define NC_NOPROTOFMLY "-"
91 #define NC_LOOPBACK "loopback"
92 #define NC_INET "inet"
93 #define NC_INET6 "inet6"
94 #define NC_IMPLINK "implink"
95 #define NC_PUP "pup"
96 #define NC_CHAOS "chaos"
97 #define NC_NS "ns"
98 #define NC_NBS "nbs"
99 #define NC_ECMA "ecma"
100 #define NC_DATAKIT "datakit"
101 #define NC_CCITT "ccitt"
102 #define NC_SNA "sna"
103 #define NC_DECNET "decnet"
104 #define NC_DLI "dli"
105 #define NC_LAT "lat"
106 #define NC_HYLINK "hylink"
107 #define NC_APPLETALK "appletalk"
108 #define NC_NIT "nit"
109 #define NC_IEEE802 "ieee802"
110 #define NC_OSI "osi"
111 #define NC_X25 "x25"
112 #define NC_OSINET "osinet"
113 #define NC_GOSIP "gosip"
115 * NOT FOR PUBLIC USE, Solaris internal only.
116 * This value of nc_semantics is strictly for use of Remote Direct
117 * Memory Access provider interfaces in Solaris only and not for
118 * general use. Do not use this value for general purpose user or
119 * kernel programming. If used the behavior is undefined.
120 * This is a PRIVATE interface to be used by Solaris kRPC only.
122 #define NC_RDMA "rdma"
125 * Values for nc_proto
128 #define NC_NOPROTO "-"
129 #define NC_TCP "tcp"
130 #define NC_UDP "udp"
131 #define NC_ICMP "icmp"
134 * Values for nc_proto for "rdma" protofmly
136 #define NC_KVIPL "kvipl"
137 #define NC_IBTF "ibtf"
138 #define NC_KDAPL "kdapl"
140 extern void *setnetconfig(void);
141 extern int endnetconfig(void *);
142 extern struct netconfig *getnetconfig(void *);
143 extern struct netconfig *getnetconfigent(const char *);
144 extern void freenetconfigent(struct netconfig *);
145 extern void *setnetpath(void);
146 extern int endnetpath(void *);
147 extern struct netconfig *getnetpath(void *);
148 extern void nc_perror(const char *);
149 extern char *nc_sperror(void);
151 #ifdef __cplusplus
153 #endif
155 #endif /* _SYS_NETCONFIG_H */