Content-type: text/html
getprotoent, getprotoent_r - Get a protocol entry
Standard C Library (libc.so, libc.a)
#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);
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.
[Digital] For getprotoent_r(), points to the protoent structure. The netdb.h header file defines the protoent structure. [Digital] For getprotoent_r(), is data for the protocols database. The netdb.h header file defines the protoent_data structure.
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.
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.
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.
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: 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.
Contains protocol information. The database service selection configuration file.
Functions: getprotobynumber(3), getprotobyname(3), setprotoent(3), endprotoent(3).
Files: protocols(4), svc.conf(4).
Networks: nis_intro(7).
Standards: standards(5). delim off