struct protoent相关

在snort.c中的函数void InitProtoNames()的作用是取得协议名放在protocol_names[256]      
struct protoent {
        char *       p_name; //名称
        char *               p_aliases; //别名
        short *       p_proto; //编号
       }  
getprotobyname():依照通讯协定 (protocol) 的名称来获取该通讯协定的其他资料。
  格 式: struct protoent * getprotobyname( const char *name );
  参 数: name   通讯协定名称
  传回值: 成功 - 一指向 struct protoent 的指针

       失败 - NULL  说明: 利用通讯协定的名称来得知该通讯协定的别名、编号等资料。 
getprotobynumber():依照通讯协定的编号来获取该通讯协定的其他资料。
  格 式: struct protoent * getprotobynumber( int number );
  参 数: number  以 host 排列方式的通讯协定编号
  传回值: 成功 - 一指向 struct protoent 的指针
       失败 - NULL 
  说明: 利用通讯协定的编号来得知该通讯协定的名称、别名等资料。

另外,:-)
toupper(char c)将字符c转换为大写英文字母。
d = strdup(char * s)复制字符串s到d,返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。

你可能感兴趣的:(struct)