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