機能説明
Mp_OpenRemoteCmdLog()発行後、Mp_ReadRemoteCmdLog()関数を発行することにより、ロギングされたコマンドデータを1行ずつ読み出します。
呼び出し形式
【Windows for Itanium版、Windows x64版で64ビットのアプリケーションを作成する場合】
#include <mp_opagt_api.h> int Mp_ReadRemoteCmdLog( fp, id, logtime, status, text, node, NodeID, DatabaseID ); HANDLE fp; /* Mp_OpenRemoteCmdLog()で獲得したファイル */ /* 識別子を指定する */ int *id; /* コマンド要求とコマンド応答を対応付ける */ /* 識別子の格納領域のアドレスを指定する */ time_t *logtime; /* コマンドデータが自システムに通知された */ /* 日時の格納領域のアドレスを指定する */ int *status; /* ステータスの格納領域のアドレスを指定する*/ char *text; /* 要求コマンドテキスト,コマンドの実行結果,*/ /* 詳細コードの格納領域のアドレスを指定する*/ char *node; /* コマンド要求先システムまたはコマンドを応*/ /* 答したシステムのノード名の格納領域のアド*/ /* レスを指定する */ DWORD *NodeID; /* NULLを指定する */ DWORD *DatabaseID; /* NULLを指定する */
【Windows版(Windows for Itanium版、Windows x64版以外)の場合】
#include <mp_opagt_api.h> int Mp_ReadRemoteCmdLog( fp, id, logtime, status, text, node, NodeID, DatabaseID ); int fp; /* Mp_OpenRemoteCmdLog()で獲得したファイル */ /* 識別子を指定する */ int *id; /* コマンド要求とコマンド応答を対応付ける */ /* 識別子の格納領域のアドレスを指定する */ time_t *logtime; /* コマンドデータが自システムに通知された */ /* 日時の格納領域のアドレスを指定する */ int *status; /* ステータスの格納領域のアドレスを指定する*/ char *text; /* 要求コマンドテキスト,コマンドの実行結果,*/ /* 詳細コードの格納領域のアドレスを指定する*/ char *node; /* コマンド要求先システムまたはコマンドを応*/ /* 答したシステムのノード名の格納領域のアド*/ /* レスを指定する */ DWORD *NodeID; /* NULLを指定する */ DWORD *DatabaseID; /* NULLを指定する */
【UNIX版(Linux for Itanium版、Linux for Intel64版を除く)の場合】
#include <mp_opagt_api.h> int Mp_ReadRemoteCmdLog( fp, id, logtime, status, text, node, rsv ); int fp; /* Mp_OpenRemoteCmdLog()で獲得したファイル */ /* 識別子を指定する */ int *id; /* コマンド要求とコマンド応答を対応付ける */ /* 識別子の格納領域のアドレスを指定する */ time_t *logtime; /* コマンドデータが自システムに通知された日*/ /* 時の格納領域のアドレスを指定する */ int *status; /* ステータスの格納領域のアドレスを指定する*/ char *text; /* 要求コマンドテキスト,コマンドの実行結果,*/ /* 詳細コードの格納領域のアドレスを指定する*/ char *node; /* コマンド要求先システムまたはコマンドを応*/ /* 答したシステムのノード名の格納領域のアド*/ /* レスを指定する */ char *rsv; /* NULLを指定する */
【Linux for Itanium版、Linux for Intel64版】
#include <mp_opagt_api.h> int Mp_ReadRemoteCmdLog( fp, id, logtime, status, text, node, rsv ); long fp; /* Mp_OpenRemoteCmdLog()で獲得したファイル */ /* 識別子を指定する */ int *id; /* コマンド要求とコマンド応答を対応付ける */ /* 識別子の格納領域のアドレスを指定する */ time_t *logtime; /* コマンドデータが自システムに通知された日*/ /* 時の格納領域のアドレスを指定する */ int *status; /* ステータスの格納領域のアドレスを指定する*/ char *text; /* 要求コマンドテキスト,コマンドの実行結果,*/ /* 詳細コードの格納領域のアドレスを指定する*/ char *node; /* コマンド要求先システムまたはコマンドを応*/ /* 答したシステムのノード名の格納領域のアド*/ /* レスを指定する */ char *rsv; /* NULLを指定する */
パラメタ
Mp_OpenRemoteCmdLog()で獲得したファイル識別子を指定します。
Mp_ExecRemoteCmd()の復帰コードに対応する識別子が格納されます。
これにより、どのコマンド要求に対するコマンド応答かを識別することができます。
システム監視エージェントサービスがコマンドログファイルに格納した日時が格納されます。
statusは、コマンドデータの種別です。応答ステータスには、以下のものがあり、どれかの値が格納されます。
コマンドの発行要求です。
標準出力に出力されたコマンドの結果です。
標準エラー出力に出力されたコマンドの結果です。
STATUS_END:
コマンド応答が正常に終了しました(復帰コードあり)。
コマンド応答が終了しました(異常終了等)。
statusがコマンド要求の場合、発行されたコマンドテキストが格納されます。
statusがコマンド結果応答、およびコマンド最終応答の場合、textには、Mp_GetRemoteCmdMap()のパラメタrespと同じ値が格納されます。
2048バイト分呼び出し元で準備します。
statusがコマンド要求の場合はコマンド要求先のシステムのノード名、statusがコマンド結果応答、およびコマンド最終応答の場合はコマンドを応答したシステムのノード名が格納されます。
MPOP_NODENAMELENバイト分呼び出し元で準備します。
実行に必要な権限/実行環境
【Windows版】
運用管理サーバ/部門管理サーバ/業務サーバでは、Administrator権限/DmAdmin権限/DmOperation権限/DmReference権限が必要です。
運用管理クライアント/クライアントでは、一般ユーザ権限で実行可能です。
運用管理サーバ/部門管理サーバ/業務サーバで実行可能です。
運用管理クライアント/クライアントでは、[イベント監視]を選択インストールしたとき実行可能です。
【UNIX版】
運用管理サーバ/部門管理サーバ/業務サーバではシステム管理者(スーパーユーザ)権限が必要です。
運用管理クライアント/クライアントでは、一般ユーザ権限で実行可能です。
運用管理サーバ/部門管理サーバ/業務サーバで実行可能です。
運用管理クライアント/クライアントでは、[イベント監視]を選択インストールしたとき実行可能です。
復帰値
正常終了。コマンドデータを正常に獲得。
正常終了。コマンドデータをすべて獲得。
異常終了。異常終了した場合の詳細なエラーコードは、以下の方法で取得/参照してください。
GetLastError()で取得してください。
エラーコードは、errnoに設定されます。
errnoには、システムのエラーコード(/usr/include/sys/errno.hに定義)、または/opt/systemwalker/include/mp_operr_api.hに定義されている値が設定されます。
API格納場所
“リモートコマンドのAPI”を参照してください。