diff options
Diffstat (limited to 'src/lib/libc/net/getservent.3')
-rw-r--r-- | src/lib/libc/net/getservent.3 | 59 |
1 files changed, 54 insertions, 5 deletions
diff --git a/src/lib/libc/net/getservent.3 b/src/lib/libc/net/getservent.3 index af75f5037b..f5294b8f70 100644 --- a/src/lib/libc/net/getservent.3 +++ b/src/lib/libc/net/getservent.3 | |||
@@ -1,4 +1,4 @@ | |||
1 | .\" $OpenBSD: getservent.3,v 1.13 2003/12/30 10:35:36 jmc Exp $ | 1 | .\" $OpenBSD: getservent.3,v 1.14 2004/10/17 20:24:23 millert Exp $ |
2 | .\" | 2 | .\" |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. |
@@ -27,28 +27,43 @@ | |||
27 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 27 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
28 | .\" SUCH DAMAGE. | 28 | .\" SUCH DAMAGE. |
29 | .\" | 29 | .\" |
30 | .Dd January 12, 1994 | 30 | .Dd October 13, 2004 |
31 | .Dt GETSERVENT 3 | 31 | .Dt GETSERVENT 3 |
32 | .Os | 32 | .Os |
33 | .Sh NAME | 33 | .Sh NAME |
34 | .Nm getservent , | 34 | .Nm getservent , |
35 | .Nm getservent_r , | ||
35 | .Nm getservbyport , | 36 | .Nm getservbyport , |
37 | .Nm getservbyport_r , | ||
36 | .Nm getservbyname , | 38 | .Nm getservbyname , |
39 | .Nm getservbyname_r , | ||
37 | .Nm setservent , | 40 | .Nm setservent , |
38 | .Nm endservent | 41 | .Nm setservent_r , |
42 | .Nm endservent , | ||
43 | .Nm endservent_r | ||
39 | .Nd get service entry | 44 | .Nd get service entry |
40 | .Sh SYNOPSIS | 45 | .Sh SYNOPSIS |
41 | .Fd #include <netdb.h> | 46 | .Fd #include <netdb.h> |
42 | .Ft struct servent * | 47 | .Ft struct servent * |
43 | .Fn getservent "void" | 48 | .Fn getservent "void" |
44 | .Ft struct servent * | 49 | .Ft struct servent * |
50 | .Fn getservent_r "struct servent *servent" "struct servent_data *servent_data" | ||
51 | .Ft struct servent * | ||
45 | .Fn getservbyname "const char *name" "const char *proto" | 52 | .Fn getservbyname "const char *name" "const char *proto" |
46 | .Ft struct servent * | 53 | .Ft struct servent * |
54 | .Fn getservbyname_r "const char *name" "const char *proto" "struct servent *servent" "struct servent_data *servent_data" | ||
55 | .Ft struct servent * | ||
47 | .Fn getservbyport "int port" "const char *proto" | 56 | .Fn getservbyport "int port" "const char *proto" |
57 | .Ft struct servent * | ||
58 | .Fn getservbyport_r "int port" "const char *proto" "struct servent *servent" "struct servent_data *servent_data" | ||
48 | .Ft void | 59 | .Ft void |
49 | .Fn setservent "int stayopen" | 60 | .Fn setservent "int stayopen" |
50 | .Ft void | 61 | .Ft void |
62 | .Fn setservent_r "int stayopen" "struct servent_data *servent_data" | ||
63 | .Ft void | ||
51 | .Fn endservent "void" | 64 | .Fn endservent "void" |
65 | .Ft void | ||
66 | .Fn endservent_r "struct servent_data *servent_data" | ||
52 | .Sh DESCRIPTION | 67 | .Sh DESCRIPTION |
53 | The | 68 | The |
54 | .Fn getservent , | 69 | .Fn getservent , |
@@ -110,6 +125,30 @@ is found, or until | |||
110 | is encountered. | 125 | is encountered. |
111 | If a protocol name is also supplied (non-null), | 126 | If a protocol name is also supplied (non-null), |
112 | searches must also match the protocol. | 127 | searches must also match the protocol. |
128 | .Pp | ||
129 | The | ||
130 | .Fn getservent_r , | ||
131 | .Fn getservbyport_r , | ||
132 | .Fn getservbyname_r , | ||
133 | .Fn setservent_r , | ||
134 | and | ||
135 | .Fn endservent_r | ||
136 | functions are reentrant versions of the above functions that take a | ||
137 | pointer to a | ||
138 | .Fa servent_data | ||
139 | structure which is used to store state information. | ||
140 | The structure must be zero-filled before it is used | ||
141 | and should be considered opaque for the sake of portability. | ||
142 | .Pp | ||
143 | The | ||
144 | .Fn getservent_r , | ||
145 | .Fn getservbyport_r , | ||
146 | and | ||
147 | .Fn getservbyname_r | ||
148 | functions | ||
149 | also take a pointer to a | ||
150 | .Fa servent | ||
151 | structure which is used to store the results of the database lookup. | ||
113 | .Sh FILES | 152 | .Sh FILES |
114 | .Bl -tag -width /etc/services -compact | 153 | .Bl -tag -width /etc/services -compact |
115 | .It Pa /etc/services | 154 | .It Pa /etc/services |
@@ -130,8 +169,18 @@ The | |||
130 | and | 169 | and |
131 | .Fn endservent | 170 | .Fn endservent |
132 | functions appeared in | 171 | functions appeared in |
172 | .Pp | ||
133 | .Bx 4.2 . | 173 | .Bx 4.2 . |
174 | The | ||
175 | .Fn getservent_r , | ||
176 | .Fn getservbyport_r , | ||
177 | .Fn getservbyname_r , | ||
178 | .Fn setservent_r , | ||
179 | and | ||
180 | .Fn endservent_r | ||
181 | functions appeared in | ||
182 | .Ox 3.7 . | ||
134 | .Sh BUGS | 183 | .Sh BUGS |
135 | These functions use static data storage; if the data is needed for future use, | 184 | The non-reentrant functions use static data storage; if the data is needed |
136 | it should be copied before any subsequent calls overwrite it. | 185 | for future use, it should be copied before any subsequent calls overwrite it. |
137 | Expecting port numbers to fit in a 32-bit quantity is probably naive. | 186 | Expecting port numbers to fit in a 32-bit quantity is probably naive. |