Netcompo アプリケーション会話サービス 2.1 LU6.2会話サービス編 - Solaris -
目次 索引 前ページ次ページ

上へ第4章 Verbインタフェース
上へ4.2 マップ会話バーブインタフェース詳細

4.2.10 mc_receive_immediate

[記述形式]

#include  <lu62verb.h>
u_long  mc_receive_immediate(MC_RECEIVE_IMMEDIATE *parm); 

[パラメタブロックの形式]

typedef struct {
  u_char    sys_rsvd0;                                /*[RESERVED]*/
  u_char    sys_rsvd1;                                /*[RESERVED]*/
  u_short   sys_rsvd2;                                /*[RESERVED]*/
  u_char    sys_rsvd3[8];                             /*[RESERVED]*/
  u_long    return_code;                              /*[OUT]*/ 
  u_long    conv_id;                                  /*[IN]*/
  u_char    request_to_send_received;                 /*[OUT]*/ 
  u_char    what_received_data_type;                  /*[OUT]*/ 
  u_char    what_received_flag_type;                  /*[OUT]*/ 
  u_char    type;                                     /*[IN]*/
  long      rsvd0;                                    /*[RESERVED]*/
  long      length;                                   /*[IN/OUT]*/
  u_char    map_name[MAX_MAP_NAME+1];                 /*[IN]*/
  u_char    rsvd1[3];                                 /*[RESERVED]*/
  u_char    *data;                                    /*[IN/OUT]*/
}MC_RECEIVE_IMMEDIATE;  

[説 明]

相手トランザクションプログラムからの情報を受信します。受信バッファに受信すべき有効な情報がない場合は、復帰値UNSUCCESSFUL_RETRYで直ちに復帰します。

通知される情報は、データ、what_received_flag_typeの状態、あるいはエラー復帰コードです。

本バーブは、会話が受信状態のときにのみ発行することができます。本バーブを発行することによって、会話の状態は変更されません。

lengthパラメタは、会話がポスト状態になったことを決定するためにappc_waitバーブで使用されるポスト条件を変更します。トランザクションプログラムは、ポスト条件を変更するためにmc_post_on_receiptバーブを発行することもできます。

[要求時のパラメタ]

SUB_NONE:
何も行いません.
SUB_CONFIRMED_ON_CONFIRM:
応答要求受信時に、自動的に肯定応答を送信します。この値を指定した場合,本バーブの復帰パラメタであるwhat_received_flag_typeパラメタで示される値がWR_CONFIRM、WR_CONFIRM_SEND、またはWR_CONFIRM_DEALLOCATEであった場合でも、mc_confirmedバーブを発行する必要がなくなります。

[復帰時のパラメタ]

OK(0x00000000):
バーブが正常終了しました。
ALLOCATION_FAILURE_NO_RETRY(0x00040003):
一時的でない理由により、会話を割り当てることができませんでした。
DEALLOCATE_ABEND(0x00080001):
相手トランザクションプログラムが、サブタイプにSUB_ABENDを伴うmc_deallocateバーブを発行しました。
DEALLOCATE_NORMAL(0x00080005):
相手トランザクションプログラムの発行したmc_deallocateバーブにより、会話が正常に終了しました。
SHM_FAILURE (0x00FF0003):
共用メモリに関する処理で異常が発生しました。
PARAMETER_ERROR(0x000A0000):
パラメタエラーが発生しました。
BAD_CONV_ID (0x000A0008):
指定された会話識別子が無効です。
STATE_CHECK_BAD_STATE(0x00100001):
状態エラーが発生しました。本バーブは、会話の状態が受信状態のときにのみ発行することができます。
SYNC_LEVEL_NOT_SUPPORTED_BY_CONV (0x000A0032):
typeパラメタにSUB_CONFIRMED_ON_CONFIRMが指定されており、相手トランザクションプログラムから応答要求を受信しましたが、会話が同期レベルSYNC_NONEで割り当てられているため、肯定応答の送信ができません。
RESOURCE_FAILURE_NO_RETRY(0x00E0001):
リトライ不可能なエラーが発生しました。
LU62_DEACTIVATE(0x00FF0007):
LU6.2会話サービスが非活性化状態です。
SESSION_DEACTIVATED(0x00FF0005):
セションが切断されました。
SYSTEM_ERROR_NO_RETRY(0x00FF0009):
システムでリトライ不可能なエラーが発生しました。
VCP_ERROR_NO_RETRY(0x00FF000C):
FNA-BASEでリトライ不可能なエラーが発生しました。
DLC_ERROR_NO_RETRY(0x00150010):
下位ドライバでリトライ不可能なエラーが発生しました。
PROG_ERROR_NO_TRUNC(0x00050001):
相手トランザクションプログラムが、送信状態の会話でタイプSUB_PROGのsend_errorバーブを発行しました。
PROG_ERROR_PURGING(0x00050003):
相手トランザクションプログラムが、タイプSUB_PROGのsend_errorバーブを発行し、かつ相手トランザクションプログラムの会話が送信状態になるまでのすべてのデータを廃棄しています。自トランザクションプログラムの会話が受信状態になったときに、相手トランザクションプログラムの会話は送信状態になります。
LL_FORMAT_ERROR (0x00FF000E):
相手トランザクションプログラムから受信したGDS変数のフォーマットに異常を検出しました。
VCP_DEACTIVATE(0x00FF000D):
FNA-BASEが停止されました。
UNSUCCESSFUL_RETRY(0x00110001):
本バーブに対する有効な情報を受信していません。
INCONSISTENCY_IN_LU62(0x00FF0008):
LU6.2会話サービスで異常が発生しました。
REQUEST_TO_SEND_NOT_RECEIVED:
request_to_sendを受信していません。
REQUEST_TO_SEND_RECEIVED:
request_to_sendを受信しました。
WR_NONE:
データを受信していません。
WR_DATA_COMPLETE:
相手トランザクションプログラムから完全なGDS変数かまたはその最後の部分を受信しました。
WR_DATA_INCOMPLETE:
相手トランザクションプログラムから受信したGDS変数が不完全です。
WR_NONE:
状態の変更、および相手トランザクションプログラムからの応答要求は受信していません。
WR_SEND:
相手トランザクションプログラムから、送信権を受信しました。自トランザクションプログラムは、mc_send_dataバーブを使用してデータを送信することができます。
WR_CONFIRM:
相手トランザクションプログラムからの応答要求を受信しました。本バーブのtypeパラメタにSUB_CONFIRMED_ON_CONFIRMを指定していない自トランザクションプログラムは、mc_confirmedバーブによる肯定応答か、またはmc_send_errorバーブによる否定応答を送信することができます。
WR_CONFIRM_SEND:
相手トランザクションプログラムから、送信権と応答要求を同時に受信しました。本バーブのtypeパラメタにSUB_CONFIRMED_ON_CONFIRMを指定していない自トランザクションプログラムは、mc_confirmedバーブによる肯定応答か、またはmc_send_errorバーブによる否定応答を送信することができます。
WR_CONFIRM_DEALLOCATE:
相手トランザクションプログラムから、会話終了要求と応答要求を同時に受信しました。本バーブのtypeパラメタにSUB_CONFIRMED_ON_CONFIRMを指定していない自トランザクションプログラムは、mc_confirmedバーブによる肯定応答か、またはmc_send_errorバーブによる否定応答を送信することができます。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2002