Linkexpress 利用者プログラム開発ガイド |
目次
索引
![]() ![]() |
付録A サンプル | > A.1 転送APIのサンプル |
このサンプルプログラムは、以下のファイルに格納されています。
PCサーバ : インストールディレクトリ\sample\api\cancelgif.c
UNIXサーバ : インストールディレクトリ/SAMPLE/api/cancelgif.c
このサンプルプログラムは、応答側で発行済みgetinf()の回収を行うものです。プログラムの説明を以下に示します。
GETINFを発行後、CTRL+Cの投入でCANCELGIFを発行しGETINFを回収しています。
cancelgif.cの内容を以下に示します。
/* * * AllRights Reserved Copyright (c) FUJITSU LIMITED 2002-2005 * */ /* * API sample program (cancelgif) */ /* * include file */ #include <unistd.h> #include <stdlib.h> #include <sys/types.h> #include <string.h> #include <stdio.h> #include <lxapi.h> #include <signal.h> int main(); void cancelgif_handler(); int main() { /* * Ctrl+C -> issue Cancelgif */ printf("Ctrl+C -> issue Cancelgif\n"); signal(SIGINT,cancelgif_handler); { dts_getinf_dcb_t input_dcb; dts_get_information_t output_dcb; int ret; /* * clear parameters */ memset( &input_dcb, 0, sizeof(dts_getinf_dcb_t) ); memset( &output_dcb, 0, sizeof(dts_get_information_t) ); /* * set parameters */ input_dcb.appl_name = (unsigned char *)"@_USRAPL"; input_dcb.req_kind = DTS_API_RESP; input_dcb.info_kind = DTS_API_START_INFO; input_dcb.timer = 0; input_dcb.path_name = 0; /* * getinf */ ret = getinf( &input_dcb, &output_dcb ); printf("getinf:ret =%d, diag %d,%d,%d\n", ret, output_dcb.diagnostic.category_code, output_dcb.diagnostic.error_code, output_dcb.diagnostic.detail_code ); } return( 0 ); } void cancelgif_handler() { dts_cancelgif_dcb_t input_dcb; dts_diagnostic_t output_dcb; int ret = 0; /* * clear parameters */ memset( &input_dcb, 0, sizeof(dts_cancelgif_dcb_t) ); memset( &output_dcb, 0, sizeof(dts_diagnostic_t) ); /* * set parameters */ input_dcb.appl_name = (unsigned char *)"@_USRAPL"; input_dcb.req_kind = DTS_API_RESP; input_dcb.path_name = 0; /* * cancelgif */ ret = cancelgif( &input_dcb, &output_dcb ); printf("\ncancelgif:ret =%d, diag %d,%d,%d\n", ret, output_dcb.category_code, output_dcb.error_code, output_dcb.detail_code ); return; } |
/* * * AllRights Reserved Copyright (c) FUJITSU LIMITED 2003-2005 * */ /* * API sample program (cancelgif) */ /* * include file */ #include <sys/types.h> #include <string.h> #include <stdio.h> #include <lxapi.h> #include <windows.h> int main(); BOOL cancelgif_handler(); int main() { /* * Ctrl+C -> issue Cancelgif */ printf("Ctrl+C -> issue Cancelgif\n"); SetConsoleCtrlHandler((PHANDLER_ROUTINE)cancelgif_handler, TRUE); { dts_getinf_dcb_t input_dcb; dts_get_information_t output_dcb; int ret; /* * clear parameters */ memset( &input_dcb, 0, sizeof(dts_getinf_dcb_t) ); memset( &output_dcb, 0, sizeof(dts_get_information_t) ); /* * set parameters */ input_dcb.appl_name = "@_USRAPL"; input_dcb.req_kind = DTS_API_RESP; input_dcb.info_kind = DTS_API_START_INFO; input_dcb.timer = 0; input_dcb.path_name = 0; /* * getinf */ ret = getinf( &input_dcb, &output_dcb ); printf("getinf:ret =%d, diag %d,%d,%d\n", ret, output_dcb.diagnostic.category_code, output_dcb.diagnostic.error_code, output_dcb.diagnostic.detail_code ); } return( 0 ); } BOOL cancelgif_handler(DWORD Signal) { dts_cancelgif_dcb_t input_dcb; dts_diagnostic_t output_dcb; int ret = 0; if(Signal == CTRL_C_EVENT) { /* * clear parameters */ memset( &input_dcb, 0, sizeof(dts_cancelgif_dcb_t) ); memset( &output_dcb, 0, sizeof(dts_diagnostic_t) ); /* * set parameters */ input_dcb.appl_name = "@_USRAPL"; input_dcb.req_kind = DTS_API_RESP; input_dcb.path_name = 0; /* * cancelgif */ ret = cancelgif( &input_dcb, &output_dcb ); printf("cancelgif:ret =%d, diag %d,%d,%d\n", ret, output_dcb.category_code, output_dcb.error_code, output_dcb.detail_code ); } return( 0 ); } |
参照
lxapi.h、dts_cancelgif_dcb_t、dts_diagnostic_t、dts_getinf_dcb_t、dts_get_information_t
用語解説
目次
索引
![]() ![]() |