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