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 |
継続不可のエラーが発生しました。 |
注意事項
-
各パラメタ構造体の予備はnull文字クリアしてください。
-
以下の領域については、次回の要求後には参照できませんので、必要に応じて退避してください。
-
要求電文/応答電文のTELEGRAMパラメタ構造体
-
プロトコル情報パラメタ構造体
-