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パラメタ構造体
-
プロトコル情報パラメタ構造体
-