xref: /freebsd/lib/libc/rpc/getnetpath.3 (revision dc36d6f9bb1753f3808552f3afd30eda9a7b206a)
18360efbdSAlfred Perlstein.\" $NetBSD: getnetpath.3,v 1.1 2000/06/02 23:11:11 fvdl Exp $
28360efbdSAlfred Perlstein.\" Copyright 1989 AT&T
38360efbdSAlfred Perlstein.Dd April 22, 2000
48360efbdSAlfred Perlstein.Dt GETNETPATH 3
58360efbdSAlfred Perlstein.Os
68360efbdSAlfred Perlstein.Sh NAME
78360efbdSAlfred Perlstein.Nm getnetpath ,
88360efbdSAlfred Perlstein.Nm setnetpath ,
98360efbdSAlfred Perlstein.Nm endnetpath
108360efbdSAlfred Perlstein.Nd get
118360efbdSAlfred Perlstein.Pa /etc/netconfig
128360efbdSAlfred Perlsteinentry corresponding to
138360efbdSAlfred Perlstein.Ev NETPATH
148360efbdSAlfred Perlsteincomponent
158360efbdSAlfred Perlstein.Sh LIBRARY
168360efbdSAlfred Perlstein.Lb libc
178360efbdSAlfred Perlstein.Sh SYNOPSIS
1832eef9aeSRuslan Ermilov.In netconfig.h
198360efbdSAlfred Perlstein.Ft "struct netconfig *"
208360efbdSAlfred Perlstein.Fn getnetpath "void *handlep"
218360efbdSAlfred Perlstein.Ft "void *"
228360efbdSAlfred Perlstein.Fn setnetpath "void"
238360efbdSAlfred Perlstein.Ft int
248360efbdSAlfred Perlstein.Fn endnetpath "void *handlep"
258360efbdSAlfred Perlstein.Sh DESCRIPTION
268360efbdSAlfred PerlsteinThe routines described in this page provide the application access to the system
278360efbdSAlfred Perlsteinnetwork configuration database,
288360efbdSAlfred Perlstein.Pa /etc/netconfig ,
298360efbdSAlfred Perlsteinas it is
308360efbdSAlfred Perlstein.Dq filtered
318360efbdSAlfred Perlsteinby the
328360efbdSAlfred Perlstein.Ev NETPATH
338360efbdSAlfred Perlsteinenvironment variable (see
3476c68649SMaxim Sobolev.Xr environ 7 ) .
358360efbdSAlfred PerlsteinSee
368360efbdSAlfred Perlstein.Xr getnetconfig 3
378360efbdSAlfred Perlsteinfor other routines that also access the
388360efbdSAlfred Perlsteinnetwork configuration database directly.
398360efbdSAlfred PerlsteinThe
408360efbdSAlfred Perlstein.Ev NETPATH
418360efbdSAlfred Perlsteinvariable is a list of colon-separated network identifiers.
428360efbdSAlfred Perlstein.Pp
431fae73b1SRuslan ErmilovThe
448360efbdSAlfred Perlstein.Fn getnetpath
451fae73b1SRuslan Ermilovfunction
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.
581fae73b1SRuslan ErmilovThe
598360efbdSAlfred Perlstein.Fn getnetpath
601fae73b1SRuslan Ermilovfunction
618360efbdSAlfred Perlsteincan thus be used to search the netconfig database for all networks
628360efbdSAlfred Perlsteinincluded in the
638360efbdSAlfred Perlstein.Ev NETPATH
648360efbdSAlfred Perlsteinvariable.
658360efbdSAlfred PerlsteinWhen
668360efbdSAlfred Perlstein.Ev NETPATH
678360efbdSAlfred Perlsteinhas been exhausted,
688360efbdSAlfred Perlstein.Fn getnetpath
698360efbdSAlfred Perlsteinreturns
708360efbdSAlfred Perlstein.Dv NULL .
718360efbdSAlfred Perlstein.Pp
728360efbdSAlfred PerlsteinA call to
738360efbdSAlfred Perlstein.Fn setnetpath
748360efbdSAlfred Perlstein.Dq binds
758360efbdSAlfred Perlsteinto or
768360efbdSAlfred Perlstein.Dq rewinds
778360efbdSAlfred Perlstein.Ev NETPATH .
781fae73b1SRuslan ErmilovThe
798360efbdSAlfred Perlstein.Fn setnetpath
801fae73b1SRuslan Ermilovfunction
818360efbdSAlfred Perlsteinmust be called before the first call to
828360efbdSAlfred Perlstein.Fn getnetpath
838360efbdSAlfred Perlsteinand may be called at any other time.
848360efbdSAlfred PerlsteinIt returns a handle that is used by
858360efbdSAlfred Perlstein.Fn getnetpath .
868360efbdSAlfred Perlstein.Pp
871fae73b1SRuslan ErmilovThe
888360efbdSAlfred Perlstein.Fn getnetpath
891fae73b1SRuslan Ermilovfunction
908360efbdSAlfred Perlsteinsilently ignores invalid
918360efbdSAlfred Perlstein.Ev NETPATH
928360efbdSAlfred Perlsteincomponents.
938360efbdSAlfred PerlsteinA
948360efbdSAlfred Perlstein.Ev NETPATH
958360efbdSAlfred Perlsteincomponent is invalid if there is no corresponding
968360efbdSAlfred Perlsteinentry in the netconfig database.
978360efbdSAlfred Perlstein.Pp
988360efbdSAlfred PerlsteinIf the
998360efbdSAlfred Perlstein.Ev NETPATH
1008360efbdSAlfred Perlsteinvariable is unset,
1018360efbdSAlfred Perlstein.Fn getnetpath
1028360efbdSAlfred Perlsteinbehaves as if
1038360efbdSAlfred Perlstein.Ev NETPATH
1048360efbdSAlfred Perlsteinwere set to the sequence of
1058360efbdSAlfred Perlstein.Dq default
1068360efbdSAlfred Perlsteinor
1078360efbdSAlfred Perlstein.Dq visible
1088360efbdSAlfred Perlsteinnetworks in the netconfig database, in the
1098360efbdSAlfred Perlsteinorder in which they are listed.
1108360efbdSAlfred Perlstein.\"This proviso holds also for this
1118360efbdSAlfred Perlstein.\"whole manpage.
1128360efbdSAlfred Perlstein.Pp
1131fae73b1SRuslan ErmilovThe
1148360efbdSAlfred Perlstein.Fn endnetpath
1151fae73b1SRuslan Ermilovfunction
1168360efbdSAlfred Perlsteinmay be called to
1178360efbdSAlfred Perlstein.Dq unbind
1188360efbdSAlfred Perlsteinfrom
1198360efbdSAlfred Perlstein.Ev NETPATH
1208360efbdSAlfred Perlsteinwhen processing is complete, releasing resources for reuse.
1218360efbdSAlfred PerlsteinProgrammers should be aware, however, that
1228360efbdSAlfred Perlstein.Fn endnetpath
1238360efbdSAlfred Perlsteinfrees all memory allocated by
1248360efbdSAlfred Perlstein.Fn getnetpath
1258360efbdSAlfred Perlsteinfor the struct netconfig data structure.
1268360efbdSAlfred Perlstein.Sh RETURN VALUES
1271fae73b1SRuslan ErmilovThe
1288360efbdSAlfred Perlstein.Fn setnetpath
1291fae73b1SRuslan Ermilovfunction
1308360efbdSAlfred Perlsteinreturns a handle that is used by
1318360efbdSAlfred Perlstein.Fn getnetpath .
1328360efbdSAlfred PerlsteinIn case of an error,
1338360efbdSAlfred Perlstein.Fn setnetpath
1348360efbdSAlfred Perlsteinreturns
1358360efbdSAlfred Perlstein.Dv NULL .
1368360efbdSAlfred Perlstein.Pp
1371fae73b1SRuslan ErmilovThe
1388360efbdSAlfred Perlstein.Fn endnetpath
1391fae73b1SRuslan Ermilovfunction
1408360efbdSAlfred Perlsteinreturns 0 on success and \-1 on failure
1418360efbdSAlfred Perlstein(for example, if
1428360efbdSAlfred Perlstein.Fn setnetpath
1438360efbdSAlfred Perlsteinwas not called previously).
1441fae73b1SRuslan ErmilovThe
1458360efbdSAlfred Perlstein.Fn nc_perror
1468360efbdSAlfred Perlsteinor
1478360efbdSAlfred Perlstein.Fn nc_sperror
1481fae73b1SRuslan Ermilovfunction
1498360efbdSAlfred Perlsteincan be used to print out the reason for failure.
1508360efbdSAlfred PerlsteinSee
1518360efbdSAlfred Perlstein.Xr getnetconfig 3 .
1528360efbdSAlfred Perlstein.Pp
1538360efbdSAlfred PerlsteinWhen first called,
1548360efbdSAlfred Perlstein.Fn getnetpath
1558360efbdSAlfred Perlsteinreturns a pointer to the netconfig database entry corresponding to the first
1568360efbdSAlfred Perlsteinvalid
1578360efbdSAlfred Perlstein.Ev NETPATH
1588360efbdSAlfred Perlsteincomponent.
1598360efbdSAlfred PerlsteinWhen
1608360efbdSAlfred Perlstein.Ev NETPATH
1618360efbdSAlfred Perlsteinhas been exhausted,
1628360efbdSAlfred Perlstein.Fn getnetpath
1638360efbdSAlfred Perlsteinreturns
1648360efbdSAlfred Perlstein.Dv NULL .
1658360efbdSAlfred Perlstein.Sh SEE ALSO
1668360efbdSAlfred Perlstein.Xr getnetconfig 3 ,
167b23e7b41SRuslan Ermilov.Xr netconfig 5 ,
168b23e7b41SRuslan Ermilov.Xr environ 7
169