xref: /dflybsd-src/lib/libc/rpc/getnetpath.3 (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino.\" @(#)getnetpath.3n 1.26 93/05/07 SMI; from SVr4
286d7f5d3SJohn Marino.\" $NetBSD: getnetpath.3,v 1.1 2000/06/02 23:11:11 fvdl Exp $
386d7f5d3SJohn Marino.\" $FreeBSD: src/lib/libc/rpc/getnetpath.3,v 1.5 2002/12/18 12:45:10 ru Exp $
486d7f5d3SJohn Marino.\" Copyright 1989 AT&T
586d7f5d3SJohn Marino.Dd November 15, 2008
686d7f5d3SJohn Marino.Dt GETNETPATH 3
786d7f5d3SJohn Marino.Os
886d7f5d3SJohn Marino.Sh NAME
986d7f5d3SJohn Marino.Nm getnetpath ,
1086d7f5d3SJohn Marino.Nm setnetpath ,
1186d7f5d3SJohn Marino.Nm endnetpath
1286d7f5d3SJohn Marino.Nd get
1386d7f5d3SJohn Marino.Pa /etc/netconfig
1486d7f5d3SJohn Marinoentry corresponding to
1586d7f5d3SJohn Marino.Ev NETPATH
1686d7f5d3SJohn Marinocomponent
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 getnetpath "void *handlep"
2386d7f5d3SJohn Marino.Ft "void *"
2486d7f5d3SJohn Marino.Fn setnetpath "void"
2586d7f5d3SJohn Marino.Ft int
2686d7f5d3SJohn Marino.Fn endnetpath "void *handlep"
2786d7f5d3SJohn Marino.Sh DESCRIPTION
2886d7f5d3SJohn MarinoThe routines described in this page provide the application access to the system
2986d7f5d3SJohn Marinonetwork configuration database,
3086d7f5d3SJohn Marino.Pa /etc/netconfig ,
3186d7f5d3SJohn Marinoas it is
3286d7f5d3SJohn Marino.Dq filtered
3386d7f5d3SJohn Marinoby the
3486d7f5d3SJohn Marino.Ev NETPATH
3586d7f5d3SJohn Marinoenvironment variable (see
3686d7f5d3SJohn Marino.Xr environ 7 ) .
3786d7f5d3SJohn MarinoSee
3886d7f5d3SJohn Marino.Xr getnetconfig 3
3986d7f5d3SJohn Marinofor other routines that also access the
4086d7f5d3SJohn Marinonetwork configuration database directly.
4186d7f5d3SJohn MarinoThe
4286d7f5d3SJohn Marino.Ev NETPATH
4386d7f5d3SJohn Marinovariable is a list of colon-separated network identifiers.
4486d7f5d3SJohn Marino.Pp
4586d7f5d3SJohn MarinoThe
4686d7f5d3SJohn Marino.Fn getnetpath
4786d7f5d3SJohn Marinofunction
4886d7f5d3SJohn Marinoreturns a pointer to the
4986d7f5d3SJohn Marinonetconfig database entry corresponding to the first valid
5086d7f5d3SJohn Marino.Ev NETPATH
5186d7f5d3SJohn Marinocomponent.
5286d7f5d3SJohn MarinoThe netconfig entry is formatted as a
5386d7f5d3SJohn Marino.Ft "struct netconfig" .
5486d7f5d3SJohn MarinoOn each subsequent call,
5586d7f5d3SJohn Marino.Fn getnetpath
5686d7f5d3SJohn Marinoreturns a pointer to the netconfig entry that corresponds to the next
5786d7f5d3SJohn Marinovalid
5886d7f5d3SJohn Marino.Ev NETPATH
5986d7f5d3SJohn Marinocomponent.
6086d7f5d3SJohn MarinoThe
6186d7f5d3SJohn Marino.Fn getnetpath
6286d7f5d3SJohn Marinofunction
6386d7f5d3SJohn Marinocan thus be used to search the netconfig database for all networks
6486d7f5d3SJohn Marinoincluded in the
6586d7f5d3SJohn Marino.Ev NETPATH
6686d7f5d3SJohn Marinovariable.
6786d7f5d3SJohn MarinoWhen
6886d7f5d3SJohn Marino.Ev NETPATH
6986d7f5d3SJohn Marinohas been exhausted,
7086d7f5d3SJohn Marino.Fn getnetpath
7186d7f5d3SJohn Marinoreturns
7286d7f5d3SJohn Marino.Dv NULL .
7386d7f5d3SJohn Marino.Pp
7486d7f5d3SJohn MarinoA call to
7586d7f5d3SJohn Marino.Fn setnetpath
7686d7f5d3SJohn Marino.Dq binds
7786d7f5d3SJohn Marinoto or
7886d7f5d3SJohn Marino.Dq rewinds
7986d7f5d3SJohn Marino.Ev NETPATH .
8086d7f5d3SJohn MarinoThe
8186d7f5d3SJohn Marino.Fn setnetpath
8286d7f5d3SJohn Marinofunction
8386d7f5d3SJohn Marinomust be called before the first call to
8486d7f5d3SJohn Marino.Fn getnetpath
8586d7f5d3SJohn Marinoand may be called at any other time.
8686d7f5d3SJohn MarinoIt returns a handle that is used by
8786d7f5d3SJohn Marino.Fn getnetpath .
8886d7f5d3SJohn Marino.Pp
8986d7f5d3SJohn MarinoThe
9086d7f5d3SJohn Marino.Fn getnetpath
9186d7f5d3SJohn Marinofunction
9286d7f5d3SJohn Marinosilently ignores invalid
9386d7f5d3SJohn Marino.Ev NETPATH
9486d7f5d3SJohn Marinocomponents.
9586d7f5d3SJohn MarinoA
9686d7f5d3SJohn Marino.Ev NETPATH
9786d7f5d3SJohn Marinocomponent is invalid if there is no corresponding
9886d7f5d3SJohn Marinoentry in the netconfig database.
9986d7f5d3SJohn Marino.Pp
10086d7f5d3SJohn MarinoIf the
10186d7f5d3SJohn Marino.Ev NETPATH
10286d7f5d3SJohn Marinovariable is unset,
10386d7f5d3SJohn Marino.Fn getnetpath
10486d7f5d3SJohn Marinobehaves as if
10586d7f5d3SJohn Marino.Ev NETPATH
10686d7f5d3SJohn Marinowere set to the sequence of
10786d7f5d3SJohn Marino.Dq default
10886d7f5d3SJohn Marinoor
10986d7f5d3SJohn Marino.Dq visible
11086d7f5d3SJohn Marinonetworks in the netconfig database, in the
11186d7f5d3SJohn Marinoorder in which they are listed.
11286d7f5d3SJohn Marino.\"This proviso holds also for this
11386d7f5d3SJohn Marino.\"whole manpage.
11486d7f5d3SJohn Marino.Pp
11586d7f5d3SJohn MarinoThe
11686d7f5d3SJohn Marino.Fn endnetpath
11786d7f5d3SJohn Marinofunction
11886d7f5d3SJohn Marinomay be called to
11986d7f5d3SJohn Marino.Dq unbind
12086d7f5d3SJohn Marinofrom
12186d7f5d3SJohn Marino.Ev NETPATH
12286d7f5d3SJohn Marinowhen processing is complete, releasing resources for reuse.
12386d7f5d3SJohn MarinoProgrammers should be aware, however, that
12486d7f5d3SJohn Marino.Fn endnetpath
12586d7f5d3SJohn Marinofrees all memory allocated by
12686d7f5d3SJohn Marino.Fn getnetpath
12786d7f5d3SJohn Marinofor the struct netconfig data structure.
12886d7f5d3SJohn Marino.Sh RETURN VALUES
12986d7f5d3SJohn MarinoThe
13086d7f5d3SJohn Marino.Fn setnetpath
13186d7f5d3SJohn Marinofunction
13286d7f5d3SJohn Marinoreturns a handle that is used by
13386d7f5d3SJohn Marino.Fn getnetpath .
13486d7f5d3SJohn MarinoIn case of an error,
13586d7f5d3SJohn Marino.Fn setnetpath
13686d7f5d3SJohn Marinoreturns
13786d7f5d3SJohn Marino.Dv NULL .
13886d7f5d3SJohn Marino.Pp
13986d7f5d3SJohn MarinoThe
14086d7f5d3SJohn Marino.Fn endnetpath
14186d7f5d3SJohn Marinofunction
14286d7f5d3SJohn Marinoreturns 0 on success and \-1 on failure
14386d7f5d3SJohn Marino(for example, if
14486d7f5d3SJohn Marino.Fn setnetpath
14586d7f5d3SJohn Marinowas not called previously).
14686d7f5d3SJohn MarinoThe
14786d7f5d3SJohn Marino.Fn nc_perror
14886d7f5d3SJohn Marinoor
14986d7f5d3SJohn Marino.Fn nc_sperror
15086d7f5d3SJohn Marinofunction
15186d7f5d3SJohn Marinocan be used to print out the reason for failure.
15286d7f5d3SJohn MarinoSee
15386d7f5d3SJohn Marino.Xr getnetconfig 3 .
15486d7f5d3SJohn Marino.Pp
15586d7f5d3SJohn MarinoWhen first called,
15686d7f5d3SJohn Marino.Fn getnetpath
15786d7f5d3SJohn Marinoreturns a pointer to the netconfig database entry corresponding to the first
15886d7f5d3SJohn Marinovalid
15986d7f5d3SJohn Marino.Ev NETPATH
16086d7f5d3SJohn Marinocomponent.
16186d7f5d3SJohn MarinoWhen
16286d7f5d3SJohn Marino.Ev NETPATH
16386d7f5d3SJohn Marinohas been exhausted,
16486d7f5d3SJohn Marino.Fn getnetpath
16586d7f5d3SJohn Marinoreturns
16686d7f5d3SJohn Marino.Dv NULL .
16786d7f5d3SJohn Marino.Sh SEE ALSO
16886d7f5d3SJohn Marino.Xr getnetconfig 3 ,
16986d7f5d3SJohn Marino.Xr netconfig 5 ,
17086d7f5d3SJohn Marino.Xr environ 7
171