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. |
---|
12 | .\" 3. All advertising materials mentioning features or use of this software |
---|
13 | .\" must display the following acknowledgement: |
---|
14 | .\" This product includes software developed by the University of |
---|
15 | .\" California, Berkeley and its contributors. |
---|
16 | .\" 4. Neither the name of the University nor the names of its contributors |
---|
17 | .\" may be used to endorse or promote products derived from this software |
---|
18 | .\" without specific prior written permission. |
---|
19 | .\" |
---|
20 | .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
---|
21 | .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
---|
22 | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
---|
23 | .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
---|
24 | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
---|
25 | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
---|
26 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
---|
27 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
---|
28 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
---|
29 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
---|
30 | .\" SUCH DAMAGE. |
---|
31 | .\" |
---|
32 | .\" From: @(#)getservent.3 8.3 (Berkeley) 1/12/94 |
---|
33 | .\" $Id$ |
---|
34 | .\" |
---|
35 | .Dd July 9, 1995 |
---|
36 | .Dt GETSERVENT 3 |
---|
37 | .Os BSD 4.2 |
---|
38 | .Sh NAME |
---|
39 | .Nm getservent , |
---|
40 | .Nm getservbyport , |
---|
41 | .Nm getservbyname , |
---|
42 | .Nm setservent , |
---|
43 | .Nm endservent |
---|
44 | .Nd get service entry |
---|
45 | .Sh SYNOPSIS |
---|
46 | .Fd #include <netdb.h> |
---|
47 | .Ft struct servent * |
---|
48 | .Fn getservent |
---|
49 | .Ft struct servent * |
---|
50 | .Fn getservbyname "const char *name" "const char *proto" |
---|
51 | .Ft struct servent * |
---|
52 | .Fn getservbyport "int port" "const char *proto" |
---|
53 | .Ft void |
---|
54 | .Fn setservent "int stayopen" |
---|
55 | .Ft void |
---|
56 | .Fn endservent void |
---|
57 | .Sh DESCRIPTION |
---|
58 | The |
---|
59 | .Fn getservent , |
---|
60 | .Fn getservbyname , |
---|
61 | and |
---|
62 | .Fn getservbyport |
---|
63 | functions |
---|
64 | each return a pointer to an object with the |
---|
65 | following structure |
---|
66 | containing the broken-out |
---|
67 | fields of a line in the network services data base, |
---|
68 | .Pa /etc/services . |
---|
69 | .Bd -literal -offset indent |
---|
70 | struct servent { |
---|
71 | char *s_name; /* official name of service */ |
---|
72 | char **s_aliases; /* alias list */ |
---|
73 | int s_port; /* port service resides at */ |
---|
74 | char *s_proto; /* protocol to use */ |
---|
75 | }; |
---|
76 | .Ed |
---|
77 | .Pp |
---|
78 | The members of this structure are: |
---|
79 | .Bl -tag -width s_aliases |
---|
80 | .It Fa s_name |
---|
81 | The official name of the service. |
---|
82 | .It Fa s_aliases |
---|
83 | A zero terminated list of alternate names for the service. |
---|
84 | .It Fa s_port |
---|
85 | The port number at which the service resides. |
---|
86 | Port numbers are returned in network byte order. |
---|
87 | .It Fa s_proto |
---|
88 | The name of the protocol to use when contacting the |
---|
89 | service. |
---|
90 | .El |
---|
91 | .Pp |
---|
92 | The |
---|
93 | .Fn getservent |
---|
94 | function |
---|
95 | reads the next line of the file, opening the file if necessary. |
---|
96 | .Pp |
---|
97 | The |
---|
98 | .Fn setservent |
---|
99 | function |
---|
100 | opens and rewinds the file. If the |
---|
101 | .Fa stayopen |
---|
102 | flag is non-zero, |
---|
103 | the net data base will not be closed after each call to |
---|
104 | .Fn getservbyname |
---|
105 | or |
---|
106 | .Fn getservbyport . |
---|
107 | .Pp |
---|
108 | The |
---|
109 | .Fn endservent |
---|
110 | function |
---|
111 | closes the file. |
---|
112 | .Pp |
---|
113 | The |
---|
114 | .Fn getservbyname |
---|
115 | and |
---|
116 | .Fn getservbyport |
---|
117 | functions |
---|
118 | sequentially search from the beginning |
---|
119 | of the file until a matching |
---|
120 | protocol name or |
---|
121 | port number is found, |
---|
122 | or until |
---|
123 | .Dv EOF |
---|
124 | is encountered. |
---|
125 | If a protocol name is also supplied (non- |
---|
126 | .Dv NULL ) , |
---|
127 | searches must also match the protocol. |
---|
128 | .ne 1i |
---|
129 | .Sh FILES |
---|
130 | .Bl -tag -width /etc/services -compact |
---|
131 | .It Pa /etc/services |
---|
132 | .El |
---|
133 | .Sh DIAGNOSTICS |
---|
134 | Null pointer |
---|
135 | (0) returned on |
---|
136 | .Dv EOF |
---|
137 | or error. |
---|
138 | .Sh SEE ALSO |
---|
139 | .Xr getprotoent 3 , |
---|
140 | .Xr services 5 |
---|
141 | .Sh HISTORY |
---|
142 | The |
---|
143 | .Fn getservent , |
---|
144 | .Fn getservbyport , |
---|
145 | .Fn getservbyname , |
---|
146 | .Fn setservent , |
---|
147 | and |
---|
148 | .Fn endservent |
---|
149 | functions appeared in |
---|
150 | .Bx 4.2 . |
---|
151 | .Sh BUGS |
---|
152 | These functions use static data storage; |
---|
153 | if the data is needed for future use, it should be |
---|
154 | copied before any subsequent calls overwrite it. |
---|
155 | Expecting port numbers to fit in a 32 bit |
---|
156 | quantity is probably naive. |
---|