JP1/全銀TCP APIライブラリーは,JP1/全銀TCPのファイル伝送機能をユーザープログラムから利用するときに使用します。
JP1/全銀TCP APIライブラリーを使用すると,次のことが実現できます。
- 一つのユーザープログラムから,一次局として複数のファイル伝送を実行できます。
- 同期型のファイル伝送では,伝送要求を登録すると,伝送が終了するまで待ち,終了結果を取得できます。
- 非同期型のファイル伝送では,伝送要求の登録だけをして,あとで終了結果だけを取得できます。
伝送要求の登録は,ZTC_Syn_trans(),ZTC_Asyn_trans()の引数に伝送情報定義ファイルに定義されているラベル名や定義変更内容格納構造体のアドレスを設定します。
#define LABEL_LEN 32
struct ztc_tran_label_t {
char label[LABEL_LEN+1];
};
- label
- ファイルラベル名を指定します。
#define REMOTE_CODE_LEN 7
#define PASSWD_LEN 6
#define STRING_LEN 256
#define EXEC_OPT_LEN 25
#define ZTC_CHANGE_DEF_ZGNP 1
#define ZTC_CHANGE_DEF_ZGNC 2
struct change_host_define_t {
int changeflg;
char exec[STRING_LEN];
int exec_opt[EXEC_OPT_LEN+1];
char remote_code[(REMOTE_CODE_LEN*2)+3];
char own_code[(REMOTE_CODE_LEN*2)+3];
char open_req_pass[(PASSWD_LEN*2)+3];
char open_ans_pass[(PASSWD_LEN*2)+3];
char close_req_pass[(PASSWD_LEN*2)+3]
char close_ans_pass[(PASSWD_LEN*2)+3]
char ipaddr[STRING_LEN];
int text_ack_cnt;
int protocol_name;
};
- changeflg
- 相手局情報定義の変更設定マクロを指定します。相手局情報定義の変更設定マクロのマクロ値を論理和形式で指定してください。
- exec
- 起動するUAPを指定します。1〜255バイト以内の文字列でフルパスを指定してください。
- exec_opt
- UAP起動オプションを示すマクロを指定します。詳細については,「UAP起動オプション設定マクロ」および「UAP起動オプション設定マクロの内容」を参照してください。
- remote_code
- 相手センタ確認コードを指定します。14けたの16進数で指定してください。
- own_code
- 当方センタ確認コードを指定します。14けたの16進数で指定してください。
- open_req_pass
- 開局要求パスワードを指定します。6バイトの文字列または12けたの16進数で指定してください。
- open_ans_pass
- 開局回答パスワードを指定します。6バイトの文字列または12けたの16進数で指定してください。
- close_req_pass
- 閉局要求パスワードを指定します。6バイトの文字列または12けたの16進数で指定してください。
- close_ans_pass
- 閉局回答パスワードを指定します。6バイトの文字列または12けたの16進数で指定してください。
- ipaddr
- 相手局のIPアドレスを指定します。なお,相手局ホスト名が"/etc/hosts"に登録されている場合は,ホスト名でも指定できます。
- text_ack_cnt
- テキスト連続送受信回数を指定します。0〜15の値で指定してください。
- protocol_name
- 使用するプロトコル(全銀協手順)を指定します。パソコン手順の場合はZTC_CHANGE_DEF_ZGNPを,コンピュータ手順の場合はZTC_CHANGE_DEF_ZGNCを指定してください。
#define TRANS_FILE_NAME_LEN 12
#define ACCESSKEY_LEN 6
#define SUB_TRANS_FILE_NAME_LEN 17
#define ZTC_CHANGE_DEF_SEND 1
#define ZTC_CHANGE_DEF_RECV 2
#define ZTC_CHANGE_DEF_APPEND 1
#define ZTC_CHANGE_DEF_WRITE 2
#define ZTC_CHANGE_DEF_TRUE 1
#define ZTC_CHANGE_DEF_FALSE 2
#define ZTC_CHANGE_DEF_FIX 1
#define ZTC_CHANGE_DEF_FLEX 2
#define ZTC_CHANGE_DEF_REMOVE 1
#define ZTC_CHANGE_DEF_NOT_REMOVE 2
#define ZTC_CHANGE_DEF_OK 1
#define ZTC_CHANGE_DEF_NG 2
#define ZTC_RESND 1
struct change_file_define_t {
int resndflg;
int cycle_number;
int changeflg;
char exec[STRING_LEN];
int exec_opt[EXEC_OPT_LEN+1];
int mode;
int file_mode;
char real_file_name[STRING_LEN];
char trans_file_name[(TRANS_FILE_NAME_LEN*2)+3];
char start_req_acckey[(ACCESSKEY_LEN*2)+3];
char start_ans_acckey[(ACCESSKEY_LEN*2)+3];
char end_req_acckey[(ACCESSKEY_LEN*2)+3];
char end_ans_acckey[(ACCESSKEY_LEN*2)+3];
char resend_acckey[(ACCESSKEY_LEN*2)+3];
int record_type;
short record_len;
int max_text_len;
int cmp_mode;
char divide_word;
int remove_mode;
int nullfile;
char sub_trans_file_name[(SUB_TRANS_FILE_NAME_LEN*2)+3];
};
- resndflg
- 再送要求送信マクロを指定します。
- cycle_number
- 伝送済みのサイクル番号を指定します。サイクル管理をするファイルだけに指定できます。
- changeflg
- ファイル情報定義の変更設定マクロを指定します。ファイル情報定義の変更設定マクロのマクロ値を論理和形式で指定してください。
- exec
- 起動するUAPを指定します。1〜255バイトの文字列でフルパスを指定してください。
- exec_opt
- UAP起動オプションを示すマクロを指定します。詳細については,「UAP起動オプション設定マクロ」および「UAP起動オプション設定マクロの内容」を参照してください。
- mode
- ファイル送受信モードを指定します。送信用のファイル定義の場合はZTC_CHANGE_DEF_SENDを,受信用のファイル定義の場合はZTC_CHANGE_DEF_RECVを指定してください。
- file_mode
- 受信ファイル書き込みモードを指定します。受信データをファイルの最後に追加したい場合はZTC_CHANGE_DEF_APPENDを,ファイルの先頭から上書きしたい場合はZTC_CHANGE_DEF_WRITEを指定してください。
- real_file_name
- 実ファイル名を指定します。1〜255バイトの文字列でフルパスを指定してください。
- trans_file_name
- 伝送ファイル名を指定します。12バイトの文字列または24けたの16進数で指定してください。
- start_req_acckey
- 開始要求アクセスキーを指定します。6バイトの文字列または12けたの16進数で指定してください。
- start_ans_acckey
- 開始回答アクセスキーを指定します。6バイトの文字列または12けたの16進数で指定してください。
- end_req_acckey
- 終了要求アクセスキーを指定します。6バイトの文字列または12けたの16進数で指定してください。
- end_ans_acckey
- 終了回答アクセスキーを指定します。6バイトの文字列または12けたの16進数で指定してください。
- resend_acckey
- 再送要求アクセスキーを指定します。6バイトの文字列または12けたの16進数で指定してください。
- record_type
- ファイルレコード形式を指定します。固定長形式の場合はZTC_CHANGE_DEF_FIXを,可変長形式の場合はZTC_CHANGE_DEF_FLEXを指定してください。
- record_len
- ファイルレコード長を指定します(単位:バイト)。ファイルレコード形式が固定長の場合に有効になります。1〜32,767の任意の数値を指定してください。
- max_text_len
- 最大伝送テキスト長(全銀協標準通信プロトコルの定義する伝送テキストの最大長)を指定します(単位:バイト)。7〜43,700の数値を指定してください。
- cmp_mode
- 圧縮モードを指定します。圧縮して伝送する場合はZTC_CHANGE_DEF_TRUEを,圧縮しないで伝送する場合はZTC_CHANGE_DEF_FALSEを指定してください。
- divide_word
- 区切り文字として使用する文字を指定します。ファイルレコード形式が可変長の場合に有効になります。
- remove_mode
- 区切り文字の扱いを指定します。ZTC_CHANGE_DEF_REMOVEをした場合は,送信時には区切り文字を除いて送信し,受信時には区切り文字を付けてファイルに書き出します。ZTC_CHANGE_DEF_NOT_REMOVEを指定した場合は,送信時には区切り文字を付けたまま送信し,受信時には受け取ったテキストをファイルにそのまま書き出します。
- nullfile
- 0件ファイルの扱い方を指定します。ZTC_CHANGE_DEF_OKを指定した場合は,0件ファイルを正常扱いします。ZTC_CHANGE_DEF_NGを指定した場合は,0件ファイルをエラー扱いします。
- sub_trans_file_name
- ファイル名補助情報を指定します。17バイトの文字列または34けたの16進数で指定してください。
#define ZTC_CHANGE_HOST_DEF_EXEC 0x1
#define ZTC_CHANGE_HOST_DEF_EXEC_OPT 0x2
#define ZTC_CHANGE_HOST_DEF_REMOTE_CODE 0x4
#define ZTC_CHANGE_HOST_DEF_OWN_CODE 0x8
#define ZTC_CHANGE_HOST_DEF_OPEN_REQ_PASS 0x10
#define ZTC_CHANGE_HOST_DEF_OPEN_ANS_PASS 0x20
#define ZTC_CHANGE_HOST_DEF_CLOSE_REQ_PASS 0x40
#define ZTC_CHANGE_HOST_DEF_CLOSE_ANS_PASS 0x80
#define ZTC_CHANGE_HOST_DEF_IPADDR 0x400
#define ZTC_CHANGE_HOST_DEF_TEXT_ACK_CNT 0x800
#define ZTC_CHANGE_HOST_DEF_PROTOCOL_NAME 0x1000
- ZTC_CHANGE_HOST_DEF_EXEC
- UAP起動を変更します。
- ZTC_CHANGE_HOST_DEF_EXEC_OPT
- UAP起動引数を変更します。
- ZTC_CHANGE_HOST_DEF_REMOTE_CODE
- 相手センタ確認コードを変更します。
- ZTC_CHANGE_HOST_DEF_OWN_CODE
- 当方センタ確認コードを変更します。
- ZTC_CHANGE_HOST_DEF_OPEN_REQ_PASS
- 開局要求パスワードを変更します。
- ZTC_CHANGE_HOST_DEF_OPEN_ANS_PASS
- 開局回答パスワードを変更します。
- ZTC_CHANGE_HOST_DEF_CLOSE_REQ_PASS
- 閉局要求パスワードを変更します。
- ZTC_CHANGE_HOST_DEF_CLOSE_ANS_PASS
- 閉局回答パスワードを変更します。
- ZTC_CHANGE_HOST_DEF_IPADDR
- 相手局のIPアドレスを変更します。
- ZTC_CHANGE_HOST_DEF_TEXT_ACK_CNT
- テキスト連続送受信回数を変更します。
- ZTC_CHANGE_HOST_DEF_PROTOCOL_NAME
- 使用するプロトコル(全銀協手順)を変更します。
- 指定例:
- 相手センタ確認コードと当方センタ確認コードを変更する場合
changeflgに,次のように値を指定します。
def.changeflg = 0
def.changeflg = ZTC_CHANGE_HOST_DEF_REMOTE_CODE | ZTC_CHANGE_HOST_DEF_OWN_CODE;
#define ZTC_CHANGE_FILE_DEF_EXEC 0x1
#define ZTC_CHANGE_FILE_DEF_EXEC_OPT 0x2
#define ZTC_CHANGE_FILE_DEF_MODE 0x4
#define ZTC_CHANGE_FILE_DEF_FILE_MODE 0x8
#define ZTC_CHANGE_FILE_DEF_REAL_FILE_NAME 0x10
#define ZTC_CHANGE_FILE_DEF_TRANS_FILE_NAME 0x20
#define ZTC_CHANGE_FILE_DEF_START_REQ_ACCKEY 0x40
#define ZTC_CHANGE_FILE_DEF_START_ANS_ACCKEY 0x80
#define ZTC_CHANGE_FILE_DEF_END_REQ_ACCKEY 0x100
#define ZTC_CHANGE_FILE_DEF_END_ANS_ACCKEY 0x200
#define ZTC_CHANGE_FILE_DEF_RESEND_ACCKEY 0x400
#define ZTC_CHANGE_FILE_DEF_RECORD_TYPE 0x800
#define ZTC_CHANGE_FILE_DEF_RECORD_LEN 0x1000
#define ZTC_CHANGE_FILE_DEF_MAX_TEXT_LEN 0x2000
#define ZTC_CHANGE_FILE_DEF_CMP_MODE 0x4000
#define ZTC_CHANGE_FILE_DEF_DIVIDE_WORD 0x8000
#define ZTC_CHANGE_FILE_DEF_REMOVE_MODE 0x10000
#define ZTC_CHANGE_FILE_DEF_NULLFILE 0x20000
#define ZTC_CHANGE_FILE_DEF_SUB_TRANS_FILE_NAME 0x40000
- ZTC_CHANGE_FILE_DEF_EXEC
- UAP起動を変更します。
- ZTC_CHANGE_FILE_DEF_EXEC_OPT
- UAP起動引数を変更します。
- ZTC_CHANGE_FILE_DEF_MODE
- ファイル送受信モードを変更します。
- ZTC_CHANGE_FILE_DEF_FILE_MODE
- 受信ファイル書き込みモードを変更します。
- ZTC_CHANGE_FILE_DEF_REAL_FILE_NAME
- 実ファイル名を変更します。
- ZTC_CHANGE_FILE_DEF_TRANS_FILE_NAME
- 伝送ファイル名を変更します。
- ZTC_CHANGE_FILE_DEF_START_REQ_ACCKEY
- 開始要求アクセスキーを変更します。
- ZTC_CHANGE_FILE_DEF_START_ANS_ACCKEY
- 開始回答アクセスキーを変更します。
- ZTC_CHANGE_FILE_DEF_END_REQ_ACCKEY
- 終了要求アクセスキーを変更します。
- ZTC_CHANGE_FILE_DEF_END_ANS_ACCKEY
- 終了回答アクセスキーを変更します。
- ZTC_CHANGE_FILE_DEF_RESEND_ACCKEY
- 再送要求アクセスキーを変更します。
- ZTC_CHANGE_FILE_DEF_RECORD_TYPE
- ファイルレコード形式を変更します。
- ZTC_CHANGE_FILE_DEF_RECORD_LEN
- ファイルレコード長を変更します。
- ZTC_CHANGE_FILE_DEF_MAX_TEXT_LEN
- 最大伝送テキスト長を変更します。
- ZTC_CHANGE_FILE_DEF_CMP_MODE
- 圧縮モードを変更します。
- ZTC_CHANGE_FILE_DEF_DIVIDE_WORD
- 区切り文字を変更します。
- ZTC_CHANGE_FILE_DEF_REMOVE_MODE
- 区切り文字の扱いを変更します。
- ZTC_CHANGE_FILE_DEF_NULLFILE
- 0件ファイルの扱いを変更します。
- ZTC_CHANGE_FILE_DEF_SUB_TRANS_FILE_NAME
- ファイル名補助情報を変更します。
- 指定例:
- ファイル送受信モードと受信ファイル書き込みモードを変更する場合
changeflgに,次のように値を指定します。
def.changeflg = 0;
def.changeflg = ZTC_CHANGE_FILE_DEF_MODE | ZTC_CHANGE_FILE_DEF_FILE_MODE;
#define ZTC_REMOTELBL 1
#define ZTC_STATION 4
#define ZTC_TRNMODE 8
#define ZTC_REQLEN 9
#define ZTC_RRTN 11
#define ZTC_FILE 12
#define ZTC_FILELBL 13
#define ZTC_RCNTCODE 14
#define ZTC_HCNTCODE 15
#define ZTC_OREQPW 16
#define ZTC_ORSPPW 17
#define ZTC_CREQPW 18
#define ZTC_CRSPPW 19
#define ZTC_MREQPW 20
#define ZTC_MRSPPW 21
#define ZTC_IPADDR 22
#define ZTC_REQNO 25
#define ZTC_REALFILE 26
- ZTC_REMOTELBL
- 相手局ラベル名をオプション引数として指定します。
- ZTC_STATION
- 局種別をオプション引数として指定します。
- ZTC_TRNMODE
- 伝送形態をオプション引数として指定します。
- ZTC_REQLEN
- このオプションは,ファイル情報定義UAPオプションの場合に限り有効です。
- レコード長をオプション引数として指定します。
- ZTC_RRTN
- 終了状態をオプション引数として指定します。
- ZTC_FILE
- 伝送ファイル名をオプション引数として指定します。
- ZTC_FILELBL
- このオプションは,ファイル情報定義UAPオプションの場合に限り有効です。
- 伝送ファイルラベル名をオプション引数として指定します。
- ZTC_RCNTCODE
- 相手センタ確認コードをオプション引数として指定します。
- ZTC_HCNTCODE
- 当方センタ確認コードをオプション引数として指定します。
- ZTC_OREQPW
- 開局要求パスワードをオプション引数として指定します。
- ZTC_ORSPPW
- 開局回答パスワードをオプション引数として指定します。
- ZTC_CREQPW
- 閉局要求パスワードをオプション引数として指定します。
- ZTC_CRSPPW
- 閉局回答パスワードをオプション引数として指定します。
- ZTC_MREQPW
- モード変更要求パスワードをオプション引数として指定します。
- ZTC_MRSPPW
- モード変更回答パスワードをオプション引数として指定します。
- ZTC_IPADDR
- 相手局のIPアドレスまたは相手ホスト名をオプション引数として指定します。
- ZTC_REQNO
- 通番をオプション引数として指定します。
- ZTC_REALFILE
- このオプションは,ファイル情報定義UAPオプションの場合に限り有効です。
- 実ファイル名をオプション引数として指定します。
- 指定例:
- UAP起動オプションとして伝送ファイル名と通番を指定する場合
exec_optに,次のように値を指定します。
def.exec_opt[0] = ZTC_FILE;
def.exec_opt[1] = ZTC_REQNO;
def.exec_opt[2] = 0;
All Rights Reserved. Copyright (C) 2009, 2011, Hitachi, Ltd.