| 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
用語解説
目次
索引
![]()
|