perfstat_protocol 子例程

用途

检索协议使用情况统计信息。

Perfstat 库 (libperfstat.a)

语法

#include <libperfstat.h>


int perfstat_protocol (name, userbuff, sizeof_struct, desired_number)
perfstat_id_t *name;
perfstat_protocol_t *userbuff;
size_t sizeof_struct;
int desired_number;

描述

perfstat_protocol 子例程检索协议使用情况统计信息,例如 ICMP , ICMPv6, IP , IPv6, TCP , UDP , RPC , NFS, NFSv2, NFSv3。 要获取一组或多组协议使用情况度量,请将 name 参数设置为需要统计信息的第一个协议的名称,并设置 desired_number 参数。

要从第一个协议开始,请将 name 参数设置为 "" 或 FIRST_PROTOCOL。 userbuff 参数必须指向足够大的内存区域,以包含此函数将复制的所需数目的 perfstat_protocol_t 结构。 返回时, name 参数将设置为下一个协议的名称,或者设置为 "" (如果已复制所有结构)。

要检索协议使用情况度量的可用集合数,请将 nameuserbuff 参数设置为 NULL ,并将 desired_number 参数设置为 0。 返回的值将是可用集的数目。

此子例程在 工作负载分区 (WPAR) 中不受支持。 它不知道 WPAR

参数

描述
名称 包含 "ip" , "ipv6" , "icmp" , "icmpv6" , "tcp" , "udp" , "rpc" , "nfs" , "nfsv2" , "nfsv3" , "" 或 FIRST_PROTOCOL。
用户缓冲区 指向要使用一个或多个 perfstat_protocol_t 结构填充的内存区域。
大小结构 指定 perfstat_protocol_t 结构的大小: sizeof(perfstat_protocol_t)
期望数 (desired_number) 指定要复制到 userbuffperfstat_protocol_t 结构的数目。

返回值

成功完成后,将返回可填充的结构数。 如果不成功,则返回值为-1并设置errno全局变量。

错误代码

如果满足以下条件,那么 perfstat_protocol 子例程不成功:
描述
EINVAL 其中一个参数无效。

文件

libperfstat.h 文件定义标准宏,数据类型和子例程。