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_FCADAPTER。 userbuff 参数始终指向可包含此函数复制的所需数目的 perfstat_fcstat_t 结构的内存区域。 成功完成子例程时, name 参数将设置为下一个 FC 适配器的名称,或者在复制所有结构后设置为 ""。
要检索可用 FC 适配器统计信息的数量,请将 name 和 userbuff 参数设置为 NULL,并将 desired_number 参数设置为 0。 返回的值为可用适配器数。
注意:
对于非 root 用户,对于所有列出的光纤通道适配器, perfstat_fcstat 子例程返回的值将始终为零。
参数
| 项 | 描述 |
|---|---|
| 名称 | 指定 "" 或 FIRST_FCADAPTER,或者指定需要统计信息的第一个网络适配器的名称。 例如, fcs0 或 fcs1。 |
| 用户缓冲区 | 指向要使用一个或多个 perfstat_fcstat_t 结构填充的内存区域。 |
| 大小结构 | 指定 perfstat_fcstat_t 结构的大小。 |
| 期望数 (desired_number) | 指定要复制到 userbuff 指针的 perfstat_fcstat_t 结构的数目。 |
返回值
成功完成子例程时,除非函数用于检索可用结构数,否则将返回已填充的结构数。 如果子程序不成功,则返回值为-1并设置Erno全局变量。
错误代码
如果下列其中一项为 true ,那么子例程不成功:
| 项 | 描述 |
|---|---|
| EINVAL | 其中一个参数无效。 |
| Efault | 内存不足。 |
| ENOMEM | 字符串的缺省长度太短。 |
| ENOMSG | 无法访问字典。 |
文件
libperfstat.h 文件定义标准宏,数据类型和子例程。