Linkexpress 利用者プログラム開発ガイド |
目次
索引
![]() ![]() |
付録A サンプル | > A.1 転送APIのサンプル |
このサンプルプログラムは、以下のファイルに格納されています。
PCサーバ : インストールディレクトリ\sample\api\sndfile4.c
このサンプルプログラムは、完了復帰型のSNDFILEを使用して、セション維持機能を利用したファイル転送を連続して行うものです。プログラムの説明を以下に示します。
Linkexpressに対して、セション維持を行いながら、SNDFILEの要求を連続して行います。
完了復帰型で要求しているため、続けてSNDFILEを要求しています。
SNDFILEで完了通知を受け取るため、GETINFで完了通知を受け取る必要はありません。
sndfile4.cの内容を以下に示します。
/* * * All Rights Reserved Copyright (c) FUJITSU LIMITED 2004 * */ /* * API sample program (init No.6) */ /* * include file */ #include <sys/types.h> #include <string.h> #include <stdio.h> #include <lxapi.h> int main() { dts_sndfile_dcb_t input_dcb; dts_inf_transfer_comp_t output_dcb; password_t password; int ret = 0; unsigned sid = 0; /* * clear parameters */ memset( &input_dcb, 0, sizeof(dts_sndfile_dcb_t) ); memset( &output_dcb, 0, sizeof(dts_inf_transfer_comp_t) ); memset( &password, 0, sizeof(password_t) ); /* * set parameters */ input_dcb.req_ident = 0; input_dcb.req_type = DTS_API_COMP; input_dcb.appl_name = (unsigned char *)"@_USRAPL"; input_dcb.system_name = (unsigned char *)"dest_system"; input_dcb.local_filename = (unsigned char *)"C:\\test\\api\\a"; input_dcb.local_user = 0; input_dcb.remote_filename = (unsigned char *)"C:\\test\\api\\b"; input_dcb.storage_form = DTS_API_REP; input_dcb.access_password = 0; input_dcb.data_type = DTS_API_BINARY; input_dcb.file_attr = 0; input_dcb.speed = 0; input_dcb.ret_tid = 0; input_dcb.protocol_option = 0; input_dcb.user_id = (unsigned char *)"linkexp"; input_dcb.password = &password; password.password_len = 7; strcpy( (char *)password.password, "linkexp" ); input_dcb.group = 0; input_dcb.lbsession_id = 0; input_dcb.lbsession_cont = DTS_API_LBSESSION_CONT; /* * sndfile * first session transfer */ ret = sndfile( &input_dcb, &output_dcb ); printf("ret =%d, diag %d,%d,%d\n", ret, output_dcb.diagnostic.category_code, output_dcb.diagnostic.error_code, output_dcb.diagnostic.detail_code ); printf("req_ident =%d\n", output_dcb.req_ident ); printf("system_name =%s\n", output_dcb.system_name ); printf("flow_kind =%d\n", output_dcb.flow_kind ); printf("start_time =%s", ctime( (time_t *)&output_dcb.start_time ) ); printf("comp_time =%s", ctime( (time_t *)&output_dcb.comp_time ) ); printf("trn_comptype =%d\n", output_dcb.trn_comptype ); printf("data_size =%d\n", output_dcb.data_size ); printf("lbsession_id =%d\n", output_dcb.lbsession_id ); sid = output_dcb.lbsession_id; /* * set parameters */ input_dcb.req_ident = 0; input_dcb.req_type = DTS_API_COMP; input_dcb.appl_name = (unsigned char *)"@_USRAPL"; input_dcb.system_name = (unsigned char *)"dest_system"; input_dcb.local_filename = (unsigned char *)"C:\\test\\api\\a"; input_dcb.local_user = 0; input_dcb.remote_filename = (unsigned char *)"C:\\test\\api\\b"; input_dcb.storage_form = DTS_API_REP; input_dcb.access_password = 0; input_dcb.data_type = DTS_API_BINARY; input_dcb.file_attr = 0; input_dcb.speed = 0; input_dcb.ret_tid = 0; input_dcb.protocol_option = 0; input_dcb.user_id = (unsigned char *)"linkexp"; input_dcb.password = &password; password.password_len = 7; strcpy( (char *)password.password, "linkexp" ); input_dcb.group = 0; input_dcb.lbsession_id = sid; input_dcb.lbsession_cont = DTS_API_LBSESSION_CONT; /* * sndfile * middle session transfer */ ret = sndfile( &input_dcb, &output_dcb ); printf("ret =%d, diag %d,%d,%d\n", ret, output_dcb.diagnostic.category_code, output_dcb.diagnostic.error_code, output_dcb.diagnostic.detail_code ); printf("req_ident =%d\n", output_dcb.req_ident ); printf("system_name =%s\n", output_dcb.system_name ); printf("flow_kind =%d\n", output_dcb.flow_kind ); printf("start_time =%s", ctime( (time_t *)&output_dcb.start_time ) ); printf("comp_time =%s", ctime( (time_t *)&output_dcb.comp_time ) ); printf("trn_comptype =%d\n", output_dcb.trn_comptype ); printf("data_size =%d\n", output_dcb.data_size ); printf("lbsession_id =%d\n", output_dcb.lbsession_id ); sid = output_dcb.lbsession_id; /* * set parameters */ input_dcb.req_ident = 0; input_dcb.req_type = DTS_API_COMP; input_dcb.appl_name = (unsigned char *)"@_USRAPL"; input_dcb.system_name = (unsigned char *)"dest_system"; input_dcb.local_filename = (unsigned char *)"C:\\test\\api\\a"; input_dcb.local_user = 0; input_dcb.remote_filename = (unsigned char *)"C:\\test\\api\\b"; input_dcb.storage_form = DTS_API_REP; input_dcb.access_password = 0; input_dcb.data_type = DTS_API_BINARY; input_dcb.file_attr = 0; input_dcb.speed = 0; input_dcb.ret_tid = 0; input_dcb.protocol_option = 0; input_dcb.user_id = (unsigned char *)"linkexp"; input_dcb.password = &password; password.password_len = 7; strcpy( (char *)password.password, "linkexp" ); input_dcb.group = 0; input_dcb.lbsession_id = sid; input_dcb.lbsession_cont = DTS_API_LBSESSION_CUT; /* * sndfile * last session transfer */ ret = sndfile( &input_dcb, &output_dcb ); printf("ret =%d, diag %d,%d,%d\n", ret, output_dcb.diagnostic.category_code, output_dcb.diagnostic.error_code, output_dcb.diagnostic.detail_code ); printf("req_ident =%d\n", output_dcb.req_ident ); printf("system_name =%s\n", output_dcb.system_name ); printf("flow_kind =%d\n", output_dcb.flow_kind ); printf("start_time =%s", ctime( (time_t *)&output_dcb.start_time ) ); printf("comp_time =%s", ctime( (time_t *)&output_dcb.comp_time ) ); printf("trn_comptype =%d\n", output_dcb.trn_comptype ); printf("data_size =%d\n", output_dcb.data_size ); return( 0 ); } |
/* * * All Rights Reserved Copyright (c) FUJITSU LIMITED 2005 * */ /* * API sample program (init No.6) */ /* * include file */ #include <sys/types.h> #include <string.h> #include <stdio.h> #include <lxapi.h> int main() { dts_sndfile_dcb_t input_dcb; dts_inf_transfer_comp_t output_dcb; password_t password; int ret = 0; unsigned sid = 0; /* * clear parameters */ memset( &input_dcb, 0, sizeof(dts_sndfile_dcb_t) ); memset( &output_dcb, 0, sizeof(dts_inf_transfer_comp_t) ); memset( &password, 0, sizeof(password_t) ); /* * set parameters */ input_dcb.req_ident = 0; input_dcb.req_type = DTS_API_COMP; input_dcb.appl_name = (unsigned char *)"@_USRAPL"; input_dcb.system_name = (unsigned char *)"dest_system"; input_dcb.local_filename = (unsigned char *)"C:\\test\\api\\a"; input_dcb.local_user = 0; input_dcb.remote_filename = (unsigned char *)"C:\\test\\api\\b"; input_dcb.storage_form = DTS_API_REP; input_dcb.access_password = 0; input_dcb.data_type = DTS_API_BINARY; input_dcb.file_attr = 0; input_dcb.speed = 0; input_dcb.ret_tid = 0; input_dcb.protocol_option = 0; input_dcb.user_id = (unsigned char *)"linkexp"; input_dcb.password = &password; password.password_len = 7; strcpy( (char *)password.password, "linkexp" ); input_dcb.group = 0; input_dcb.lbsession_id = 0; input_dcb.lbsession_cont = DTS_API_LBSESSION_CONT; /* * sndfile * first session transfer */ ret = sndfile( &input_dcb, &output_dcb ); printf("ret =%d, diag %d,%d,%d\n", ret, output_dcb.diagnostic.category_code, output_dcb.diagnostic.error_code, output_dcb.diagnostic.detail_code ); printf("req_ident =%d\n", output_dcb.req_ident ); printf("system_name =%s\n", output_dcb.system_name ); printf("flow_kind =%d\n", output_dcb.flow_kind ); printf("start_time =%s", ctime( (time_t *)&output_dcb.start_time ) ); printf("comp_time =%s", ctime( (time_t *)&output_dcb.comp_time ) ); printf("trn_comptype =%d\n", output_dcb.trn_comptype ); printf("data_size =%d\n", output_dcb.data_size ); printf("lbsession_id =%d\n", output_dcb.lbsession_id ); sid = output_dcb.lbsession_id; /* * set parameters */ input_dcb.req_ident = 0; input_dcb.req_type = DTS_API_COMP; input_dcb.appl_name = (unsigned char *)"@_USRAPL"; input_dcb.system_name = (unsigned char *)"dest_system"; input_dcb.local_filename = (unsigned char *)"C:\\test\\api\\a"; input_dcb.local_user = 0; input_dcb.remote_filename = (unsigned char *)"C:\\test\\api\\b"; input_dcb.storage_form = DTS_API_REP; input_dcb.access_password = 0; input_dcb.data_type = DTS_API_BINARY; input_dcb.file_attr = 0; input_dcb.speed = 0; input_dcb.ret_tid = 0; input_dcb.protocol_option = 0; input_dcb.user_id = (unsigned char *)"linkexp"; input_dcb.password = &password; password.password_len = 7; strcpy( (char *)password.password, "linkexp" ); input_dcb.group = 0; input_dcb.lbsession_id = sid; input_dcb.lbsession_cont = DTS_API_LBSESSION_CONT; /* * sndfile * middle session transfer */ ret = sndfile( &input_dcb, &output_dcb ); printf("ret =%d, diag %d,%d,%d\n", ret, output_dcb.diagnostic.category_code, output_dcb.diagnostic.error_code, output_dcb.diagnostic.detail_code ); printf("req_ident =%d\n", output_dcb.req_ident ); printf("system_name =%s\n", output_dcb.system_name ); printf("flow_kind =%d\n", output_dcb.flow_kind ); printf("start_time =%s", ctime( (time_t *)&output_dcb.start_time ) ); printf("comp_time =%s", ctime( (time_t *)&output_dcb.comp_time ) ); printf("trn_comptype =%d\n", output_dcb.trn_comptype ); printf("data_size =%d\n", output_dcb.data_size ); printf("lbsession_id =%d\n", output_dcb.lbsession_id ); sid = output_dcb.lbsession_id; /* * set parameters */ input_dcb.req_ident = 0; input_dcb.req_type = DTS_API_COMP; input_dcb.appl_name = (unsigned char *)"@_USRAPL"; input_dcb.system_name = (unsigned char *)"dest_system"; input_dcb.local_filename = (unsigned char *)"C:\\test\\api\\a"; input_dcb.local_user = 0; input_dcb.remote_filename = (unsigned char *)"C:\\test\\api\\b"; input_dcb.storage_form = DTS_API_REP; input_dcb.access_password = 0; input_dcb.data_type = DTS_API_BINARY; input_dcb.file_attr = 0; input_dcb.speed = 0; input_dcb.ret_tid = 0; input_dcb.protocol_option = 0; input_dcb.user_id = (unsigned char *)"linkexp"; input_dcb.password = &password; password.password_len = 7; strcpy( (char *)password.password, "linkexp" ); input_dcb.group = 0; input_dcb.lbsession_id = sid; input_dcb.lbsession_cont = DTS_API_LBSESSION_CUT; /* * sndfile * last session transfer */ ret = sndfile( &input_dcb, &output_dcb ); printf("ret =%d, diag %d,%d,%d\n", ret, output_dcb.diagnostic.category_code, output_dcb.diagnostic.error_code, output_dcb.diagnostic.detail_code ); printf("req_ident =%d\n", output_dcb.req_ident ); printf("system_name =%s\n", output_dcb.system_name ); printf("flow_kind =%d\n", output_dcb.flow_kind ); printf("start_time =%s", ctime( (time_t *)&output_dcb.start_time ) ); printf("comp_time =%s", ctime( (time_t *)&output_dcb.comp_time ) ); printf("trn_comptype =%d\n", output_dcb.trn_comptype ); printf("data_size =%d\n", output_dcb.data_size ); return( 0 ); } |
目次
索引
![]() ![]() |