 |
Index for Section 3 |
|
 |
Alphabetical listing for G |
|
getprotoent(3)
NAME
getprotoent, getprotoent_r - Get a protocol entry
LIBRARY
Standard C Library (libc.so, libc.a)
SYNOPSIS
#include <netdb.h>
struct protoent *getprotoent(void);
[Digital] 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);
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
getprotoent(): XPG4-UNIX
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
proto [Digital] For getprotoent_r(), points to the protoent structure.
The netdb.h header file defines the protoent structure.
proto_data
[Digital] For getprotoent_r(), is data for the protocols
database. The netdb.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
distributed 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() function
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.
[Digital] 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 getprotoent_r() function, use the
setprotoent_r() function to rewind the network 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.
[Digital] 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 getprotoent()
function.
[Digital] If any of the following conditions occurs, the getprotoent_r()
function sets errno to the corresponding value:
[EINVAL] The proto or proto_data parameter is invalid.
[ESRCH] 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
/etc/protocols
Contains protocol information.
/etc/svc.conf
The database service selection configuration file.
RELATED INFORMATION
Functions: getprotobynumber(3), getprotobyname(3), setprotoent(3),
endprotoent(3).
Files: protocols(4), svc.conf(4).
Networks: nis_intro(7).
Standards: standards(5).