# netconfig(5) - man - phpman

[NETCONFIG(5)](https://www.chedong.com/phpMan.php/man/NETCONFIG/5/markdown)                BSD File Formats Manual               [NETCONFIG(5)](https://www.chedong.com/phpMan.php/man/NETCONFIG/5/markdown)

## NAME
     **netconfig** — network configuration data base

## SYNOPSIS
     _/etc/netconfig_

## DESCRIPTION
     The **netconfig** file defines a list of “transport names”, describing their semantics and proto‐
     col.  In FreeBSD, this file is only used by the RPC library code.

     Entries have the following format:

     _network_id_ _semantics_ _flags_ _family_ _protoname_ _device_ _libraries_

     Entries consist of the following fields:

     _network_id_  The name of the transport described.

     _semantics_   Describes the semantics of the transport.  This can be one of:

                       **tpi**___**clts**      Connectionless transport.

                       **tpi**___**cots**      Connection-oriented transport

                       **tpi**___**cots**___**ord**  Connection-oriented, ordered transport.

                       **tpi**___**raw**       A raw connection.

     _flags_       This field is either blank (specified by “-”), or contains a “v”, meaning visible
                 to the [getnetconfig(3)](https://www.chedong.com/phpMan.php/man/getnetconfig/3/markdown) function.

     _family_      The protocol family of the transport.  This is currently one of:

                       **inet6**     The IPv6 (PF_INET6) family of protocols.

                       **inet**      The IPv4 (PF_INET) family of protocols.

                       **loopback**  The PF_LOCAL protocol family.

     _protoname_   The name of the protocol used for this transport.  Can currently be either **udp**, **tcp**
                 or empty.

     _device_      This field is always empty in FreeBSD.

     _libraries_   This field is always empty in FreeBSD.

     The order of entries in this file will determine which transport will be preferred by the RPC
     library code, given a match on a specified network type.  For example, if a sample network con‐
     fig file would look like this:

           udp6       tpi_clts      v     inet6    udp     -       -
           tcp6       tpi_cots_ord  v     inet6    tcp     -       -
           udp        tpi_clts      v     inet     udp     -       -
           tcp        tpi_cots_ord  v     inet     tcp     -       -
           rawip      tpi_raw       -     inet      -      -       -
           local      tpi_cots_ord  -     loopback  -      -       -

     then using the network type **udp** in calls to the RPC library function (see [rpc(3)](https://www.chedong.com/phpMan.php/man/rpc/3/markdown)) will make the
     code first try **udp6**, and then **udp**.

     [getnetconfig(3)](https://www.chedong.com/phpMan.php/man/getnetconfig/3/markdown) and associated functions will parse this file and return structures of the fol‐
     lowing format:

     struct netconfig {
         char *nc_netid;              /* Network ID */
         unsigned long nc_semantics;  /* Semantics (see below) */
         unsigned long nc_flag;       /* Flags (see below) */
         char *nc_protofmly;          /* Protocol family */
         char *nc_proto;              /* Protocol name */
         char *nc_device;             /* Network device pathname (unused) */
         unsigned long nc_nlookups;   /* Number of lookup libs (unused) */
         char **nc_lookups;           /* Names of the libraries (unused) */
         unsigned long nc_unused[9];  /* reserved */
     };

## FILES
     /etc/netconfig

## SEE ALSO
     [getnetconfig(3)](https://www.chedong.com/phpMan.php/man/getnetconfig/3/markdown), [getnetpath(3)](https://www.chedong.com/phpMan.php/man/getnetpath/3/markdown)

BSD                            November 17, 2000                           BSD
