xref: /freebsd/lib/libc/rpc/getnetpath.3 (revision b23e7b410b5d951c2e3e223f569db7b2f12b1ef5)
18360efbdSAlfred Perlstein.\" @(#)getnetpath.3n 1.26 93/05/07 SMI; from SVr4
28360efbdSAlfred Perlstein.\" $NetBSD: getnetpath.3,v 1.1 2000/06/02 23:11:11 fvdl Exp $
38360efbdSAlfred Perlstein.\" $FreeBSD$
48360efbdSAlfred Perlstein.\" Copyright 1989 AT&T
58360efbdSAlfred Perlstein.Dd April 22, 2000
68360efbdSAlfred Perlstein.Dt GETNETPATH 3
78360efbdSAlfred Perlstein.Os
88360efbdSAlfred Perlstein.Sh NAME
98360efbdSAlfred Perlstein.Nm getnetpath ,
108360efbdSAlfred Perlstein.Nm setnetpath ,
118360efbdSAlfred Perlstein.Nm endnetpath
128360efbdSAlfred Perlstein.Nd get
138360efbdSAlfred Perlstein.Pa /etc/netconfig
148360efbdSAlfred Perlsteinentry corresponding to
158360efbdSAlfred Perlstein.Ev NETPATH
168360efbdSAlfred Perlsteincomponent
178360efbdSAlfred Perlstein.Sh LIBRARY
188360efbdSAlfred Perlstein.Lb libc
198360efbdSAlfred Perlstein.Sh SYNOPSIS
208360efbdSAlfred Perlstein.Fd #include <netconfig.h>
218360efbdSAlfred Perlstein.Ft "struct netconfig *"
228360efbdSAlfred Perlstein.Fn getnetpath "void *handlep"
238360efbdSAlfred Perlstein.Ft "void *"
248360efbdSAlfred Perlstein.Fn setnetpath "void"
258360efbdSAlfred Perlstein.Ft int
268360efbdSAlfred Perlstein.Fn endnetpath "void *handlep"
278360efbdSAlfred Perlstein.Sh DESCRIPTION
288360efbdSAlfred PerlsteinThe routines described in this page provide the application access to the system
298360efbdSAlfred Perlsteinnetwork configuration database,
308360efbdSAlfred Perlstein.Pa /etc/netconfig ,
318360efbdSAlfred Perlsteinas it is
328360efbdSAlfred Perlstein.Dq filtered
338360efbdSAlfred Perlsteinby the
348360efbdSAlfred Perlstein.Ev NETPATH
358360efbdSAlfred Perlsteinenvironment variable (see
3676c68649SMaxim Sobolev.Xr environ 7 ) .
378360efbdSAlfred PerlsteinSee
388360efbdSAlfred Perlstein.Xr getnetconfig 3
398360efbdSAlfred Perlsteinfor other routines that also access the
408360efbdSAlfred Perlsteinnetwork configuration database directly.
418360efbdSAlfred PerlsteinThe
428360efbdSAlfred Perlstein.Ev NETPATH
438360efbdSAlfred Perlsteinvariable is a list of colon-separated network identifiers.
448360efbdSAlfred Perlstein.Pp
458360efbdSAlfred Perlstein.Fn getnetpath
468360efbdSAlfred Perlsteinreturns a pointer to the
478360efbdSAlfred Perlsteinnetconfig database entry corresponding to the first valid
488360efbdSAlfred Perlstein.Ev NETPATH
498360efbdSAlfred Perlsteincomponent.
508360efbdSAlfred PerlsteinThe netconfig entry is formatted as a
518360efbdSAlfred Perlstein.Ft "struct netconfig" .
528360efbdSAlfred PerlsteinOn each subsequent call,
538360efbdSAlfred Perlstein.Fn getnetpath
548360efbdSAlfred Perlsteinreturns a pointer to the netconfig entry that corresponds to the next
558360efbdSAlfred Perlsteinvalid
568360efbdSAlfred Perlstein.Ev NETPATH
578360efbdSAlfred Perlsteincomponent.
588360efbdSAlfred Perlstein.Fn getnetpath
598360efbdSAlfred Perlsteincan thus be used to search the netconfig database for all networks
608360efbdSAlfred Perlsteinincluded in the
618360efbdSAlfred Perlstein.Ev NETPATH
628360efbdSAlfred Perlsteinvariable.
638360efbdSAlfred PerlsteinWhen
648360efbdSAlfred Perlstein.Ev NETPATH
658360efbdSAlfred Perlsteinhas been exhausted,
668360efbdSAlfred Perlstein.Fn getnetpath
678360efbdSAlfred Perlsteinreturns
688360efbdSAlfred Perlstein.Dv NULL .
698360efbdSAlfred Perlstein.Pp
708360efbdSAlfred PerlsteinA call to
718360efbdSAlfred Perlstein.Fn setnetpath
728360efbdSAlfred Perlstein.Dq binds
738360efbdSAlfred Perlsteinto or
748360efbdSAlfred Perlstein.Dq rewinds
758360efbdSAlfred Perlstein.Ev NETPATH .
768360efbdSAlfred Perlstein.Fn setnetpath
778360efbdSAlfred Perlsteinmust be called before the first call to
788360efbdSAlfred Perlstein.Fn getnetpath
798360efbdSAlfred Perlsteinand may be called at any other time.
808360efbdSAlfred PerlsteinIt returns a handle that is used by
818360efbdSAlfred Perlstein.Fn getnetpath .
828360efbdSAlfred Perlstein.Pp
838360efbdSAlfred Perlstein.Fn getnetpath
848360efbdSAlfred Perlsteinsilently ignores invalid
858360efbdSAlfred Perlstein.Ev NETPATH
868360efbdSAlfred Perlsteincomponents.
878360efbdSAlfred PerlsteinA
888360efbdSAlfred Perlstein.Ev NETPATH
898360efbdSAlfred Perlsteincomponent is invalid if there is no corresponding
908360efbdSAlfred Perlsteinentry in the netconfig database.
918360efbdSAlfred Perlstein.Pp
928360efbdSAlfred PerlsteinIf the
938360efbdSAlfred Perlstein.Ev NETPATH
948360efbdSAlfred Perlsteinvariable is unset,
958360efbdSAlfred Perlstein.Fn getnetpath
968360efbdSAlfred Perlsteinbehaves as if
978360efbdSAlfred Perlstein.Ev NETPATH
988360efbdSAlfred Perlsteinwere set to the sequence of
998360efbdSAlfred Perlstein.Dq default
1008360efbdSAlfred Perlsteinor
1018360efbdSAlfred Perlstein.Dq visible
1028360efbdSAlfred Perlsteinnetworks in the netconfig database, in the
1038360efbdSAlfred Perlsteinorder in which they are listed.
1048360efbdSAlfred Perlstein.\"This proviso holds also for this
1058360efbdSAlfred Perlstein.\"whole manpage.
1068360efbdSAlfred Perlstein.Pp
1078360efbdSAlfred Perlstein.Fn endnetpath
1088360efbdSAlfred Perlsteinmay be called to
1098360efbdSAlfred Perlstein.Dq unbind
1108360efbdSAlfred Perlsteinfrom
1118360efbdSAlfred Perlstein.Ev NETPATH
1128360efbdSAlfred Perlsteinwhen processing is complete, releasing resources for reuse.
1138360efbdSAlfred PerlsteinProgrammers should be aware, however, that
1148360efbdSAlfred Perlstein.Fn endnetpath
1158360efbdSAlfred Perlsteinfrees all memory allocated by
1168360efbdSAlfred Perlstein.Fn getnetpath
1178360efbdSAlfred Perlsteinfor the struct netconfig data structure.
1188360efbdSAlfred Perlstein.Sh RETURN VALUES
1198360efbdSAlfred Perlstein.Fn setnetpath
1208360efbdSAlfred Perlsteinreturns a handle that is used by
1218360efbdSAlfred Perlstein.Fn getnetpath .
1228360efbdSAlfred PerlsteinIn case of an error,
1238360efbdSAlfred Perlstein.Fn setnetpath
1248360efbdSAlfred Perlsteinreturns
1258360efbdSAlfred Perlstein.Dv NULL .
1268360efbdSAlfred Perlstein.Pp
1278360efbdSAlfred Perlstein.Fn endnetpath
1288360efbdSAlfred Perlsteinreturns 0 on success and \-1 on failure
1298360efbdSAlfred Perlstein(for example, if
1308360efbdSAlfred Perlstein.Fn setnetpath
1318360efbdSAlfred Perlsteinwas not called previously).
1328360efbdSAlfred Perlstein.Fn nc_perror
1338360efbdSAlfred Perlsteinor
1348360efbdSAlfred Perlstein.Fn nc_sperror
1358360efbdSAlfred Perlsteincan be used to print out the reason for failure.
1368360efbdSAlfred PerlsteinSee
1378360efbdSAlfred Perlstein.Xr getnetconfig 3 .
1388360efbdSAlfred Perlstein.Pp
1398360efbdSAlfred PerlsteinWhen first called,
1408360efbdSAlfred Perlstein.Fn getnetpath
1418360efbdSAlfred Perlsteinreturns a pointer to the netconfig database entry corresponding to the first
1428360efbdSAlfred Perlsteinvalid
1438360efbdSAlfred Perlstein.Ev NETPATH
1448360efbdSAlfred Perlsteincomponent.
1458360efbdSAlfred PerlsteinWhen
1468360efbdSAlfred Perlstein.Ev NETPATH
1478360efbdSAlfred Perlsteinhas been exhausted,
1488360efbdSAlfred Perlstein.Fn getnetpath
1498360efbdSAlfred Perlsteinreturns
1508360efbdSAlfred Perlstein.Dv NULL .
1518360efbdSAlfred Perlstein.Sh SEE ALSO
1528360efbdSAlfred Perlstein.Xr getnetconfig 3 ,
153b23e7b41SRuslan Ermilov.Xr netconfig 5 ,
154b23e7b41SRuslan Ermilov.Xr environ 7
155