perfstat_fcstat 子例程

用途

检索光纤通道 (FC) 适配器的统计信息。

Perfstat 库 (libperfstat.a)

语法

#include <libperfstat.h>

int perfstat_fcstat (name, userbuff, sizeof_struct, desired_number)

perfstat_id_t *name;
perfstat_fcstat_t *userbuff;
size_t sizeof_struct;
int desired_number;

描述

perfstat_fcstat 子例程检索一个或多个 FC 适配器的统计信息。 同样功能也用于检索可用 FC 适配器统计信息的数量。

要获取一个或多个 FC 适配器统计信息,请通过 name 参数指定想要统计信息的第一个 FC 适配器的名称,并相应地设置 desired_number 参数。 要从第一个 FC 适配器开始,请将 name 参数设置为 "" 或 FIRST_FCADAPTERuserbuff 参数始终指向可包含此函数复制的所需数目的 perfstat_fcstat_t 结构的内存区域。 成功完成子例程时, name 参数将设置为下一个 FC 适配器的名称,或者在复制所有结构后设置为 ""。

要检索可用 FC 适配器统计信息的数量,请将 nameuserbuff 参数设置为 NULL,并将 desired_number 参数设置为 0。 返回的值为可用适配器数。

注意:

对于非 root 用户,对于所有列出的光纤通道适配器, perfstat_fcstat 子例程返回的值将始终为零。

参数

描述
名称 指定 "" 或 FIRST_FCADAPTER,或者指定需要统计信息的第一个网络适配器的名称。 例如, fcs0fcs1
用户缓冲区 指向要使用一个或多个 perfstat_fcstat_t 结构填充的内存区域。
大小结构 指定 perfstat_fcstat_t 结构的大小。
期望数 (desired_number) 指定要复制到 userbuff 指针的 perfstat_fcstat_t 结构的数目。

返回值

成功完成子例程时,除非函数用于检索可用结构数,否则将返回已填充的结构数。 如果子程序不成功,则返回值为-1并设置Erno全局变量。

错误代码

如果下列其中一项为 true ,那么子例程不成功:

描述
EINVAL 其中一个参数无效。
Efault 内存不足。
ENOMEM 字符串的缺省长度太短。
ENOMSG 无法访问字典。

文件

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