分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/HSC編

[目次][用語][索引][前へ][次へ]

付録E 論理端末名称決定UOCのコーディング例

論理端末名称決定UOCのコーディング例(K&R版 C)を次の図に示します。また,このコーディング例を,/BeTRAN/examples/mcf/HSC/cmlib/c/uoc.cのファイルで提供しています。

 
/*
 * TP1/NET/HSC  HSC2手順(非同期モード) 論理端末名称決定UOC
 */
#include <stdio.h>
#include <dcmcf.h>
#include <dcmcfuoc.h>
#include <dcmpcm.h>
#include <dcmhsc2.h>
 
#define NOLE -19000       /* 未使用論理端末なし */
 
long ledtmn01(parm)
dcmcf_uoc_min_n *parm;
{
   long rtn_code ,
        count ;
   dcmhs3_uoc_prot *le_ptr ;
 
   le_ptr = (dcmhs2_uoc_prot *)parm->pro_indv_ifa ;
   count = 0 ;
   rtn_code = DCMCF_UOC_MSG_NG ;
   parm->rtn_detail = NOLE ;
 
/****** 未使用論理端末検索 ******/
 
   while(le_ptr->le_num > count) {
    if(le_ptr->le_list[count].le_inf == DCMHS2_LE_NOUSE){
     strcpy(parm->le_name,le_ptr->le_list[count].le_name);
     rtn_code = DCMCF_UOC_MSG_OK ;
     parm->rtn_detail = 0 ;
     break ;
    }
   count++ ;
  }
  return(rtn_code);
}