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 | .\" @(#)getprotoent.3 8.1 (Berkeley) 6/4/93 |
---|
33 | .\" $Id$ |
---|
34 | .\" |
---|
35 | .Dd June 4, 1993 |
---|
36 | .Dt GETPROTOENT 3 |
---|
37 | .Os BSD 4.2 |
---|
38 | .Sh NAME |
---|
39 | .Nm getprotoent , |
---|
40 | .Nm getprotobynumber , |
---|
41 | .Nm getprotobyname , |
---|
42 | .Nm setprotoent , |
---|
43 | .Nm endprotoent |
---|
44 | .Nd get protocol entry |
---|
45 | .Sh SYNOPSIS |
---|
46 | .Fd #include <netdb.h> |
---|
47 | .Ft struct protoent * |
---|
48 | .Fn getprotoent void |
---|
49 | .Ft struct protoent * |
---|
50 | .Fn getprotobyname "const char *name" |
---|
51 | .Ft struct protoent * |
---|
52 | .Fn getprotobynumber "int proto" |
---|
53 | .Ft void |
---|
54 | .Fn setprotoent "int stayopen" |
---|
55 | .Ft void |
---|
56 | .Fn endprotoent void |
---|
57 | .Sh DESCRIPTION |
---|
58 | The |
---|
59 | .Fn getprotoent , |
---|
60 | .Fn getprotobyname , |
---|
61 | and |
---|
62 | .Fn getprotobynumber |
---|
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 protocol data base, |
---|
68 | .Pa /etc/protocols . |
---|
69 | .Bd -literal -offset indent |
---|
70 | .Pp |
---|
71 | struct protoent { |
---|
72 | char *p_name; /* official name of protocol */ |
---|
73 | char **p_aliases; /* alias list */ |
---|
74 | int p_proto; /* protocol number */ |
---|
75 | }; |
---|
76 | .Ed |
---|
77 | .Pp |
---|
78 | The members of this structure are: |
---|
79 | .Bl -tag -width p_aliases |
---|
80 | .It Fa p_name |
---|
81 | The official name of the protocol. |
---|
82 | .It Fa p_aliases |
---|
83 | A zero terminated list of alternate names for the protocol. |
---|
84 | .It Fa p_proto |
---|
85 | The protocol number. |
---|
86 | .El |
---|
87 | .Pp |
---|
88 | The |
---|
89 | .Fn getprotoent |
---|
90 | function |
---|
91 | reads the next line of the file, opening the file if necessary. |
---|
92 | .Pp |
---|
93 | The |
---|
94 | .Fn setprotoent |
---|
95 | function |
---|
96 | opens and rewinds the file. If the |
---|
97 | .Fa stayopen |
---|
98 | flag is non-zero, |
---|
99 | the net data base will not be closed after each call to |
---|
100 | .Fn getprotobyname |
---|
101 | or |
---|
102 | .Fn getprotobynumber . |
---|
103 | .Pp |
---|
104 | The |
---|
105 | .Fn endprotoent |
---|
106 | function |
---|
107 | closes the file. |
---|
108 | .Pp |
---|
109 | The |
---|
110 | .Fn getprotobyname |
---|
111 | function |
---|
112 | and |
---|
113 | .Fn getprotobynumber |
---|
114 | sequentially search from the beginning |
---|
115 | of the file until a matching |
---|
116 | protocol name or |
---|
117 | protocol number is found, |
---|
118 | or until |
---|
119 | .Dv EOF |
---|
120 | is encountered. |
---|
121 | .Sh RETURN VALUES |
---|
122 | Null pointer |
---|
123 | (0) returned on |
---|
124 | .Dv EOF |
---|
125 | or error. |
---|
126 | .Sh FILES |
---|
127 | .Bl -tag -width /etc/protocols -compact |
---|
128 | .It Pa /etc/protocols |
---|
129 | .El |
---|
130 | .Sh SEE ALSO |
---|
131 | .Xr protocols 5 |
---|
132 | .Sh HISTORY |
---|
133 | The |
---|
134 | .Fn getprotoent , |
---|
135 | .Fn getprotobynumber , |
---|
136 | .Fn getprotobyname , |
---|
137 | .Fn setprotoent , |
---|
138 | and |
---|
139 | .Fn endprotoent |
---|
140 | functions appeared in |
---|
141 | .Bx 4.2 . |
---|
142 | .Sh BUGS |
---|
143 | These functions use a static data space; |
---|
144 | if the data is needed for future use, it should be |
---|
145 | copied before any subsequent calls overwrite it. |
---|
146 | Only the Internet |
---|
147 | protocols are currently understood. |
---|