xref: /dflybsd-src/lib/libc/rpc/netconfig.5 (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino.\" $NetBSD: netconfig.5,v 1.2 2000/11/08 13:18:28 lukem Exp $
286d7f5d3SJohn Marino.\" $FreeBSD: src/lib/libc/rpc/netconfig.5,v 1.3 2006/01/11 13:57:15 ceri Exp $
386d7f5d3SJohn Marino.Dd November 15, 2008
486d7f5d3SJohn Marino.Dt NETCONFIG 5
586d7f5d3SJohn Marino.Os
686d7f5d3SJohn Marino.Sh NAME
786d7f5d3SJohn Marino.Nm netconfig
886d7f5d3SJohn Marino.Nd network configuration data base
986d7f5d3SJohn Marino.Sh SYNOPSIS
1086d7f5d3SJohn Marino.Pa /etc/netconfig
1186d7f5d3SJohn Marino.Sh DESCRIPTION
1286d7f5d3SJohn MarinoThe
1386d7f5d3SJohn Marino.Nm
1486d7f5d3SJohn Marinofile defines a list of
1586d7f5d3SJohn Marino.Dq transport names ,
1686d7f5d3SJohn Marinodescribing their semantics and protocol.
1786d7f5d3SJohn MarinoIn
1886d7f5d3SJohn Marino.Fx ,
1986d7f5d3SJohn Marinothis file is only used by the RPC library code.
2086d7f5d3SJohn Marino.Pp
2186d7f5d3SJohn MarinoEntries have the following format:
2286d7f5d3SJohn Marino.Pp
2386d7f5d3SJohn Marino.Ar network_id semantics flags family protoname device libraries
2486d7f5d3SJohn Marino.Pp
2586d7f5d3SJohn MarinoEntries consist of the following fields:
2686d7f5d3SJohn Marino.Bl -tag -width network_id
2786d7f5d3SJohn Marino.It Ar network_id
2886d7f5d3SJohn MarinoThe name of the transport described.
2986d7f5d3SJohn Marino.It Ar semantics
3086d7f5d3SJohn MarinoDescribes the semantics of the transport.
3186d7f5d3SJohn MarinoThis can be one of:
3286d7f5d3SJohn Marino.Bl -tag -width tpi_cots_ord -offset indent
3386d7f5d3SJohn Marino.It Sy tpi_clts
3486d7f5d3SJohn MarinoConnectionless transport.
3586d7f5d3SJohn Marino.It Sy tpi_cots
3686d7f5d3SJohn MarinoConnection-oriented transport
3786d7f5d3SJohn Marino.It Sy tpi_cots_ord
3886d7f5d3SJohn MarinoConnection-oriented, ordered transport.
3986d7f5d3SJohn Marino.It Sy tpi_raw
4086d7f5d3SJohn MarinoA raw connection.
4186d7f5d3SJohn Marino.El
4286d7f5d3SJohn Marino.It Ar flags
4386d7f5d3SJohn MarinoThis field is either blank (specified by
4486d7f5d3SJohn Marino.Dq Li - ) ,
4586d7f5d3SJohn Marinoor contains one or more of the following characters:
4686d7f5d3SJohn Marino.Bl -tag -width b -offset indent
4786d7f5d3SJohn Marino.It Sy b
4886d7f5d3SJohn MarinoThe network represented by this entry is broadcast capable.
4986d7f5d3SJohn MarinoThis flag is meaningless in
5086d7f5d3SJohn Marino.Fx .
5186d7f5d3SJohn Marino.It Sy v
5286d7f5d3SJohn MarinoThe entry may be returned by the
5386d7f5d3SJohn Marino.Xr getnetpath 3
5486d7f5d3SJohn Marinofunction.
5586d7f5d3SJohn Marino.El
5686d7f5d3SJohn Marino.It Ar family
5786d7f5d3SJohn MarinoThe protocol family of the transport.
5886d7f5d3SJohn MarinoThis is currently one of:
5986d7f5d3SJohn Marino.Bl -tag -width loopback -offset indent
6086d7f5d3SJohn Marino.It Sy inet6
6186d7f5d3SJohn MarinoThe IPv6
6286d7f5d3SJohn Marino.Pq Dv PF_INET6
6386d7f5d3SJohn Marinofamily of protocols.
6486d7f5d3SJohn Marino.It Sy inet
6586d7f5d3SJohn MarinoThe IPv4
6686d7f5d3SJohn Marino.Pq Dv PF_INET
6786d7f5d3SJohn Marinofamily of protocols.
6886d7f5d3SJohn Marino.It Sy loopback
6986d7f5d3SJohn MarinoThe
7086d7f5d3SJohn Marino.Dv PF_LOCAL
7186d7f5d3SJohn Marinoprotocol family.
7286d7f5d3SJohn Marino.El
7386d7f5d3SJohn Marino.It Ar protoname
7486d7f5d3SJohn MarinoThe name of the protocol used for this transport.
7586d7f5d3SJohn MarinoCan currently be either
7686d7f5d3SJohn Marino.Sy udp ,
7786d7f5d3SJohn Marino.Sy tcp
7886d7f5d3SJohn Marinoor empty.
7986d7f5d3SJohn Marino.It Ar device
8086d7f5d3SJohn MarinoThis field is always empty in
8186d7f5d3SJohn Marino.Fx .
8286d7f5d3SJohn Marino.It Ar libraries
8386d7f5d3SJohn MarinoThis field is always empty in
8486d7f5d3SJohn Marino.Fx .
8586d7f5d3SJohn Marino.El
8686d7f5d3SJohn Marino.Pp
8786d7f5d3SJohn MarinoThe order of entries in this file will determine which transport will
8886d7f5d3SJohn Marinobe preferred by the RPC library code, given a match on a specified
8986d7f5d3SJohn Marinonetwork type.
9086d7f5d3SJohn MarinoFor example, if a sample network config file would look like this:
9186d7f5d3SJohn Marino.Bd -literal -offset indent
9286d7f5d3SJohn Marinoudp6       tpi_clts      v     inet6    udp     -       -
9386d7f5d3SJohn Marinotcp6       tpi_cots_ord  v     inet6    tcp     -       -
9486d7f5d3SJohn Marinoudp        tpi_clts      v     inet     udp     -       -
9586d7f5d3SJohn Marinotcp        tpi_cots_ord  v     inet     tcp     -       -
9686d7f5d3SJohn Marinorawip      tpi_raw       -     inet      -      -       -
9786d7f5d3SJohn Marinolocal      tpi_cots_ord  -     loopback  -      -       -
9886d7f5d3SJohn Marino.Ed
9986d7f5d3SJohn Marino.Pp
10086d7f5d3SJohn Marinothen using the network type
10186d7f5d3SJohn Marino.Sy udp
10286d7f5d3SJohn Marinoin calls to the RPC library function (see
10386d7f5d3SJohn Marino.Xr rpc 3 )
10486d7f5d3SJohn Marinowill make the code first try
10586d7f5d3SJohn Marino.Sy udp6 ,
10686d7f5d3SJohn Marinoand then
10786d7f5d3SJohn Marino.Sy udp .
10886d7f5d3SJohn Marino.Pp
10986d7f5d3SJohn Marino.Xr getnetconfig 3
11086d7f5d3SJohn Marinoand associated functions will parse this file and return structures of
11186d7f5d3SJohn Marinothe following format:
11286d7f5d3SJohn Marino.Bd -literal
11386d7f5d3SJohn Marinostruct netconfig {
11486d7f5d3SJohn Marino    char *nc_netid;              /* Network ID */
11586d7f5d3SJohn Marino    unsigned long nc_semantics;  /* Semantics */
11686d7f5d3SJohn Marino    unsigned long nc_flag;       /* Flags */
11786d7f5d3SJohn Marino    char *nc_protofmly;          /* Protocol family */
11886d7f5d3SJohn Marino    char *nc_proto;              /* Protocol name */
11986d7f5d3SJohn Marino    char *nc_device;             /* Network device pathname (unused) */
12086d7f5d3SJohn Marino    unsigned long nc_nlookups;   /* Number of lookup libs (unused) */
12186d7f5d3SJohn Marino    char **nc_lookups;           /* Names of the libraries (unused) */
12286d7f5d3SJohn Marino    unsigned long nc_unused[9];  /* reserved */
12386d7f5d3SJohn Marino};
12486d7f5d3SJohn Marino.Ed
12586d7f5d3SJohn Marino.Sh FILES
12686d7f5d3SJohn Marino.Bl -tag -width /etc/netconfig -compact
12786d7f5d3SJohn Marino.It Pa /etc/netconfig
12886d7f5d3SJohn Marino.El
12986d7f5d3SJohn Marino.Sh SEE ALSO
13086d7f5d3SJohn Marino.Xr getnetconfig 3 ,
13186d7f5d3SJohn Marino.Xr getnetpath 3
132