xref: /freebsd/lib/libc/rpc/getnetpath.3 (revision 1fae73b137bfc5a237d7258e3c667ba87a36b7ff)
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
2032eef9aeSRuslan Ermilov.In 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
451fae73b1SRuslan ErmilovThe
468360efbdSAlfred Perlstein.Fn getnetpath
471fae73b1SRuslan Ermilovfunction
488360efbdSAlfred Perlsteinreturns a pointer to the
498360efbdSAlfred Perlsteinnetconfig database entry corresponding to the first valid
508360efbdSAlfred Perlstein.Ev NETPATH
518360efbdSAlfred Perlsteincomponent.
528360efbdSAlfred PerlsteinThe netconfig entry is formatted as a
538360efbdSAlfred Perlstein.Ft "struct netconfig" .
548360efbdSAlfred PerlsteinOn each subsequent call,
558360efbdSAlfred Perlstein.Fn getnetpath
568360efbdSAlfred Perlsteinreturns a pointer to the netconfig entry that corresponds to the next
578360efbdSAlfred Perlsteinvalid
588360efbdSAlfred Perlstein.Ev NETPATH
598360efbdSAlfred Perlsteincomponent.
601fae73b1SRuslan ErmilovThe
618360efbdSAlfred Perlstein.Fn getnetpath
621fae73b1SRuslan Ermilovfunction
638360efbdSAlfred Perlsteincan thus be used to search the netconfig database for all networks
648360efbdSAlfred Perlsteinincluded in the
658360efbdSAlfred Perlstein.Ev NETPATH
668360efbdSAlfred Perlsteinvariable.
678360efbdSAlfred PerlsteinWhen
688360efbdSAlfred Perlstein.Ev NETPATH
698360efbdSAlfred Perlsteinhas been exhausted,
708360efbdSAlfred Perlstein.Fn getnetpath
718360efbdSAlfred Perlsteinreturns
728360efbdSAlfred Perlstein.Dv NULL .
738360efbdSAlfred Perlstein.Pp
748360efbdSAlfred PerlsteinA call to
758360efbdSAlfred Perlstein.Fn setnetpath
768360efbdSAlfred Perlstein.Dq binds
778360efbdSAlfred Perlsteinto or
788360efbdSAlfred Perlstein.Dq rewinds
798360efbdSAlfred Perlstein.Ev NETPATH .
801fae73b1SRuslan ErmilovThe
818360efbdSAlfred Perlstein.Fn setnetpath
821fae73b1SRuslan Ermilovfunction
838360efbdSAlfred Perlsteinmust be called before the first call to
848360efbdSAlfred Perlstein.Fn getnetpath
858360efbdSAlfred Perlsteinand may be called at any other time.
868360efbdSAlfred PerlsteinIt returns a handle that is used by
878360efbdSAlfred Perlstein.Fn getnetpath .
888360efbdSAlfred Perlstein.Pp
891fae73b1SRuslan ErmilovThe
908360efbdSAlfred Perlstein.Fn getnetpath
911fae73b1SRuslan Ermilovfunction
928360efbdSAlfred Perlsteinsilently ignores invalid
938360efbdSAlfred Perlstein.Ev NETPATH
948360efbdSAlfred Perlsteincomponents.
958360efbdSAlfred PerlsteinA
968360efbdSAlfred Perlstein.Ev NETPATH
978360efbdSAlfred Perlsteincomponent is invalid if there is no corresponding
988360efbdSAlfred Perlsteinentry in the netconfig database.
998360efbdSAlfred Perlstein.Pp
1008360efbdSAlfred PerlsteinIf the
1018360efbdSAlfred Perlstein.Ev NETPATH
1028360efbdSAlfred Perlsteinvariable is unset,
1038360efbdSAlfred Perlstein.Fn getnetpath
1048360efbdSAlfred Perlsteinbehaves as if
1058360efbdSAlfred Perlstein.Ev NETPATH
1068360efbdSAlfred Perlsteinwere set to the sequence of
1078360efbdSAlfred Perlstein.Dq default
1088360efbdSAlfred Perlsteinor
1098360efbdSAlfred Perlstein.Dq visible
1108360efbdSAlfred Perlsteinnetworks in the netconfig database, in the
1118360efbdSAlfred Perlsteinorder in which they are listed.
1128360efbdSAlfred Perlstein.\"This proviso holds also for this
1138360efbdSAlfred Perlstein.\"whole manpage.
1148360efbdSAlfred Perlstein.Pp
1151fae73b1SRuslan ErmilovThe
1168360efbdSAlfred Perlstein.Fn endnetpath
1171fae73b1SRuslan Ermilovfunction
1188360efbdSAlfred Perlsteinmay be called to
1198360efbdSAlfred Perlstein.Dq unbind
1208360efbdSAlfred Perlsteinfrom
1218360efbdSAlfred Perlstein.Ev NETPATH
1228360efbdSAlfred Perlsteinwhen processing is complete, releasing resources for reuse.
1238360efbdSAlfred PerlsteinProgrammers should be aware, however, that
1248360efbdSAlfred Perlstein.Fn endnetpath
1258360efbdSAlfred Perlsteinfrees all memory allocated by
1268360efbdSAlfred Perlstein.Fn getnetpath
1278360efbdSAlfred Perlsteinfor the struct netconfig data structure.
1288360efbdSAlfred Perlstein.Sh RETURN VALUES
1291fae73b1SRuslan ErmilovThe
1308360efbdSAlfred Perlstein.Fn setnetpath
1311fae73b1SRuslan Ermilovfunction
1328360efbdSAlfred Perlsteinreturns a handle that is used by
1338360efbdSAlfred Perlstein.Fn getnetpath .
1348360efbdSAlfred PerlsteinIn case of an error,
1358360efbdSAlfred Perlstein.Fn setnetpath
1368360efbdSAlfred Perlsteinreturns
1378360efbdSAlfred Perlstein.Dv NULL .
1388360efbdSAlfred Perlstein.Pp
1391fae73b1SRuslan ErmilovThe
1408360efbdSAlfred Perlstein.Fn endnetpath
1411fae73b1SRuslan Ermilovfunction
1428360efbdSAlfred Perlsteinreturns 0 on success and \-1 on failure
1438360efbdSAlfred Perlstein(for example, if
1448360efbdSAlfred Perlstein.Fn setnetpath
1458360efbdSAlfred Perlsteinwas not called previously).
1461fae73b1SRuslan ErmilovThe
1478360efbdSAlfred Perlstein.Fn nc_perror
1488360efbdSAlfred Perlsteinor
1498360efbdSAlfred Perlstein.Fn nc_sperror
1501fae73b1SRuslan Ermilovfunction
1518360efbdSAlfred Perlsteincan be used to print out the reason for failure.
1528360efbdSAlfred PerlsteinSee
1538360efbdSAlfred Perlstein.Xr getnetconfig 3 .
1548360efbdSAlfred Perlstein.Pp
1558360efbdSAlfred PerlsteinWhen first called,
1568360efbdSAlfred Perlstein.Fn getnetpath
1578360efbdSAlfred Perlsteinreturns a pointer to the netconfig database entry corresponding to the first
1588360efbdSAlfred Perlsteinvalid
1598360efbdSAlfred Perlstein.Ev NETPATH
1608360efbdSAlfred Perlsteincomponent.
1618360efbdSAlfred PerlsteinWhen
1628360efbdSAlfred Perlstein.Ev NETPATH
1638360efbdSAlfred Perlsteinhas been exhausted,
1648360efbdSAlfred Perlstein.Fn getnetpath
1658360efbdSAlfred Perlsteinreturns
1668360efbdSAlfred Perlstein.Dv NULL .
1678360efbdSAlfred Perlstein.Sh SEE ALSO
1688360efbdSAlfred Perlstein.Xr getnetconfig 3 ,
169b23e7b41SRuslan Ermilov.Xr netconfig 5 ,
170b23e7b41SRuslan Ermilov.Xr environ 7
171