mirror of https://github.com/mkerrisk/man-pages
115 lines
4.3 KiB
Plaintext
115 lines
4.3 KiB
Plaintext
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
||
|
.TH "ENDSERVENT" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
||
|
.\" endservent
|
||
|
.SH NAME
|
||
|
endservent, getservbyname, getservbyport, getservent, setservent \-
|
||
|
network services database functions
|
||
|
.SH SYNOPSIS
|
||
|
.LP
|
||
|
\fB#include <netdb.h>
|
||
|
.br
|
||
|
.sp
|
||
|
void endservent(void);
|
||
|
.br
|
||
|
struct servent *getservbyname(const char *\fP\fIname\fP\fB, const
|
||
|
char *\fP\fIproto\fP\fB);
|
||
|
.br
|
||
|
struct servent *getservbyport(int\fP \fIport\fP\fB, const char *\fP\fIproto\fP\fB);
|
||
|
.br
|
||
|
struct servent *getservent(void);
|
||
|
.br
|
||
|
void setservent(int\fP \fIstayopen\fP\fB);
|
||
|
.br
|
||
|
\fP
|
||
|
.SH DESCRIPTION
|
||
|
.LP
|
||
|
These functions shall retrieve information about network services.
|
||
|
This information is considered to be stored in a database
|
||
|
that can be accessed sequentially or randomly. The implementation
|
||
|
of this database is unspecified.
|
||
|
.LP
|
||
|
The \fIsetservent\fP() function shall open a connection to the database,
|
||
|
and set the next entry to the first entry. If the
|
||
|
\fIstayopen\fP argument is non-zero, the \fInet\fP database shall
|
||
|
not be closed after each call to the \fIgetservent\fP()
|
||
|
function (either directly, or indirectly through one of the other
|
||
|
\fIgetserv*\fP()
|
||
|
functions), and the implementation may maintain an open file descriptor
|
||
|
for the database.
|
||
|
.LP
|
||
|
The \fIgetservent\fP() function shall read the next entry of the database,
|
||
|
opening and closing a connection to the database as
|
||
|
necessary.
|
||
|
.LP
|
||
|
The \fIgetservbyname\fP() function shall search the database from
|
||
|
the beginning and find the first entry for which the service
|
||
|
name specified by \fIname\fP matches the \fIs_name\fP member and the
|
||
|
protocol name specified by \fIproto\fP matches the
|
||
|
\fIs_proto\fP member, opening and closing a connection to the database
|
||
|
as necessary. If \fIproto\fP is a null pointer, any value
|
||
|
of the \fIs_proto\fP member shall be matched.
|
||
|
.LP
|
||
|
The \fIgetservbyport\fP() function shall search the database from
|
||
|
the beginning and find the first entry for which the port
|
||
|
specified by \fIport\fP matches the \fIs_port\fP member and the protocol
|
||
|
name specified by \fIproto\fP matches the
|
||
|
\fIs_proto\fP member, opening and closing a connection to the database
|
||
|
as necessary. If \fIproto\fP is a null pointer, any value
|
||
|
of the \fIs_proto\fP member shall be matched. The \fIport\fP argument
|
||
|
shall be in network byte order.
|
||
|
.LP
|
||
|
The \fIgetservbyname\fP(), \fIgetservbyport\fP(), and \fIgetservent\fP()
|
||
|
functions shall each return a pointer to a
|
||
|
\fBservent\fP structure, the members of which shall contain the fields
|
||
|
of an entry in the network services database.
|
||
|
.LP
|
||
|
The \fIendservent\fP() function shall close the database, releasing
|
||
|
any open file descriptor.
|
||
|
.LP
|
||
|
These functions need not be reentrant. A function that is not required
|
||
|
to be reentrant is not required to be thread-safe.
|
||
|
.SH RETURN VALUE
|
||
|
.LP
|
||
|
Upon successful completion, \fIgetservbyname\fP(), \fIgetservbyport\fP(),
|
||
|
and \fIgetservent\fP() return a pointer to a
|
||
|
\fBservent\fP structure if the requested entry was found, and a null
|
||
|
pointer if the end of the database was reached or the
|
||
|
requested entry was not found. Otherwise, a null pointer is returned.
|
||
|
.SH ERRORS
|
||
|
.LP
|
||
|
No errors are defined.
|
||
|
.LP
|
||
|
\fIThe following sections are informative.\fP
|
||
|
.SH EXAMPLES
|
||
|
.LP
|
||
|
None.
|
||
|
.SH APPLICATION USAGE
|
||
|
.LP
|
||
|
The \fIport\fP argument of \fIgetservbyport\fP() need not be compatible
|
||
|
with the port values of all address families.
|
||
|
.LP
|
||
|
The \fIgetservbyname\fP(), \fIgetservbyport\fP(), and \fIgetservent\fP()
|
||
|
functions may return pointers to static data, which
|
||
|
may be overwritten by subsequent calls to any of these functions.
|
||
|
.SH RATIONALE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH FUTURE DIRECTIONS
|
||
|
.LP
|
||
|
None.
|
||
|
.SH SEE ALSO
|
||
|
.LP
|
||
|
\fIendhostent\fP() , \fIendprotoent\fP() , \fIhtonl\fP() , \fIinet_addr\fP()
|
||
|
, the Base Definitions volume of
|
||
|
IEEE\ Std\ 1003.1-2001, \fI<netdb.h>\fP
|
||
|
.SH COPYRIGHT
|
||
|
Portions of this text are reprinted and reproduced in electronic form
|
||
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
||
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
||
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
||
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
||
|
event of any discrepancy between this version and the original IEEE and
|
||
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
||
|
is the referee document. The original Standard can be obtained online at
|
||
|
http://www.opengroup.org/unix/online.html .
|