付録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);
}