]> git.saurik.com Git - apple/libinfo.git/blame - gen.subproj/getnetent.3
Libinfo-459.20.1.tar.gz
[apple/libinfo.git] / gen.subproj / getnetent.3
CommitLineData
3b7c7bd7
A
1.\" Copyright (c) 1983, 1991, 1993
2.\" The Regents of the University of California. All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
3b7c7bd7
A
12.\" 4. Neither the name of the University nor the names of its contributors
13.\" may be used to endorse or promote products derived from this software
14.\" without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\" @(#)getnetent.3 8.1 (Berkeley) 6/4/93
d49d4c81 29.\" $FreeBSD: src/lib/libc/net/getnetent.3,v 1.23 2007/01/09 00:28:02 imp Exp $
3b7c7bd7
A
30.\"
31.Dd June 4, 1993
32.Dt GETNETENT 3
33.Os
34.Sh NAME
d49d4c81 35.Nm getnetent ,
3b7c7bd7
A
36.Nm getnetbyaddr ,
37.Nm getnetbyname ,
d49d4c81
A
38.Nm setnetent ,
39.Nm endnetent
3b7c7bd7
A
40.Nd get network entry
41.Sh LIBRARY
42.Lb libc
43.Sh SYNOPSIS
d49d4c81 44.In netdb.h
3b7c7bd7 45.Ft struct netent *
d49d4c81 46.Fn getnetent void
3b7c7bd7 47.Ft struct netent *
d49d4c81 48.Fn getnetbyname "const char *name"
3b7c7bd7 49.Ft struct netent *
d49d4c81 50.Fn getnetbyaddr "uint32_t net" "int type"
3b7c7bd7 51.Ft void
d49d4c81
A
52.Fn setnetent "int stayopen"
53.Ft void
54.Fn endnetent void
3b7c7bd7
A
55.Sh DESCRIPTION
56The
57.Fn getnetent ,
58.Fn getnetbyname ,
59and
60.Fn getnetbyaddr
61functions
62each return a pointer to an object with the
d49d4c81
A
63following structure describing an internet network.
64.\"This structure contains either the information obtained
65.\"from the nameserver,
66.\".Xr named 8 ,
67.\"broken-out fields of a line in the network data base
68.\".Pa /etc/networks ,
69.\"or entries supplied by the
70.\".Xr yp 8
71.\"system.
72.\"The order of the lookups is controlled by the
73.\"`networks' entry in
74.\".Xr nsswitch.conf 5 .
75This structure contains information obtained from
d31dd049 76.Xr opendirectoryd 8 ,
d49d4c81 77including records in
3b7c7bd7 78.Pa /etc/networks .
d49d4c81 79.Pp
3b7c7bd7
A
80.Bd -literal -offset indent
81struct netent {
82 char *n_name; /* official name of net */
83 char **n_aliases; /* alias list */
84 int n_addrtype; /* net number type */
d49d4c81 85 uint32_t n_net; /* net number */
3b7c7bd7
A
86};
87.Ed
88.Pp
89The members of this structure are:
90.Bl -tag -width n_addrtype
91.It Fa n_name
92The official name of the network.
93.It Fa n_aliases
94A zero terminated list of alternate names for the network.
95.It Fa n_addrtype
96The type of the network number returned; currently only AF_INET.
97.It Fa n_net
d49d4c81
A
98The network number.
99Network numbers are returned in machine byte
3b7c7bd7
A
100order.
101.El
102.Pp
103The
104.Fn getnetent
105function
106reads the next line of the file, opening the file if necessary.
107.Pp
108The
109.Fn setnetent
110function
d49d4c81
A
111opens and rewinds the file.
112If the
3b7c7bd7
A
113.Fa stayopen
114flag is non-zero,
115the net data base will not be closed after each call to
116.Fn getnetbyname
117or
118.Fn getnetbyaddr .
119.Pp
120The
121.Fn endnetent
122function
123closes the file.
124.Pp
125The
126.Fn getnetbyname
127function
128and
129.Fn getnetbyaddr
130sequentially search from the beginning
131of the file until a matching
132net name or
133net address and type is found,
134or until
135.Dv EOF
136is encountered.
137The
138.Fa type
d49d4c81 139argument
3b7c7bd7
A
140must be
141.Dv AF_INET .
142Network numbers are supplied in host order.
143.Sh FILES
d49d4c81 144.Bl -tag -width /etc/nsswitch.conf -compact
3b7c7bd7 145.It Pa /etc/networks
d49d4c81
A
146.\".It Pa /etc/nsswitch.conf
147.It Pa /etc/resolv.conf
3b7c7bd7
A
148.El
149.Sh DIAGNOSTICS
150Null pointer
151(0) returned on
152.Dv EOF
153or error.
154.Sh SEE ALSO
155.Xr networks 5
156.Pp
157.%T RFC 1101
158.Sh HISTORY
159The
160.Fn getnetent ,
161.Fn getnetbyaddr ,
162.Fn getnetbyname ,
163.Fn setnetent ,
164and
165.Fn endnetent
166functions appeared in
167.Bx 4.2 .
168.Sh BUGS
169The data space used by
d49d4c81 170these functions is thread-specific; if future use requires the data, it should be
3b7c7bd7
A
171copied before any subsequent calls to these functions overwrite it.
172Only Internet network
173numbers are currently understood.
174Expecting network numbers to fit
175in no more than 32 bits is probably
176naive.