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