netconfig(4) netconfig(4) NAME netconfig - network configuration database SYNOPSIS #include <netconfig.h> DESCRIPTION The network configuration database, /etc/netconfig, is a system file used to store information about networks connected to the system and available for use. The netconfig database and the routines that access it [see getnetconfig(3N)] are part of the Network Selection component. The Network Selection component also includes the environment variable NETPATH and a group of routines that access the netconfig database using NETPATH components as links to the netconfig entries. NETPATH is described in environ(5); the NETPATH access routines are discussed in getnetpath(3N). netconfig contains an entry for each network available on the system. Entries are separated by newlines. Fields are separated by whitespace and occur in the order in which they are described below. Whitespace can be embedded as ``\blank'' or ``\tab''. Backslashes may be embedded as ``\\''. Lines that begin with a sharp sign (#) in column 1 are treated as comments. Each of the valid lines in the netconfig database correspond to an available transport. Each entry is of the form: network ID semantics flag protocol-family protocol-name \ network-device translation-libraries network ID A string used to uniquely identify a network. network ID consists of non-null characters, and has a length of at least 1. No maximum length is specified. This namespace is locally significant and the local system administrator is the naming authority. All network IDs on a system must be unique. semantics The semantics field is a string identifying the ``semantics'' of the network, i.e., the set of services it supports, by identifying the service interface it provides. The semantics field is mandatory. The following semantics are recognized. tpi_clts Transport Provider Interface, connectionless tpi_cots Transport Provider Interface, connection oriented tpi_cots_ord Transport Provider Interface, connection oriented, supports orderly release. tpi_raw Transport Provider Interface, raw flag The flag field records certain two-valued (``true'' and ``false'') attributes of networks. flag is a string composed of a combination of characters, each of which indicates the value of the corresponding attribute. If the character is present, the attribute is ``true.'' If the character is absent, the attribute is ``false.'' ``-'' indicates that none of the attributes is present. The following characters are currently recognized: b Broadcast-capable network. s Visible (``default'') network for socket based RPC applications. This flag serves the same purpose as v flag for TLI applications, i.e. the networks marked with this flag are supported for socket based transport independent RPC application. v Visible (``default'') network for TLI based applications. This flag is used to make the protocol-independent network selection. If NETPATH environment variable is empty or not set, only ``default'' networks will be returned to the iterations started with setnetpath. If NETPATH is set, all the matching networks will be returned regardless of the visibility flag. Note that a network can have both s and v flags set, i.e. it can be visible for both TLI and socket based applications at the same time. protocol family The protocol family and protocol name fields are provided for protocol-specific applications. The protocol family field contains a string that identifies a protocol family. The protocol family identifier follows the same rules as those for network IDs, that is, the string consists of non-null characters; it has a length of at least 1; and there is no maximum length specified. A ``-'' in the protocol family field indicates that no protocol family identifier applies, that is, the network is experimental. The following are examples (not all are supported in IRIX): loopback Loopback (local to host). inet Internetwork: UDP, TCP, etc. inet6 Internetwork over IPv6: UDP, TCP, etc. implink ARPANET imp addresses pup PUP protocols: e.g. BSP chaos MIT CHAOS protocols ns XEROX NS protocols nbs NBS protocols ecma European Computer Manufacturers Association datakit DATAKIT protocols ccitt CCITT protocols, X.25, etc. sna IBM SNA decnet DECNET dli Direct data link interface lat LAT hylink NSC Hyperchannel appletalk Apple Talk nit Network Interface Tap ieee802 IEEE 802.2; also ISO 8802 osi Umbrella for all families used by OSI (e.g., protosw lookup) x25 CCITT X.25 in particular osinet AFI = 47, IDI = 4 gosip U.S. Government OSI protocol name The protocol name field contains a string that identifies a protocol. The protocol name identifier follows the same rules as those for network IDs, that is, the string consists of non-NULL characters; it has a length of at least 1; and there is no maximum length specified. The following protocol names are recognized. A ``-'' indicates that none of the names listed applies. tcp Transmission Control Protocol udp User Datagram Protocol icmp Internet Control Message Protocol network device The network device is the full pathname of the device used to connect to the transport provider. Typically, this device will be in the /dev directory. The network device must be specified. directory lookup libraries The directory lookup libraries support a ``directory service'' (a name-to-address mapping service) for the network. This service is implemented by the UNIX System V Name-to-Address Mapping feature. If a network is not provided with such a library, the netdir feature will not work. A ``-'' in this field indicates the absence of any lookup libraries, in which case name-to-address mapping for the network is non-functional. The directory lookup library field consists of a comma-separated list of full pathnames to dynamically linked libraries. Commas may be embedded as ``\,''; backslashs as ``\\''. Each field corresponds to an element in the struct netconfig structure. struct netconfig and the identifiers described on this manual page are defined in <netconfig.h>. This structure includes the following members: char * nc_netid Network ID, including NULL terminator unsigned long nc_semantics Semantics unsigned long nc_flag Flags char * nc_protofmly Protocol family char * nc_proto Protocol name char * nc_device Full pathname of the network device unsigned long nc_nlookups Number of directory lookup libraries char ** nc_lookups Full pathnames of the directory lookup libraries themselves unsigned long nc_unused[9] Reserved for future expansion (not advertised to user level) The nc_semantics field takes the following values, corresponding to the semantics identified above: NC_TPI_CLTS NC_TPI_COTS NC_TPI_COTS_ORD NC_TPI_RAW The nc_flag field is a bitfield. The following bits, corresponding to the attributes identified above, are currently recognized. NC_NOFLAG indicates the absence of any attributes. NC_VISIBLE NC_BROADCAST FILES /etc/netconfig <netconfig.h> SEE ALSO netdir_getbyname(3N), getnetconfig(3N), getnetpath(3N), icmp(7), ip(7). Page 4