Hitachi

Hitachi System Information Capture リファレンス 


8.3.4 拡張PUT要求

機能

蓄積実行により作成した蓄積ファイルを使用せずに新規に蓄積ファイルを作成するときに、ユーザ任意の電文情報の書き込み要求(拡張PUT要求)を行います。蓄積ファイルへの書き込みは、製品が付加するヘッダ情報を含めて最大1TBまで行うことができます。

形式

ANSI Cの形式

#include <esafl.h>
int es_afl_put_ex(ESAFL_DTPARAM *dtparam_pt, ESLONG flags)

パラメタの内容

ESAFL_DTPARAMのパラメタ内容

typedef struct es_afl_dtparam_t{        ………データ管理パラメタ構造体
    ESAFL_HEAD    *head_pt;             ………ヘッダパラメタ構造体アドレス
    ESAFL_DATA    *data_pt;             ………データパラメタ構造体アドレス
    char    yobi1[64];                  ………予備
    char    hsic_area1[512];            ………HSIC使用領域1
    char    hsic_area2[512];            ………HSIC使用領域2
} ESAFL_DTPARAM;

ESAFL_HEADのパラメタ内容

typedef struct es_afl_head_t{           ………ヘッダパラメタ構造体
    unsigned char    src_ip[4];         ………送信元IPアドレス
    unsigned char    dst_ip[4];         ………送信先IPアドレス
    unsigned short   src_port;          ………送信元ポート番号
    unsigned short   dst_port;          ………送信先ポート番号
    ESULONG protocol;                   ………プロトコル種別
    char    data_key[32];               ………電文キー
    char    yobi[80];                   ………予備
} ESAFL_HEAD;

ESAFL_DATAのパラメタ内容

typedef struct es_afl_data_t{           ………データパラメタ構造体
    ESLONG  data_area_len;              ………電文格納エリア長
    char    yobi1[4];                   ………予備
    ESLONG  indata_len;                 ………入力電文長
    ESLONG  indata_len1;                ………実入力電文長
    char    *indata_area_pt;            ………入力電文格納エリアアドレス
    ESLONG  outdata_len;                ………出力電文長
    char    yobi2[4];                   ………予備
    char    *outdata_area_pt;           ………出力電文格納エリアアドレス
    char    yobi[88];                   ………予備
} ESAFL_DATA;

UAPで値を設定するパラメタ項目

dtparam_pt

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

データ管理パラメタ構造体に次の情報を設定してください。

  • ヘッダパラメタ構造体アドレス

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

  • データパラメタ構造体アドレス

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

ヘッダパラメタ構造体に次の情報を設定してください。

  • 送信元IPアドレス

    電文の送信元IPアドレスを次に示す形式で設定します。

    address_destination定義の-cオプションに指定する外部システムのIPアドレスを設定してください。設定した値のチェックは行いません。

    例) 172.165.112.20

    [0]

    [1]

    [2]

    [3]

    0xAC

    0x A5

    0x70

    0x14

  • 送信先IPアドレス

    電文の送信先IPアドレスを次に示す形式で設定します。

    address_destination定義の-sオプションに指定する既存システムのIPアドレスを設定してください。設定した値のチェックは行いません。

    例) 172.165.112.20

    [0]

    [1]

    [2]

    [3]

    0xAC

    0x A5

    0x70

    0x14

  • 送信元ポート番号

    電文の送信元ポート番号を設定してください。

    address_destination定義の-cオプションに指定する外部システムのポート番号を設定してください。設定した値のチェックは行いません。

  • 送信先ポート番号

    電文の送信先ポート番号を設定してください。

    address_destination定義の-sオプションに指定する既存システムのポート番号を設定してください。設定した値のチェックは行いません。

  • プロトコル種別

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

    ESAFL_PROTOMOD_TCP :TCPプロトコル

    ESAFL_PROTOMOD_UDP :UDPプロトコル

    ESAFL_PROTOMOD_HTTP:HTTPプロトコル

  • 電文キー

    電文の電文キー(16進数)を設定します。

    システム内で一意となる値を設定してください。設定した値のチェックは行いません。

データパラメタ構造体に次の情報を設定してください。

  • 出力電文長

    蓄積ファイルに出力する電文のサイズを1から9000000(単位:バイト)の範囲で設定してください。

    電文長は、以下の計算式を満たす必要があります。

    電文長≦INIT要求時の蓄積バッファサイズ−512バイト

  • 出力電文格納エリアアドレス

    電文を格納しているエリアのアドレスを設定します。

flags

ESNOFLAGSを設定してください。

HSICから値が返されるパラメタ項目

ありません。

リターン値

リターン値

意味

ES_OK

正常に終了しました。

ESAFLER_ARGUMENT

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

ESAFLER_TIMING

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

ESAFLER_CONDITION

INIT要求時に出力ファイルパラメタ構造体を設定していません。

ESAFLER_OVERFLOW

蓄積ファイルのサイズが1TBを超えるため、書き込みできません。

ESAFLER_IOERR

蓄積ファイルへのI/Oエラーが発生しました。

ESAFLER_SYSERR

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

ESAFLER_UNRESOLVABLE

その他のエラーが発生しました。

注意事項