Netcompo アプリケーション会話サービス 2.1 LU0会話サービス編 - Solaris -
|
目次
索引

|
付録A アプリケーションプログラム例
A.3 受信キャンセルの例
/*====================================================================*
* アプリケーションプログラム例 3 (受信キャンセル) *
* *
* (1) main : 受信キャンセル メイン処理 *
* *
*====================================================================*/
#include <sys/types.h>
#include <stdio.h>
#include <memory.h>
#include <signal.h>
#include "lu0.h"
/*---------------------------------------------*/
/* エントリモジュール */
/*---------------------------------------------*/
void main();
/*---------------------------------------------*/
/* ローカル定義 */
/*---------------------------------------------*/
#define NORMAL 0 /* マクロ命令復帰値正常 */
/*====================================================================*
* function name : (1) main *
* function : 受信キャンセル *
*====================================================================*/
void
main()
{
struct sigaction act; /* sigaction用パラメタ */
struct lu0rb rcb; /* rcb */
struct lu0rb *rcbp; /* rcbポインタ */
rcbp = &rcb; /* rcbアドレス設定 */
memset( rcbp, 0, sizeof(struct lu0rb) ); /* rcb域クリア */
/*=============================================*/
/* lu0open マクロ処理 */
/*=============================================*/
strcpy( rcbp->l_unit, "lu01" ); /* LU名設定 */
if( lu0open1( rcbp ) != NORMAL ) /* アプリ登録 */
{ /* */
return; /* < 異常終了 > */
} /* */
rcvdfd = rcbp->l_pipfd; /* 受信用パイプfd退避 */
/*=============================================*/
/* lu0canマクロ処理 */
/*=============================================*/
lu0can( rcbp ); /* 受信キャンセル */
/*=============================================*/
/* lu0closeマクロ処理 */
/*=============================================*/
for( ; ; ) /* */
{ /* */
lu0close( rcbp ); /* アプリ登録抹消 */
/* */
if( rcbp->l_cplt != EINTR ) /* signal受信なら再発行 */
{ /* */
return; /* < 正常終了 > */
} /* */
} /* */
} /* */
All Rights Reserved, Copyright (C) 富士通株式会社 2002