RSiInit 或 RSiInitx 子例程

用途

分配或更改 RSi 句柄的表。

RSI 库 (libSpmi.a)

语法

#include sys/Rsi.h
RSiHandle RSiInit(count)
int count;
RSiHandlex RSiInitx(count)
int count;

描述

在执行任何其他 RSi 调用之前,数据使用者程序必须发出 RSiInit 或 RSiInitx 调用,其目的如下所示:

  • 分配RSiHandleStruct或RSiHandleStructx结构数组,并将数组地址返回给数据消费者程序。
  • 增加先前分配的RSiHandleStruct或RSiHandleStructx结构数组的大小,并用先前数组的内容初始化新数组。

该子程序是AIX®性能工具箱许可产品的一部分。

参数

COUNT
必须指定 RSI 句柄数组中的元素数。 如果该调用用于扩展先前分配的数组,那么此参数必须大于当前数组元素数。 该值必须始终大于零。 将数组大小指定为至少与数据使用者程序在任何时间点可以与之进行对话的主机数一样大。

返回值

如果成功,子例程将返回已分配数组的地址。 如果发生错误,那么会将错误文本放在外部字符数组 RSiEMsg 中,并且子例程会返回 NULL。 当用于增加先前分配的阵列的大小时,子例程首先分配新阵列,然后将整个旧阵列移动到新区域。 因此,应用程序应该按索引而不是按地址来引用 RSi 句柄数组中的元素 (如果它们预期需要扩展该数组)。 仅当数据使用者程序对话的远程主机数在程序的生命周期内可能增加时,才需要扩展数组。

重复调用 RSiInit 或 RSiInitx 子例程的应用程序需要在重新执行 RSiInit 或 RSiInitx 调用时保留 RSiHandle 或 RSiHandlex 数组的先前地址。 在调用成功完成后,调用程序应使用 自由 子例程释放先前的数组。

错误代码

所有远程统计信息接口 (RSI) 子例程都使用外部变量来提供错误信息。 为了访问这些变量,应用程序必须定义下列外部变量:

  • extern charRSiEMsg[];
  • extern intRSiErrno;

如果子例程未返回错误,那么 RSiErrno 变量将设置为 RSiOkay ,并且 RSiEMsg 字符数组为空。 如果检测到错误,RSiErrno变量将根据枚举RSiErrorType定义返回一个错误代码。

文件

描述
/usr/include/sys/Rsi.h 声明应用程序可以用来访问 RSI 的子例程,数据结构,句柄以及宏。