Man Pages

getservent(3p) - phpMan getservent(3p) - phpMan

Command: man perldoc info search(apropos)  


ENDSERVENT(3P)             POSIX Programmer's Manual            ENDSERVENT(3P)



PROLOG
       This manual page is part of the POSIX Programmer's Manual.  The Linux implementation of this interface may dif-
       fer (consult the corresponding Linux manual page for details of Linux behavior), or the interface  may  not  be
       implemented on Linux.

NAME
       endservent, getservbyname, getservbyport, getservent, setservent - network services database functions

SYNOPSIS
       #include <netdb.h>

       void endservent(void);
       struct servent *getservbyname(const char *name, const char *proto);
       struct servent *getservbyport(int port, const char *proto);
       struct servent *getservent(void);
       void setservent(int stayopen);


DESCRIPTION
       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  unspeci-
       fied.

       The  setservent()  function shall open a connection to the database, and set the next entry to the first entry.
       If the stayopen argument is non-zero, the net database shall not be closed after each call to the  getservent()
       function (either directly, or indirectly through one of the other getserv*() functions), and the implementation
       may maintain an open file descriptor for the database.

       The getservent() function shall read the next entry of the database, opening and closing a  connection  to  the
       database as necessary.

       The  getservbyname()  function  shall search the database from the beginning and find the first entry for which
       the service name specified by name matches the s_name member and the protocol name specified by  proto  matches
       the  s_proto member, opening and closing a connection to the database as necessary. If proto is a null pointer,
       any value of the s_proto member shall be matched.

       The getservbyport() function shall search the database from the beginning and find the first  entry  for  which
       the  port  specified  by  port  matches  the s_port member and the protocol name specified by proto matches the
       s_proto member, opening and closing a connection to the database as necessary. If proto is a null pointer,  any
       value of the s_proto member shall be matched. The port argument shall be in network byte order.

       The  getservbyname(),  getservbyport(),  and  getservent()  functions  shall each return a pointer to a servent
       structure, the members of which shall contain the fields of an entry in the network services database.

       The endservent() function shall close the database, releasing any open file descriptor.

       These functions need not be reentrant. A function that is not required to be reentrant is not  required  to  be
       thread-safe.

RETURN VALUE
       Upon  successful  completion,  getservbyname(), getservbyport(), and getservent() return a pointer to a servent
       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.

ERRORS
       No errors are defined.

       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       The port argument of getservbyport() need not be compatible with the port values of all address families.

       The  getservbyname(), getservbyport(), and getservent() functions may return pointers to static data, which may
       be overwritten by subsequent calls to any of these functions.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       endhostent(), endprotoent(),  htonl(),  inet_addr(),  the  Base  Definitions  volume  of  IEEE Std 1003.1-2001,
       <netdb.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Stan-
       dard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base  Specifica-
       tions  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 Stan-
       dard,  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 .



IEEE/The Open Group                  2003                       ENDSERVENT(3P)