TP1/NET/OSAS-NIFの入力メッセージ編集UOCのコーディング例(K&R版 C)を次に示します。このコーディング例は,/BeTRAN/examples/mcf/OSASNIF/cmlib/c/uoc.cのファイルで提供しています。
#include <stdio.h>
#include <dcmcf.h>
#include <dcmnom.h>
#include <dcmcfuoc.h>
#define ERR_PRT_KIND -19001L
DCLONG dc_mcf_stduoc_msgin(param)
/* ADDRESS OF EDITING AREA FOR INPUT MESSAGE EDITING UOC */
dcmcf_uoc_min_n *param ;
{
/*******************************/
/* DECLARATION OF ARGUMENT */
/*******************************/
dcmnom_uoc *ifa_ptr ; /* POINTER OF PROTOCOL INDIVIDUAL INTERFACE */
DCLONG n ;
if(param->pro_kind != DCMCF_UOC_PRO_NF){ /* CHECK OF PROTOCOL KIND */
param->rtn_detail=ERR_PRT_KIND;
return(DCMCF_UOC_MSG_NG); /* MESSAGE EDITING ERROR */
}
ifa_ptr = (dcmnom_uoc *)param->pro_indv_ifa ;
/* POINTER AQUISITION OF PROTOCOL INDIVIDUAL AREA BY CASTING */
if(ifa_ptr->appname[0] != 0){
strcpy(param->aplname,ifa_ptr->appname);
}
else{
param->aplname[8] = 0 ;
for(n = 0 ; n < 9 ; n++){
/* NULL TERMINATING IF SPACE, AND MAKING NORMAL DECISION OF AP NAME */
if(param->buflist_adr->buf_array[0].buf_adr[n] == ' '){
param->aplname[n] = 0 ;
break;
}
param->aplname[n] =
param->buflist_adr->buf_array[0].buf_adr[n] ;
}
}
param->buflist_adr->used_buf_num = param->buflist_adr->buf_num ;
return(DCMCF_UOC_MSG_OK_RCV);
}