.\" $NetBSD: netconfig.5,v 1.9 2013/03/15 19:32:31 njoly Exp $
.Dd November 17, 2000
.Dt NETCONFIG 5
.Os
.Sh NAME
.Nm netconfig
.Nd network configuration data base
.Sh SYNOPSIS
.Pa /etc/netconfig
.Sh DESCRIPTION
The
.Nm
file defines a list of
.Dq transport names ,
describing their semantics and protocol.
In
.Nx ,
this file is only used by the RPC library code.
.Pp
Entries have the following format:
.Dl network_id semantics flags family protoname device libraries
.Pp
Entries consist of the following fields:
.Pp
.Bl -tag -width network_id
.It Em network_id
The name of the transport described.
.It Em semantics
Describes the semantics of the transport. This can be one of:
.Bl -tag -width tpi_cots_ord -offset indent
.It Sy tpi_clts
Connectionless transport.
.It Sy tpi_cots
Connection-oriented transport
.It Sy tpi_cots_ord
Connection-oriented, ordered transport.
.It Sy tpi_raw
A raw connection.
.El
.It Em flags
This field is either blank (specified by
.Dq \&- ) ,
or contains a
.Dq v ,
meaning visible to the
.Xr getnetconfig 3
function.
.It Em family
The protocol family of the transport.
This is currently one of:
.Bl -tag -width loopback -offset indent
.It Sy inet6
The IPv6
.Pq Dv PF_INET6
family of protocols.
.It Sy inet
The IPv4
.Pq Dv PF_INET
family of protocols.
.It Sy loopback
The
.Dv PF_LOCAL
protocol family.
.El
.It Em protoname
The name of the protocol used for this transport.
Can currently be either
.Nm udp ,
.Nm tcp ,
or empty.
.It Em device
This field is always empty in
.Nx .
.It Em libraries
This field is always empty in
.Nx .
.El
.Pp
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 config file would
look like this:
.Pp
.Bd -literal -offset indent
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 - - -
.Ed
.Pp
then using the network type
.Nm udp
in calls to the RPC library function (see
.Xr rpc 3 )
will make the code first try
.Nm udp6 ,
and then
.Nm udp .
.Pp
.Xr getnetconfig 3
and associated functions will parse this file and return structures of
the following format:
.Bd -literal
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 */
};
.Ed
.Sh FILES
.Pa /etc/netconfig
.Sh SEE ALSO
.Xr getnetconfig 3 ,
.Xr getnetpath 3