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