xref: /dflybsd-src/lib/libc/rpc/getnetconfig.3 (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino.\" @(#)getnetconfig.3n 1.28 93/06/02 SMI; from SVr4
286d7f5d3SJohn Marino.\" $NetBSD: getnetconfig.3,v 1.1 2000/06/02 23:11:11 fvdl Exp $
386d7f5d3SJohn Marino.\" $FreeBSD: src/lib/libc/rpc/getnetconfig.3,v 1.4 2002/12/19 09:40:23 ru Exp $
486d7f5d3SJohn Marino.\" Copyright 1989 AT&T
586d7f5d3SJohn Marino.Dd November 15, 2008
686d7f5d3SJohn Marino.Dt GETNETCONFIG 3
786d7f5d3SJohn Marino.Os
886d7f5d3SJohn Marino.Sh NAME
986d7f5d3SJohn Marino.Nm getnetconfig ,
1086d7f5d3SJohn Marino.Nm setnetconfig ,
1186d7f5d3SJohn Marino.Nm endnetconfig ,
1286d7f5d3SJohn Marino.Nm getnetconfigent ,
1386d7f5d3SJohn Marino.Nm freenetconfigent ,
1486d7f5d3SJohn Marino.Nm nc_perror ,
1586d7f5d3SJohn Marino.Nm nc_sperror
1686d7f5d3SJohn Marino.Nd get network configuration database entry
1786d7f5d3SJohn Marino.Sh LIBRARY
1886d7f5d3SJohn Marino.Lb libc
1986d7f5d3SJohn Marino.Sh SYNOPSIS
2086d7f5d3SJohn Marino.In netconfig.h
2186d7f5d3SJohn Marino.Ft "struct netconfig *"
2286d7f5d3SJohn Marino.Fn getnetconfig "void *handlep"
2386d7f5d3SJohn Marino.Ft "void *"
2486d7f5d3SJohn Marino.Fn setnetconfig "void"
2586d7f5d3SJohn Marino.Ft int
2686d7f5d3SJohn Marino.Fn endnetconfig "void *handlep"
2786d7f5d3SJohn Marino.Ft "struct netconfig *"
2886d7f5d3SJohn Marino.Fn getnetconfigent "const char *netid"
2986d7f5d3SJohn Marino.Ft void
3086d7f5d3SJohn Marino.Fn freenetconfigent "struct netconfig *netconfigp"
3186d7f5d3SJohn Marino.Ft void
3286d7f5d3SJohn Marino.Fn nc_perror "const char *msg"
3386d7f5d3SJohn Marino.Ft "char *"
3486d7f5d3SJohn Marino.Fn nc_sperror "void"
3586d7f5d3SJohn Marino.Sh DESCRIPTION
3686d7f5d3SJohn MarinoThe library routines described on this page
3786d7f5d3SJohn Marinoprovide the application access to
3886d7f5d3SJohn Marinothe system network configuration database,
3986d7f5d3SJohn Marino.Pa /etc/netconfig .
4086d7f5d3SJohn MarinoThe
4186d7f5d3SJohn Marino.Fn getnetconfig
4286d7f5d3SJohn Marinofunction
4386d7f5d3SJohn Marinoreturns a pointer to the
4486d7f5d3SJohn Marinocurrent entry in the
4586d7f5d3SJohn Marinonetconfig
4686d7f5d3SJohn Marinodatabase, formatted as a
4786d7f5d3SJohn Marino.Ft "struct netconfig" .
4886d7f5d3SJohn MarinoSuccessive calls will return successive netconfig
4986d7f5d3SJohn Marinoentries in the netconfig database.
5086d7f5d3SJohn MarinoThe
5186d7f5d3SJohn Marino.Fn getnetconfig
5286d7f5d3SJohn Marinofunction
5386d7f5d3SJohn Marinocan be used to search the entire netconfig
5486d7f5d3SJohn Marinofile.
5586d7f5d3SJohn MarinoThe
5686d7f5d3SJohn Marino.Fn getnetconfig
5786d7f5d3SJohn Marinofunction
5886d7f5d3SJohn Marinoreturns
5986d7f5d3SJohn Marino.Dv NULL
6086d7f5d3SJohn Marinoat the end of the file.
6186d7f5d3SJohn MarinoThe
6286d7f5d3SJohn Marino.Fa handlep
6386d7f5d3SJohn Marinoargument
6486d7f5d3SJohn Marinois the handle obtained through
6586d7f5d3SJohn Marino.Fn setnetconfig .
6686d7f5d3SJohn Marino.Pp
6786d7f5d3SJohn MarinoA call to
6886d7f5d3SJohn Marino.Fn setnetconfig
6986d7f5d3SJohn Marinohas the effect of
7086d7f5d3SJohn Marino.Dq binding
7186d7f5d3SJohn Marinoto or
7286d7f5d3SJohn Marino.Dq rewinding
7386d7f5d3SJohn Marinothe netconfig database.
7486d7f5d3SJohn MarinoThe
7586d7f5d3SJohn Marino.Fn setnetconfig
7686d7f5d3SJohn Marinofunction
7786d7f5d3SJohn Marinomust be called before the first call to
7886d7f5d3SJohn Marino.Fn getnetconfig
7986d7f5d3SJohn Marinoand may be called at any other time.
8086d7f5d3SJohn MarinoThe
8186d7f5d3SJohn Marino.Fn setnetconfig
8286d7f5d3SJohn Marinofunction
8386d7f5d3SJohn Marinoneed not be called before a call to
8486d7f5d3SJohn Marino.Fn getnetconfigent .
8586d7f5d3SJohn MarinoThe
8686d7f5d3SJohn Marino.Fn setnetconfig
8786d7f5d3SJohn Marinofunction
8886d7f5d3SJohn Marinoreturns a unique handle to be used by
8986d7f5d3SJohn Marino.Fn getnetconfig .
9086d7f5d3SJohn Marino.Pp
9186d7f5d3SJohn MarinoThe
9286d7f5d3SJohn Marino.Fn endnetconfig
9386d7f5d3SJohn Marinofunction
9486d7f5d3SJohn Marinoshould be called when processing is complete to release resources for reuse.
9586d7f5d3SJohn MarinoThe
9686d7f5d3SJohn Marino.Fa handlep
9786d7f5d3SJohn Marinoargument
9886d7f5d3SJohn Marinois the handle obtained through
9986d7f5d3SJohn Marino.Fn setnetconfig .
10086d7f5d3SJohn MarinoProgrammers should be aware, however, that the last call to
10186d7f5d3SJohn Marino.Fn endnetconfig
10286d7f5d3SJohn Marinofrees all memory allocated by
10386d7f5d3SJohn Marino.Fn getnetconfig
10486d7f5d3SJohn Marinofor the
10586d7f5d3SJohn Marino.Ft "struct netconfig"
10686d7f5d3SJohn Marinodata structure.
10786d7f5d3SJohn MarinoThe
10886d7f5d3SJohn Marino.Fn endnetconfig
10986d7f5d3SJohn Marinofunction
11086d7f5d3SJohn Marinomay not be called before
11186d7f5d3SJohn Marino.Fn setnetconfig .
11286d7f5d3SJohn Marino.Pp
11386d7f5d3SJohn MarinoThe
11486d7f5d3SJohn Marino.Fn getnetconfigent
11586d7f5d3SJohn Marinofunction
11686d7f5d3SJohn Marinoreturns a pointer
11786d7f5d3SJohn Marinoto the netconfig structure corresponding
11886d7f5d3SJohn Marinoto
11986d7f5d3SJohn Marino.Fa netid .
12086d7f5d3SJohn MarinoIt returns
12186d7f5d3SJohn Marino.Dv NULL
12286d7f5d3SJohn Marinoif
12386d7f5d3SJohn Marino.Fa netid
12486d7f5d3SJohn Marinois invalid
12586d7f5d3SJohn Marino(that is, does not name an entry in the netconfig database).
12686d7f5d3SJohn Marino.Pp
12786d7f5d3SJohn MarinoThe
12886d7f5d3SJohn Marino.Fn freenetconfigent
12986d7f5d3SJohn Marinofunction
13086d7f5d3SJohn Marinofrees the netconfig structure pointed to by
13186d7f5d3SJohn Marino.Fa netconfigp
13286d7f5d3SJohn Marino(previously returned by
13386d7f5d3SJohn Marino.Fn getnetconfigent ) .
13486d7f5d3SJohn Marino.Pp
13586d7f5d3SJohn MarinoThe
13686d7f5d3SJohn Marino.Fn nc_perror
13786d7f5d3SJohn Marinofunction
13886d7f5d3SJohn Marinoprints a message to the standard error indicating why any of the
13986d7f5d3SJohn Marinoabove routines failed.
14086d7f5d3SJohn MarinoThe message is prepended with the string
14186d7f5d3SJohn Marino.Fa msg
14286d7f5d3SJohn Marinoand a colon.
14386d7f5d3SJohn MarinoA newline character is appended at the end of the message.
14486d7f5d3SJohn Marino.Pp
14586d7f5d3SJohn MarinoThe
14686d7f5d3SJohn Marino.Fn nc_sperror
14786d7f5d3SJohn Marinofunction
14886d7f5d3SJohn Marinois similar to
14986d7f5d3SJohn Marino.Fn nc_perror
15086d7f5d3SJohn Marinobut instead of sending the message
15186d7f5d3SJohn Marinoto the standard error, will return a pointer to a string that
15286d7f5d3SJohn Marinocontains the error message.
15386d7f5d3SJohn Marino.Pp
15486d7f5d3SJohn MarinoThe
15586d7f5d3SJohn Marino.Fn nc_perror
15686d7f5d3SJohn Marinoand
15786d7f5d3SJohn Marino.Fn nc_sperror
15886d7f5d3SJohn Marinofunctions
15986d7f5d3SJohn Marinocan also be used with the
16086d7f5d3SJohn Marino.Ev NETPATH
16186d7f5d3SJohn Marinoaccess routines defined in
16286d7f5d3SJohn Marino.Xr getnetpath 3 .
16386d7f5d3SJohn Marino.Sh RETURN VALUES
16486d7f5d3SJohn MarinoThe
16586d7f5d3SJohn Marino.Fn setnetconfig
16686d7f5d3SJohn Marinofunction
16786d7f5d3SJohn Marinoreturns a unique handle to be used by
16886d7f5d3SJohn Marino.Fn getnetconfig .
16986d7f5d3SJohn MarinoIn the case of an error,
17086d7f5d3SJohn Marino.Fn setnetconfig
17186d7f5d3SJohn Marinoreturns
17286d7f5d3SJohn Marino.Dv NULL
17386d7f5d3SJohn Marinoand
17486d7f5d3SJohn Marino.Fn nc_perror
17586d7f5d3SJohn Marinoor
17686d7f5d3SJohn Marino.Fn nc_sperror
17786d7f5d3SJohn Marinocan be used to print the reason for failure.
17886d7f5d3SJohn Marino.Pp
17986d7f5d3SJohn MarinoThe
18086d7f5d3SJohn Marino.Fn getnetconfig
18186d7f5d3SJohn Marinofunction
18286d7f5d3SJohn Marinoreturns a pointer to the current entry in the netconfig
18386d7f5d3SJohn Marinodatabase, formatted as a
18486d7f5d3SJohn Marino.Ft "struct netconfig" .
18586d7f5d3SJohn MarinoThe
18686d7f5d3SJohn Marino.Fn getnetconfig
18786d7f5d3SJohn Marinofunction
18886d7f5d3SJohn Marinoreturns
18986d7f5d3SJohn Marino.Dv NULL
19086d7f5d3SJohn Marinoat the end of the file, or upon failure.
19186d7f5d3SJohn Marino.Pp
19286d7f5d3SJohn MarinoThe
19386d7f5d3SJohn Marino.Fn endnetconfig
19486d7f5d3SJohn Marinofunction
19586d7f5d3SJohn Marinoreturns 0 on success and \-1 on failure
19686d7f5d3SJohn Marino(for example, if
19786d7f5d3SJohn Marino.Fn setnetconfig
19886d7f5d3SJohn Marinowas not called previously).
19986d7f5d3SJohn Marino.Pp
20086d7f5d3SJohn MarinoOn success,
20186d7f5d3SJohn Marino.Fn getnetconfigent
20286d7f5d3SJohn Marinoreturns a pointer to the
20386d7f5d3SJohn Marino.Ft "struct netconfig"
20486d7f5d3SJohn Marinostructure corresponding to
20586d7f5d3SJohn Marino.Fa netid ;
20686d7f5d3SJohn Marinootherwise it returns
20786d7f5d3SJohn Marino.Dv NULL .
20886d7f5d3SJohn Marino.Pp
20986d7f5d3SJohn MarinoThe
21086d7f5d3SJohn Marino.Fn nc_sperror
21186d7f5d3SJohn Marinofunction
21286d7f5d3SJohn Marinoreturns a pointer to a buffer which contains the error message string.
21386d7f5d3SJohn MarinoThis buffer is overwritten on each call.
21486d7f5d3SJohn MarinoIn multithreaded applications, this buffer is
21586d7f5d3SJohn Marinoimplemented as thread-specific data.
21686d7f5d3SJohn Marino.Sh FILES
21786d7f5d3SJohn Marino.Bl -tag -width /etc/netconfig -compact
21886d7f5d3SJohn Marino.It Pa /etc/netconfig
21986d7f5d3SJohn Marino.El
22086d7f5d3SJohn Marino.Sh SEE ALSO
22186d7f5d3SJohn Marino.Xr getnetpath 3 ,
22286d7f5d3SJohn Marino.Xr netconfig 5
223