xref: /openbsd-src/lib/libc/net/getnetent.3 (revision f8a44a6719aa6bcd7aba4e8f0e15ce703efdbf15)
1*f8a44a67Sjmc.\"	$OpenBSD: getnetent.3,v 1.19 2019/08/30 20:20:51 jmc Exp $
2df930be7Sderaadt.\"
3df930be7Sderaadt.\" Copyright (c) 1983, 1991, 1993
4df930be7Sderaadt.\"	The Regents of the University of California.  All rights reserved.
5df930be7Sderaadt.\"
6df930be7Sderaadt.\" Redistribution and use in source and binary forms, with or without
7df930be7Sderaadt.\" modification, are permitted provided that the following conditions
8df930be7Sderaadt.\" are met:
9df930be7Sderaadt.\" 1. Redistributions of source code must retain the above copyright
10df930be7Sderaadt.\"    notice, this list of conditions and the following disclaimer.
11df930be7Sderaadt.\" 2. Redistributions in binary form must reproduce the above copyright
12df930be7Sderaadt.\"    notice, this list of conditions and the following disclaimer in the
13df930be7Sderaadt.\"    documentation and/or other materials provided with the distribution.
146580fee3Smillert.\" 3. Neither the name of the University nor the names of its contributors
15df930be7Sderaadt.\"    may be used to endorse or promote products derived from this software
16df930be7Sderaadt.\"    without specific prior written permission.
17df930be7Sderaadt.\"
18df930be7Sderaadt.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19df930be7Sderaadt.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20df930be7Sderaadt.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21df930be7Sderaadt.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22df930be7Sderaadt.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23df930be7Sderaadt.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24df930be7Sderaadt.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25df930be7Sderaadt.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26df930be7Sderaadt.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27df930be7Sderaadt.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28df930be7Sderaadt.\" SUCH DAMAGE.
29df930be7Sderaadt.\"
30*f8a44a67Sjmc.Dd $Mdocdate: August 30 2019 $
31df930be7Sderaadt.Dt GETNETENT 3
327949d54bSdownsj.Os
33df930be7Sderaadt.Sh NAME
34df930be7Sderaadt.Nm getnetent ,
35df930be7Sderaadt.Nm getnetbyaddr ,
36df930be7Sderaadt.Nm getnetbyname ,
37df930be7Sderaadt.Nm setnetent ,
38df930be7Sderaadt.Nm endnetent
39df930be7Sderaadt.Nd get network entry
40df930be7Sderaadt.Sh SYNOPSIS
4164d4e987Stedu.In netdb.h
42df930be7Sderaadt.Ft struct netent *
4377823d3fSaaron.Fn getnetent "void"
44df930be7Sderaadt.Ft struct netent *
454eb63f82Snordin.Fn getnetbyname "const char *name"
46df930be7Sderaadt.Ft struct netent *
4732210aa3Smillert.Fn getnetbyaddr "in_addr_t net" "int type"
4877823d3fSaaron.Ft void
49df930be7Sderaadt.Fn setnetent "int stayopen"
5077823d3fSaaron.Ft void
5177823d3fSaaron.Fn endnetent "void"
52df930be7Sderaadt.Sh DESCRIPTION
53df930be7SderaadtThe
540eb4c796Sschwarze.Fn getnetbyname
55df930be7Sderaadtand
56df930be7Sderaadt.Fn getnetbyaddr
570eb4c796Sschwarzefunctions return a pointer to an object with the following structure:
58df930be7Sderaadt.Bd -literal -offset indent
59df930be7Sderaadtstruct	netent {
60df930be7Sderaadt	char		*n_name;	/* official name of net */
61df930be7Sderaadt	char		**n_aliases;	/* alias list */
62df930be7Sderaadt	int		n_addrtype;	/* net number type */
6332210aa3Smillert	in_addr_t	n_net;		/* net number */
64df930be7Sderaadt};
65df930be7Sderaadt.Ed
66df930be7Sderaadt.Pp
67df930be7SderaadtThe members of this structure are:
68df930be7Sderaadt.Bl -tag -width n_addrtype
69df930be7Sderaadt.It Fa n_name
70df930be7SderaadtThe official name of the network.
71df930be7Sderaadt.It Fa n_aliases
725a14067eSjaredyA null-terminated list of alternate names for the network.
73df930be7Sderaadt.It Fa n_addrtype
740eb4c796SschwarzeThe type of the network number returned; it is always
753a03493dSaaron.Dv AF_INET .
76df930be7Sderaadt.It Fa n_net
7710cc2884SaaronThe network number.
7810cc2884SaaronNetwork numbers are returned in machine byte order.
79df930be7Sderaadt.El
80df930be7Sderaadt.Pp
810eb4c796SschwarzeOn
820eb4c796Sschwarze.Ox ,
830eb4c796Sschwarzethese legacy functions perform a lookup in a similar fashion as
840eb4c796Sschwarze.Xr gethostbyname 3
85df930be7Sderaadtand
860eb4c796Sschwarze.Xr gethostbyaddr 3 ,
870eb4c796Sschwarzerespectively.
880eb4c796SschwarzeOn other systems, they may use a separate network database file,
890eb4c796Sschwarze.Pa /etc/networks .
900eb4c796Sschwarze.Pp
910eb4c796SschwarzeIn contrast to
920eb4c796Sschwarze.Xr gethostbyaddr 3 ,
930eb4c796Sschwarzethe
940eb4c796Sschwarze.Fa net
950eb4c796Sschwarzeargument is expected in machine byte order.
960eb4c796Sschwarze.Pp
970eb4c796SschwarzeThe
980eb4c796Sschwarze.Fn setnetent ,
990eb4c796Sschwarze.Fn getnetent ,
1000eb4c796Sschwarzeand
1010eb4c796Sschwarze.Fn endnetent
1020eb4c796Sschwarzefunctions are deprecated and no longer have any effect.
1030eb4c796SschwarzeThey could be used in the past to iterate over entries in the former file
1040eb4c796Sschwarze.Pa /etc/networks .
10593ca0b48Sschwarze.Sh RETURN VALUES
10693ca0b48SschwarzeThe
1070eb4c796Sschwarze.Fn getnetbyaddr
10893ca0b48Sschwarzeand
10993ca0b48Sschwarze.Fn getnetbyname
11093ca0b48Sschwarzefunctions return
11193ca0b48Sschwarze.Dv NULL
11293ca0b48Sschwarzeif the requested entry is not found.
1130eb4c796Sschwarze.Pp
1140eb4c796SschwarzeThe
1150eb4c796Sschwarze.Fn getnetent
1160eb4c796Sschwarzefunction always returns
1170eb4c796Sschwarze.Dv NULL .
118df930be7Sderaadt.Sh FILES
1190eb4c796Sschwarze.Bl -tag -width /etc/hosts -compact
1200eb4c796Sschwarze.It Pa /etc/hosts
1210eb4c796SschwarzeThe local host and network name database.
122df930be7Sderaadt.El
123df930be7Sderaadt.Sh SEE ALSO
1240eb4c796Sschwarze.Xr getaddrinfo 3 ,
1250eb4c796Sschwarze.Xr gethostbyname 3 ,
1260eb4c796Sschwarze.Xr getnameinfo 3 ,
127*f8a44a67Sjmc.Xr res_init 3 ,
1280eb4c796Sschwarze.Xr hosts 5
12993ca0b48Sschwarze.Sh STANDARDS
13093ca0b48SschwarzeThese functions conform to
13193ca0b48Sschwarze.St -p1003.1-2008 .
132df930be7Sderaadt.Sh HISTORY
133df930be7SderaadtThe
134df930be7Sderaadt.Fn getnetent ,
135df930be7Sderaadt.Fn getnetbyaddr ,
136df930be7Sderaadt.Fn getnetbyname ,
137df930be7Sderaadt.Fn setnetent ,
138df930be7Sderaadtand
139df930be7Sderaadt.Fn endnetent
140df930be7Sderaadtfunctions appeared in
141df930be7Sderaadt.Bx 4.2 .
142df930be7Sderaadt.Sh BUGS
143aff2b1e4SmillertThe data space used by these functions is static; if future use
144aff2b1e4Smillertrequires the data, it should be copied before any subsequent calls
14510cc2884Saaronto these functions overwrite it.
14610cc2884SaaronOnly Internet network numbers are currently understood.
14710cc2884SaaronExpecting network numbers to fit in no more than 32 bits is naive.
148