Hitachi

Hitachi System Information Capture システム分析支援 リアルタイムモニタ 


10.4.2 es_rtm_get(GET要求)

形式:ANSI Cの形式

#include <esrtm.h>
int es_rtm_get(ESRTM_GETPARAM *getparam_pt, ESLONG flags)

typedef struct es_rtm_getparam_t{ /*GETパラメタ構造体 */
 ESULONG protocol; /*プロトコル種別 */
 char yobi1[12]; /*予備 */
 char system_name[32]; /*システム名 */
 ESRTM_TELEGRAM *ext_request; /*要求電文のTELEGRAMパラメタ構造体 */
 /*アドレス */
 ESRTM_TELEGRAM *ext_reply; /*応答電文のTELEGRAMパラメタ構造体 */
 /*アドレス */
 void *protoinf; /*プロトコル情報パラメタ構造体 */
 /*アドレス */
 ESULONG64 response_time; /*応答時間 */
 ESULONG alert_type; /*アラート種別 */
 ESLONG user_code; /*ユーザ情報コード */
 char analysis_key1[33];/*分析キー情報1 */
 char analysis_key2[33];/*分析キー情報2 */
 char yobi[102]; /*予備 */
} ESRTM_GETPARAM;

typedef struct es_rtm_telegram_t{ /*TELEGRAMパラメタ構造体 */
 ESULONG tv_sec; /*受信時刻(秒) */
 ESULONG tv_usec; /*受信時刻(マイクロ秒) */
 unsigned char src_ip[4]; /*送信元IPアドレス */
 unsigned char dst_ip[4]; /*送信先IPアドレス */
 unsigned short src_port; /*送信元ポート番号 */
 unsigned short dst_port; /*送信先ポート番号 */
 ESULONG indata_len; /*入力電文長 */
 ESULONG proto_len; /*プロトコルヘッダ部長 */
 ESULONG user_len; /*ユーザーデータ部長 */
 char *indata_area_pt; /*入力電文格納エリアアドレス */
 char yobi[24]; /*予備 */
} ESRTM_TELEGRAM;

RPCプロトコルのプロトコル情報パラメタ構造体

typedef struct es_plg_proto_rpc { /*プロトコル情報パラメタ構造体 */
 ESLONG protocol_type; /*プロトコル種別詳細 */
 ESLONG rpc_model; /*RPC形態 */
 char group[32]; /*サービスグループ名 */
 char service[32]; /*サービス名 */
 ESLONG rtncode; /*リターン値 */
 ESULONG root_number; /*製品情報 */
 ESULONG client_number; /*製品情報 */
 char root_nodeid[5]; /*製品情報 */
 char client_nodeid[5]; /*製品情報 */
 char server_nodeid[5]; /*製品情報 */
 char reserve[29]; /*予備 */
} ESPLG_PROTO_RPC;

IIOPプロトコルのプロトコル情報パラメタ構造体

typedef struct es_plg_proto_iiop {
 char protoinf_type; /*プロトコル情報種別 */
 char req_byte_order; /*要求電文バイトオーダ */
 char rpy_byte_order; /*応答電文バイトオーダ */
 char reserve1[5]; /*予備領域 */
 char *object_key; /*オブジェクトキー */
 ESULONG object_key_size; /*オブジェクトキーサイズ */
 char reserve2[4]; /*予備領域 */
 char *operation; /*オペレーション名 */
 ESULONG operation_size; /*オペレーション名サイズ */
 char reserve3[4]; /*予備領域 */
 void *req_service_context;
 /*要求電文サービスコンテキスト */
 ESULONG req_service_context_size;
 /*要求電文サービスコンテキストサイズ*/
 char reserve4[4]; /*予備領域 */
 void *rpy_service_context;
 /*応答電文サービスコンテキスト */
 ESULONG rpy_service_context_size;
 /*応答電文サービスコンテキストサイズ*/
 char reserve5[4]; /*予備領域 */
 ESULONG reply_status; /*リターン値 */
 char system1; /*製品情報1 */
 char system2; /*製品情報2 */
 char system3; /*製品情報3 */
 char reserve6[49]; /*予備領域 */
} ESPLG_PROTO_IIOP;

機能

検索条件に一致した稼働情報の読み込み要求(GET要求)を行います。

UAPが設定するパラメタ項目:getparam_pt

GETパラメタ構造体のアドレスを設定してください。

UAPが設定するパラメタ項目:flags

ESNOFLAGSを設定してください。

システム検証支援基盤から値が返されるパラメタ項目:getparam_pt

GETパラメタ構造体に次の情報を設定します。

■プロトコル種別

プロトコル種別を設定します。

ESRTM_PROT_TCP:TCPプロトコル

ESRTM_PROT_HTTP:HTTPプロトコル

ESRTM_PROT_IIOP:IIOPプロトコル

ESRTM_PROT_RPC:RPCプロトコル

■システム名

システム名を1~31文字以内で設定します。

■要求電文/応答電文のTELEGRAMパラメタ構造体アドレス

要求電文と応答電文のTELEGRAMパラメタ構造体のアドレスを設定します。

応答電文がない場合、応答電文のTELEGRAMパラメタ構造体のアドレスはNULLを設定します。

TELEGRAMパラメタ構造体に次の情報を設定します。

■受信時刻(秒)

要求電文/応答電文の受信時刻の秒部分を設定します。

■受信時刻(マイクロ秒)

要求電文/応答電文の受信時刻のマイクロ秒部分を設定します。

■送信元IPアドレス

要求電文/応答電文の送信元IPアドレスが次に示す形式で設定します。

例)172.165.112.20

[図データ]

■送信先IPアドレス

要求電文/応答電文の送信先IPアドレスが次に示す形式で設定します。

例)172.165.112.20

[図データ]

■送信元ポート番号

要求電文/応答電文の送信元ポート番号を設定します。

■送信先ポート番号

要求電文/応答電文の送信先ポート番号を設定します。

■入力電文長

要求電文/応答電文のサイズを設定します。

■プロトコルヘッダ部長

要求電文/応答電文のプロトコルヘッダ部のサイズを設定します。

■ユーザーデータ部長

要求電文/応答電文のユーザーデータ部のサイズを設定します。

■入力電文格納エリアアドレス

要求電文/応答電文を格納したエリアのアドレスを設定します。

[図データ]

■プロトコル情報パラメタ構造体アドレス

プロトコル情報パラメタ構造体のアドレスを設定します。プロトコル種別がESRTM_PROT_IIOP、またはESRTM_PROT_RPCの場合に設定します。

■RPCプロトコルのプロトコル情報パラメタ構造体

9.4.4 稼働情報編集UOC」のes_plg_proto_rpcの設定内容を参照してください。

■IIOPプロトコルのプロトコル情報パラメタ構造体

9.4.4 稼働情報編集UOC」のes_plg_proto_iiopの設定内容を参照してください。

■応答時間

応答時間をマイクロ秒単位で設定します。

■アラート種別

アラート検知対象の種別を論理和で設定します。

ESRTM_ALERT_NONE:アラート検知なし

ESRTM_ALERT_PROTO:プロトコルレベルのエラー検知

ESRTM_ALERT_TIMEOUT:応答待ちタイムアウト検知(コネクション切断、およびパケットロストを含む)

ESRTM_ALERT_THRESHOLD:閾値超過

ESRTM_ALERT_USER:ユーザー指示(稼働情報編集UOC)

■ユーザ情報コード

稼働情報編集UOCで設定したユーザ情報コードを設定します。

■分析キー情報1

稼働情報編集UOCで設定した分析キー情報1を設定します。

■分析キー情報2

稼働情報編集UOCで設定した分析キー情報2を設定します。

リターン値

リターン値

意味

ES_OK

正常に終了しました。

ESRTMER_ARGUMENT

引数に設定した値が間違っています。

ESRTMER_TIMING

この関数を発行できる状態ではありません。

ESRTMER_NO_DATA

取得できる稼働情報がありません。

TERM要求を行ってください。

ESRTMER_FILE

稼働情報ファイルが壊れています。

TERM要求を行ってください。

ESRTMER_IOERR

稼働情報ファイルへのI/Oエラーが発生しました。

TERM要求を行ってください。

ESRTMER_SYSERR

システムエラーが発生しました。

ESRTMER_UNRESOLVABLE

継続不可のエラーが発生しました。

注意事項