113 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\" Copyright (c) 1983 Regents of the University of California.
 | |
| .\" All rights reserved.  The Berkeley software License Agreement
 | |
| .\" specifies the terms and conditions for redistribution.
 | |
| .\"
 | |
| .\"	@(#)getservent.3n	6.3 (Berkeley) 5/19/86
 | |
| .\"
 | |
| .TH GETSERVENT 3 "May 19, 1986"
 | |
| .UC 5
 | |
| .SH NAME
 | |
| getservent, getservbyport, getservbyname, setservent, endservent \- get service entry
 | |
| .SH SYNOPSIS
 | |
| .nf
 | |
| .ft B
 | |
| #include <netdb.h>
 | |
| .PP
 | |
| .ft B
 | |
| struct servent *getservent()
 | |
| .PP
 | |
| .ft B
 | |
| struct servent *getservbyname(name, proto)
 | |
| char *name, *proto;
 | |
| .PP
 | |
| .ft B
 | |
| struct servent *getservbyport(port, proto)
 | |
| int port; char *proto;
 | |
| .PP
 | |
| .ft B
 | |
| setservent(stayopen)
 | |
| int stayopen
 | |
| .PP
 | |
| .ft B
 | |
| endservent()
 | |
| .fi
 | |
| .SH DESCRIPTION
 | |
| .IR Getservent ,
 | |
| .IR getservbyname ,
 | |
| and
 | |
| .I getservbyport
 | |
| each return a pointer to an object with the
 | |
| following structure
 | |
| containing the broken-out
 | |
| fields of a line in the network services data base,
 | |
| .IR /etc/services .
 | |
| .RS
 | |
| .PP
 | |
| .nf
 | |
| struct	servent {
 | |
| 	char	*s_name;	/* official name of service */
 | |
| 	char	**s_aliases;	/* alias list */
 | |
| 	int	s_port;		/* port service resides at */
 | |
| 	char	*s_proto;	/* protocol to use */
 | |
| };
 | |
| .ft R
 | |
| .ad
 | |
| .fi
 | |
| .RE
 | |
| .PP
 | |
| The members of this structure are:
 | |
| .TP \w's_aliases'u+2n
 | |
| s_name
 | |
| The official name of the service.
 | |
| .TP \w's_aliases'u+2n
 | |
| s_aliases
 | |
| A zero terminated list of alternate names for the service.
 | |
| .TP \w's_aliases'u+2n
 | |
| s_port
 | |
| The port number at which the service resides.
 | |
| Port numbers are returned in network byte order.
 | |
| .TP \w's_aliases'u+2n
 | |
| s_proto
 | |
| The name of the protocol to use when contacting the
 | |
| service.
 | |
| .PP
 | |
| .I Getservent
 | |
| reads the next line of the file, opening the file if necessary.
 | |
| .PP
 | |
| .I Setservent
 | |
| opens and rewinds the file.  If the
 | |
| .I stayopen
 | |
| flag is non-zero,
 | |
| the net data base will not be closed after each call to 
 | |
| .I getservbyname
 | |
| or
 | |
| .IR getservbyport .
 | |
| .PP
 | |
| .I Endservent
 | |
| closes the file.
 | |
| .PP
 | |
| .I Getservbyname
 | |
| and
 | |
| .I getservbyport
 | |
| sequentially search from the beginning
 | |
| of the file until a matching
 | |
| protocol name or
 | |
| port number is found,
 | |
| or until EOF is encountered.
 | |
| If a protocol name is also supplied (non-NULL),
 | |
| searches must also match the protocol.
 | |
| .SH FILES
 | |
| /etc/services
 | |
| .SH "SEE ALSO"
 | |
| getprotoent(3), services(5)
 | |
| .SH DIAGNOSTICS
 | |
| Null pointer
 | |
| (0) returned on EOF or error.
 | |
| .SH BUGS
 | |
| All information
 | |
| is contained in a static area
 | |
| so it must be copied if it is
 | |
| to be saved.  Expecting port
 | |
| numbers to fit in a 32 bit
 | |
| quantity is probably naive.
 | 
