getprotobyname(3)getprotobyname(3)NAME
getprotobyname, getprotobyname_r - Get a protocol entry by protocol
name
SYNOPSIS
#include <netdb.h>
struct protoent *getprotobyname(
const char *name );
[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 getprotobyname_r(
const char *name,
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:
getprotobyname(): XNS4.0, XNS5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
Specifies the official protocol name or alias. [Tru64 UNIX] For get‐
protobyname_r(), points to the protoent structure. The netdb.h header
file defines the protoent structure. [Tru64 UNIX] For getprotoby‐
name_r(), is data for the protocols database. The netdb.h header file
defines the protoent_data structure.
DESCRIPTION
The getprotobyname() function returns a pointer to a structure of type
protoent. Its members specify data in fields from a record line in
either the local /etc/protocols file or the NIS network protocols data‐
base file. To determine which file or files to search, and in which
order, the system uses the switches in the /etc/svc.conf file. The
netdb.h header file defines the protoent structure.
The getprotobyname() function searches the network protocols database
file sequentially until a match with the name parameter occurs. The
name parameter will specify either the official protocol name or an
alias. When EOF (End-of-File) is reached without a match, an error
value is returned by this function.
When using the getprotobyname() function, use the endprotoent() func‐
tion to close the protocols file.
NOTES
The getprotobyname() 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 getprotobyname_r() function is an obsolete reentrant
version of the getprotobyname() 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 getprotobyname_r() function.
RETURN VALUES
Upon successful completion, the getprotobyname() 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 getprotobyname_r() func‐
tion stores the protoent structure in the location pointed to by proto,
and returns a value of 0 (zero). Upon failure, it returns a value of
-1.
ERRORS
Current industry standards do not define error values for the getproto‐
byname() function.
[Tru64 UNIX] If any of the following conditions occurs, the getproto‐
byname_r() function sets errno to the corresponding value:
The proto_data or proto parameter is invalid. The search failed.
In addition, if the getprotobyname() or getprotobyname_r() function
fail to open the file, it sets errno to indicate the cause of the fail‐
ure.
FILES
The Internet network protocols name database file. Each record in the
file occupies a single line and has three fields: the official protocol
name, the protocol number, and protocol aliases. The database service
selection configuration file.
SEE ALSO
Functions: getprotobynumber(3), getprotoent(3), setprotoent(3), endpro‐
toent(3).
Files: protocols(4), svc.conf(4)
Networks: nis_intro(7)
Standards: standards(5)
Network Programmer's Guide
getprotobyname(3)