|
|
1.1 root 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 3N "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 .IR getservbyport .
84: .PP
85: .I Endservent
86: closes the file.
87: .PP
88: .I Getservbyname
89: and
90: .I getservbyport
91: sequentially search from the beginning
92: of the file until a matching
93: protocol name or
94: port number is found,
95: or until EOF is encountered.
96: If a protocol name is also supplied (non-NULL),
97: searches must also match the protocol.
98: .SH FILES
99: /etc/services
100: .SH "SEE ALSO"
101: getprotoent(3N), services(5)
102: .SH DIAGNOSTICS
103: Null pointer
104: (0) returned on EOF or error.
105: .SH BUGS
106: All information
107: is contained in a static area
108: so it must be copied if it is
109: to be saved. Expecting port
110: numbers to fit in a 32 bit
111: quantity is probably naive.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.