getprotoent(3)getprotoent(3)NAME
getprotoent, getprotoent_r - Get a protocol entry
SYNOPSIS
#include <netdb.h>
struct protoent *getprotoent(
void );
[Tru64 UNIX] The following obsolete function is supported in order to
maintain backward compatibility with previous versions of the operating
system. You should not use it in new designs. int getprotoent_r(
struct protoent *proto,
struct protoent_data *proto_data );
LIBRARY
Standard C Library (libc)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
getprotoent(): XNS4.0, XNS5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
[Tru64 UNIX] For getprotoent_r(), points to the protoent structure.
The netdb.h header file defines the protoent structure. [Tru64
UNIX] For getprotoent_r(), is data for the protocols database.
Thenetdb.h header file defines the protoent_data structure.
DESCRIPTION
The getprotoent() (get protocol entry) function retrieves protocol
information from either the local /etc/protocols file or the NIS dis‐
tributed networks file for the requested information. To determine
which file or files to search, and in which order, the system uses the
switches in the /etc/svc.conf file.
The getprotoent() function returns a pointer to a protoent structure,
which contains the fields for a line of information in the networks
protocols database file. The netdb.h header file defines the protoent
structure.
An application program can use the getprotoent() function to access a
protocol name, its aliases, and protocol number. Use the endprotoent()
function to close the /etc/protocols file. Use the setprotoent() func‐
tion to rewind.
NOTES
The getprotoent() function returns a pointer to thread-specific data.
Subsequent calls to this or a related function from the same thread
overwrite this data.
[Tru64 UNIX] The getprotoent_r() function is an obsolete reentrant
version of the getprotoent() function. It is supported in order to
maintain backward compatibility with previous versions of the operating
system and should not be used in new designs. Note that you must zero-
fill the proto_data structure before its first access by either the
setprotoent_r() or getprotoent_r() function. When using the getpro‐
toent_r() function, use the setprotoent_r() function to rewind the net‐
work protocols database file and the endprotoent_r() function to close
it.
RETURN VALUES
Upon successful completion, the getprotoent() function returns a
pointer to a protoent structure. If it fails or reaches the end of the
network protocols database file, it returns a null pointer.
[Tru64 UNIX] Upon successful completion, the getprotoent_r() function
stores the protoent structure in the location pointed to by proto, and
returns a value of 0 (zero). Otherwise it returns a value of -1.
ERRORS
Current industry standards do not define error values for the getpro‐
toent() function.
[Tru64 UNIX] If any of the following conditions occurs, the getpro‐
toent_r() function sets errno to the corresponding value: The proto or
proto_data parameter is invalid. The search failed.
In addition, if the getprotoent() or getprotoent_r() function fails to
open the file, it sets errno to indicate the cause of the failure.
FILES
Contains protocol information. The database service selection configu‐
ration file.
SEE ALSO
Functions: getprotobynumber(3), getprotobyname(3), setprotoent(3), end‐
protoent(3).
Files: protocols(4), svc.conf(4).
Networks: nis_intro(7).
Standards: standards(5).
Network Programmer's Guide
getprotoent(3)