netconfig(4)netconfig(4)NAMEnetconfig - 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.
Page 1
netconfig(4)netconfig(4)
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
Page 2
netconfig(4)netconfig(4)
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
``\\''.
Page 3
netconfig(4)netconfig(4)
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 ALSOnetdir_getbyname(3N), getnetconfig(3N), getnetpath(3N), icmp(7), ip(7).
Page 4