getprotobynumber_r 子例程
用途
按数字从 /etc/protocols 文件获取协议条目。
库
标准 C 库 (libc.a)
语法
#include <netdb.h>
int getprotobynumber_r(proto, protoent, proto_data)
register int proto;
struct protoent *protoent;
struct protoent_data *proto_data; 描述
getprotobynumber_r 子例程使用指定的协议号作为搜索键从 /etc/protocols 文件检索协议信息。
应用程序可以使用 getprotobynumber_r 子例程来访问协议名称,别名和编号。
getprotobynumber_r 子例程从文件的开头开始按顺序搜索 /etc/protocols 文件,直到它找到匹配的协议名,协议号或直到它到达文件的末尾为止。
子例程编写原型结构,该结构包含 /etc/protocols 文件中信息行的字段。
netdb.h 文件定义原型结构。
getprotobynumber 子例程覆盖在后续调用中返回的静态数据。 getprotobynumber_r 子例程不存在。
使用 endprotoent_r 子例程来关闭 /etc/protocols 文件。
参数
| 项 | 描述 |
|---|---|
| proto | 指定协议号。 |
| 原型 | 指向 原型 结构。 |
| 原型数据 | 指向 proto_data 结构。 |
返回值
如果成功,函数返回 0;如果不成功,函数返回-1。
注意:如果发生错误或到达文件末尾,getprotobynumber_r子程序会将protoent参数设置为 NULL,并返回-1表示出错。
文件
| 项 | 描述 |
|---|---|
| /etc/protocols | 包含协议信息。 |