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