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表示出错。