Hitachi

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


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

〈この項の構成〉

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

(a) 形式

ANSI C,C++の形式

バージョン6以前

バージョン7

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

K&R版 Cの形式

バージョン6以前

バージョン7

#include <dcmcf.h>
#include <dcmcfuoc.h>
long    uoc_func(parm)
 
dcmcf_uoc_min_n   *parm ;
#include <dcmcf.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 <dcmcfuoc.h>
long  uoc_func(dcmcf_uoc_mout_n *parm)
#include <dcmcf.h>
#include <dcmcfuoc.h>
DCLONG  uoc_func(dcmcf_uoc_mout_n *parm)

K&R版 Cの形式

バージョン6以前

バージョン7

#include <dcmcf.h>
#include <dcmcfuoc.h>
long  uoc_func(parm)
 
dcmcf_uoc_mout_n *parm ;
#include <dcmcf.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) パラメタの内容」を参照してください。

(3) 送信メッセージの通番編集UOC

(a) 形式

ANSI C,C++の形式

バージョン6以前

バージョン7

#include <dcmcf.h>
long send_uoc(long flags,
              char *termname,
              long sendno,
              long sendid,
              long dataleng,
              char *senddata)
#include <dcmcf.h>
DCLONG send_uoc(DCLONG flags,
                char *termname,
                DCLONG sendno,
                DCLONG sendid,
                DCLONG dataleng,
                char *senddata)

K&R版 Cの形式

バージョン6以前

バージョン7

#include <dcmcf.h>
long send_uoc(flags,
              termname,
              sendno,
              sendid,
              dataleng,
              senddata)
long    flags;
char    *termname;
long    sendno;
long    sendid;
long    dataleng;
char    *senddata;
#include <dcmcf.h>
DCLONG send_uoc(flags,
                termname,
                sendno,
                sendid,
                dataleng,
                senddata)
DCLONG    flags;
char      *termname;
DCLONG    sendno;
DCLONG    sendid;
DCLONG    dataleng;
char      *senddata;