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などのプロトコル使用統計を取得します。 プロトコル使用状況メトリックのセットを 1 つ以上取得するには、 name パラメーターを、統計が必要な最初のプロトコルの名前に設定し、 desired_number パラメーターを設定します。
最初のプロトコルから開始するには、 name パラメーターを "" または FIRST_PROTOCOL に設定します。 userbuff パラメーターは、この関数によってコピーされる、必要な数の perfstat_protocol_t 構造が入るだけの十分な大きさのメモリー領域を指す必要があります。 戻り時に、 name パラメーターは、次のプロトコルの名前に設定されるか、またはすべての構造体がコピーされている場合は "" に設定されます。
使用可能なプロトコル使用状況メトリックのセットの数を取得するには、 name パラメーターと userbuff パラメーターを NULL に設定し、 desired_number パラメーターを 0 に設定します。 戻り値は、使用可能なセットの数になります。
このサブルーチンは、 ワークロード・パーティション (WPAR) 内ではサポートされません。 WPARを認識しません。
パラメーター
| 項目 | 説明 |
|---|---|
| name | "ip"、"ipv6"、"icmp"、"icmpv6"、"tcp"、"udp"、"rpc"、"nfs"、"nfsv2"、"nfsv3"、""、または FIRST_PROTOCOL のいずれかを含みます。 |
| ユーザー・バッファー | 1 つ以上の perfstat_protocol_t 構造で埋めるメモリー領域を指します。 |
| 構造体のサイズ (sizeof_struct) | perfstat_protocol_t 構造のサイズを指定します。 sizeof(perfstat_protocol_t) |
| 宛先番号 (desired_number) | userbuffにコピーする perfstat_protocol_t 構造の数を指定します。 |
戻り値
正常終了すると、充てんされる可能性のあるストラクチャーの数が戻されます。 失敗した場合は-1が返され、errnoグローバル変数が設定される。
エラー・コード
| 項目 | 説明 |
|---|---|
| EINVAL | パラメーターの 1 つが無効です。 |
ファイル
libperfstat.h ファイルは、標準マクロ、データ・タイプ、およびサブルーチンを定義します。