Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/OSI-TP編


付録C.2 ユーザオウンコーディング

〈この項の構成〉

(1) 入力メッセージ編集UOC

(a) 形式

  • ANSI C,C++の形式

    バージョン6以前

    バージョン7

    #include <dcmcf.h>
    #include <dcmotm.h>
    #include <dcmcfuoc.h>
    long uoc_func(dcmcf_uoc_min_n *parm)
    #include <dcmcf.h>
    #include <dcmotm.h>
    #include <dcmcfuoc.h>
    DCLONG uoc_func(dcmcf_uoc_min_n *parm)
  • K&R版 Cの形式

    バージョン6以前

    バージョン7

    #include <dcmcf.h>
    #include <dcmotm.h>
    #include <dcmcfuoc.h>
    long uoc_func(parm)
     
    dcmcf_uoc_min_n   *parm ;
    #include <dcmcf.h>
    #include <dcmotm.h>
    #include <dcmcfuoc.h>
    DCLONG uoc_func(parm)
     
    dcmcf_uoc_min_n   *parm ;

(b) パラメタの内容

  • dcmcf_uoc_min_nの内容

    バージョン6以前

    バージョン7

    typedef struct {
        long pro_kind;
        char le_name[9];
        char reserve1[7];
        long rcv_prim;
        dcmcf_uocbuff_list_n *buflist_adr;
        dcmcf_uocbuff_list_n *ebuflist_adr;
        char aplname[9];
        char reserve2[7];
        char *pro_indv_ifa;
        long rtn_detail;
        char reserve3[8];
    } dcmcf_uoc_min_n;
    typedef struct {
        DCLONG pro_kind;
        char le_name[9];
        char reserve1[7];
        DCLONG rcv_prim;
        dcmcf_uocbuff_list_n *buflist_adr;
        dcmcf_uocbuff_list_n *ebuflist_adr;
        char aplname[9];
        char reserve2[7];
        char *pro_indv_ifa;
        DCLONG rtn_detail;
        char reserve3[8];
    } dcmcf_uoc_min_n;
  • dcmcf_uocbuff_list_n(バッファリスト)の内容

    バージョン6以前

    バージョン7

    typedef struct {
        long buf_num;
        long used_buf_num;
        char reserve1[8];
        dcmcf_uocbufinf_n 
            buf_array[DCMCF_UOC_BUFF_MAX];
    } dcmcf_uocbuff_list_n;
    typedef struct {
        DCLONG buf_num;
        DCLONG used_buf_num;
        char reserve1[8];
        dcmcf_uocbufinf_n 
            buf_array[DCMCF_UOC_BUFF_MAX];
    } dcmcf_uocbuff_list_n;
  • dcmcf_uocbufinf_n(バッファ情報)の内容

    バージョン6以前

    バージョン7

    typedef struct {
        char *buf_adr;
        unsigned long buf_size;
        unsigned long seg_size;
        char reserve1[4];
        dcmcfuoc_w_type buff_id;
        long buff_addr;
        char reserve2[4];
    } dcmcf_uocbufinf_n;
    typedef struct {
        char *buf_adr;
        DCULONG buf_size;
        DCULONG seg_size;
        char reserve1[4];
        dcmcfuoc_w_type buff_id;
        DCMLONG buff_addr;
        char reserve2[4];
    } dcmcf_uocbufinf_n;

(2) 出力メッセージ編集UOC

(a) 形式

  • ANSI C,C++の形式

    バージョン6以前

    バージョン7

    #include <dcmcf.h>
    #include <dcmotm.h>
    #include <dcmcfuoc.h>
    long uoc_func(dcmcf_uoc_mout_n *parm)
    #include <dcmcf.h>
    #include <dcmotm.h>
    #include <dcmcfuoc.h>
    DCLONG uoc_func(dcmcf_uoc_mout_n *parm)
  • K&R版 Cの形式

    バージョン6以前

    バージョン7

    #include <dcmcf.h>
    #include <dcmotm.h>
    #include <dcmcfuoc.h>
    long uoc_func(parm)
     
    dcmcf_uoc_mout_n *parm ;
    #include <dcmcf.h>
    #include <dcmotm.h>
    #include <dcmcfuoc.h>
    DCLONG uoc_func(parm)
     
    dcmcf_uoc_mout_n *parm ;

(b) パラメタの内容

  • dcmcf_uoc_mout_nの内容

    バージョン6以前

    バージョン7

    typedef struct {
        long pro_kind;
        char le_name[9];
        char reserve1[7];
        dcmcf_uocbuff_list_n *buflist_adr;
        dcmcf_uocbuff_list_n *ebuflist_adr;
        long output_no;
        char msg_type;
        char outputno_flag;
        char resend_flag;
        char reserve2[1];
        char *pro_indv_ifa;
        long rtn_detail;
        char reserve3[20];
    } dcmcf_uoc_mout_n;
    typedef struct {
        DCLONG pro_kind;
        char le_name[9];
        char reserve1[7];
        dcmcf_uocbuff_list_n *buflist_adr;
        dcmcf_uocbuff_list_n *ebuflist_adr;
        DCLONG output_no;
        char msg_type;
        char outputno_flag;
        char resend_flag;
        char reserve2[1];
        char *pro_indv_ifa;
        DCLONG rtn_detail;
        char reserve3[20];
    } dcmcf_uoc_mout_n;
  • dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)の内容

    入力メッセージ編集UOCのパラメタの内容と同じです。「付録C.2(1)(b) パラメタの内容」を参照してください。