1 | .\" Copyright (c) 1983 Regents of the University of California.
|
---|
2 | .\" All rights reserved. The Berkeley software License Agreement
|
---|
3 | .\" specifies the terms and conditions for redistribution.
|
---|
4 | .\"
|
---|
5 | .\" @(#)getservent.3n 6.3 (Berkeley) 5/19/86
|
---|
6 | .\"
|
---|
7 | .TH GETSERVENT 3 "May 19, 1986"
|
---|
8 | .UC 5
|
---|
9 | .SH NAME
|
---|
10 | getservent, getservbyport, getservbyname, setservent, endservent \- get service entry
|
---|
11 | .SH SYNOPSIS
|
---|
12 | .nf
|
---|
13 | .ft B
|
---|
14 | #include <netdb.h>
|
---|
15 | .PP
|
---|
16 | .ft B
|
---|
17 | struct servent *getservent()
|
---|
18 | .PP
|
---|
19 | .ft B
|
---|
20 | struct servent *getservbyname(name, proto)
|
---|
21 | char *name, *proto;
|
---|
22 | .PP
|
---|
23 | .ft B
|
---|
24 | struct servent *getservbyport(port, proto)
|
---|
25 | int port; char *proto;
|
---|
26 | .PP
|
---|
27 | .ft B
|
---|
28 | setservent(stayopen)
|
---|
29 | int stayopen
|
---|
30 | .PP
|
---|
31 | .ft B
|
---|
32 | endservent()
|
---|
33 | .fi
|
---|
34 | .SH DESCRIPTION
|
---|
35 | .IR Getservent ,
|
---|
36 | .IR getservbyname ,
|
---|
37 | and
|
---|
38 | .I getservbyport
|
---|
39 | each return a pointer to an object with the
|
---|
40 | following structure
|
---|
41 | containing the broken-out
|
---|
42 | fields of a line in the network services data base,
|
---|
43 | .IR /etc/services .
|
---|
44 | .RS
|
---|
45 | .PP
|
---|
46 | .nf
|
---|
47 | struct servent {
|
---|
48 | char *s_name; /* official name of service */
|
---|
49 | char **s_aliases; /* alias list */
|
---|
50 | int s_port; /* port service resides at */
|
---|
51 | char *s_proto; /* protocol to use */
|
---|
52 | };
|
---|
53 | .ft R
|
---|
54 | .ad
|
---|
55 | .fi
|
---|
56 | .RE
|
---|
57 | .PP
|
---|
58 | The members of this structure are:
|
---|
59 | .TP \w's_aliases'u+2n
|
---|
60 | s_name
|
---|
61 | The official name of the service.
|
---|
62 | .TP \w's_aliases'u+2n
|
---|
63 | s_aliases
|
---|
64 | A zero terminated list of alternate names for the service.
|
---|
65 | .TP \w's_aliases'u+2n
|
---|
66 | s_port
|
---|
67 | The port number at which the service resides.
|
---|
68 | Port numbers are returned in network byte order.
|
---|
69 | .TP \w's_aliases'u+2n
|
---|
70 | s_proto
|
---|
71 | The name of the protocol to use when contacting the
|
---|
72 | service.
|
---|
73 | .PP
|
---|
74 | .I Getservent
|
---|
75 | reads the next line of the file, opening the file if necessary.
|
---|
76 | .PP
|
---|
77 | .I Setservent
|
---|
78 | opens and rewinds the file. If the
|
---|
79 | .I stayopen
|
---|
80 | flag is non-zero,
|
---|
81 | the net data base will not be closed after each call to
|
---|
82 | .I getservbyname
|
---|
83 | or
|
---|
84 | .IR getservbyport .
|
---|
85 | .PP
|
---|
86 | .I Endservent
|
---|
87 | closes the file.
|
---|
88 | .PP
|
---|
89 | .I Getservbyname
|
---|
90 | and
|
---|
91 | .I getservbyport
|
---|
92 | sequentially search from the beginning
|
---|
93 | of the file until a matching
|
---|
94 | protocol name or
|
---|
95 | port number is found,
|
---|
96 | or until EOF is encountered.
|
---|
97 | If a protocol name is also supplied (non-NULL),
|
---|
98 | searches must also match the protocol.
|
---|
99 | .SH FILES
|
---|
100 | /etc/services
|
---|
101 | .SH "SEE ALSO"
|
---|
102 | getprotoent(3), services(5)
|
---|
103 | .SH DIAGNOSTICS
|
---|
104 | Null pointer
|
---|
105 | (0) returned on EOF or error.
|
---|
106 | .SH BUGS
|
---|
107 | All information
|
---|
108 | is contained in a static area
|
---|
109 | so it must be copied if it is
|
---|
110 | to be saved. Expecting port
|
---|
111 | numbers to fit in a 32 bit
|
---|
112 | quantity is probably naive.
|
---|