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