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

上へ第4章 Verbインタフェース
上へ4.3 タイプ独立バーブインタフェース詳細

4.3.1 appc_wait

[記述形式]

#include  <lu62verb.h>
u_long  appc_wait(APPC_WAIT *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    posted_conv_id;                           /*[OUT]*/ 
  u_char    rsvd0[1];                                 /*[RESERVED]*/
  u_char    nbio;                                     /*[IN]*/
  short    number_of_conv_ids;                        /*[IN]*/
  u_long    conv_id_list[MAX_WAIT_LIST];              /*[IN]*/
  u_char    conv_id_rw_list[MAX_WAIT_LIST];           /*[IN]*/
}APPC_WAIT; 

[説 明]

conv_id_listパラメタに指定された会話がポストされるのを待ちます。ポストされる会話として、mc_allocateバーブ、またはappc_acceptバーブを発行することによって得られる会話識別子か、またはappc_listenバーブを発行することによって得られるlisten識別子が指定できます。

本バーブは、会話の状態が送信状態、または受信状態のときに発行することができます。送信状態で本バーブを発行した場合、ポストを待つ前に、会話の状態は受信状態になります。会話が作成された時点でのデフォルトのポスト条件は、以下の場合です。

length:
0x7FFF

これらのポスト条件は、mc_receive_and_waitバーブおよびmc_receive_immediateバーブのlengthパラメタに指定された値に変更されます。また、ポスト条件の変更は、mc_post_on_receiptバーブを使用して行うこともできます。なお、mc_post_on_receiptバーブは、本バーブを発行する前に必ずしも必要なものではありません。

[要求時のパラメタ]

[復帰時のパラメタ]

OK(0x00000000):
バーブが正常終了しました。
ALLOCATION_FAILURE_NO_RETRY(0x00040003):
一時的でない理由により、会話を割り当てることができませんでした。
DEALLOCATE_ABEND(0x00080001):
posted_conv_idパラメタで示される会話に対して、相手トランザクションプログラムが、サブタイプにSUB_ABENDを伴うmc_deallocateバーブを発行しました。
PARAMETER_ERROR(0x000A0000):
パラメタエラーが発生しました。
BAD_CONV_ID(0x000A0008):
posted_conv_idパラメタで示される会話識別子が無効です。
STATE_CHECK_BAD_STATE(0x00100001):
状態エラーが発生しました。通常の会話識別子を指定した場合、その会話は送信状態、または受信状態でなければいけません。
RESOURCE_FAILURE_NO_RETRY(0x000E0001):
リトライ不可能なエラーが発生しました。
LU62_DEACTIVATE(0x00FF0007):
LU6.2会話サービスが非活性化状態です。
SESSION_DEACTIVATED(0x00FF0005):
posted_conv_idパラメタで示される会話で使用しているセションが切断されました。
SYSTEM_ERROR_NO_RETRY(0x00FF0009):
システムでリトライ不可能なエラーが発生しました。
VCP_ERROR_NO_RETRY(0x00FF000C):
FNA-BASEでリトライ不可能なエラーが発生しました。
DLC_ERROR_NO_RETRY(0x00150010):
下位ドライバでリトライ不可能なエラーが発生しました。
PROG_ERROR_PURGING(0x00050003):
posted_conv_idパラメタで示される会話に対して、相手トランザクションプログラムがタイプSUB_PROGのmc_send_errorバーブを発行しました。相手トランザクションプログラムは、その会話の状態が送信状態になるまでのすべてのデータを廃棄しています。posted_conv_idパラメタで示される会話が受信状態になったときに、相手トランザクションプログラムの会話は送信状態になります。
VCP_DEACTIVATE(0x00FF000D):
FNA-BASEが停止されました。
INCONSISTENCY_IN_LU62(0x00FF0008):
LU6.2会話サービスで異常が発生しました。

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

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