Netcompo アプリケーション会話サービス 2.1 LU6.2会話サービス編 - Solaris - |
目次
索引
![]() ![]() |
#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識別子が指定できます。
本バーブは、会話の状態が送信状態、または受信状態のときに発行することができます。送信状態で本バーブを発行した場合、ポストを待つ前に、会話の状態は受信状態になります。会話が作成された時点でのデフォルトのポスト条件は、以下の場合です。
これらのポスト条件は、mc_receive_and_waitバーブおよびmc_receive_immediateバーブのlengthパラメタに指定された値に変更されます。また、ポスト条件の変更は、mc_post_on_receiptバーブを使用して行うこともできます。なお、mc_post_on_receiptバーブは、本バーブを発行する前に必ずしも必要なものではありません。
BLOCKINGを指定します。
conv_id_listパラメタに指定する、会話識別子およびlisten識別子の数を指定します。
ポストを待ち合わせる会話の、会話識別子を指定します。配列には、allocateバーブ、mc_allocateバーブ、あるいはappc_acceptバーブによって通知される会話識別子か、またはappc_listenバーブによって通知されるlisten識別子を含めることができます。
0を指定します。
復帰値が通知されます。以下のような値が通知されます。
- 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会話サービスで異常が発生しました。
ポスト、あるいはエラーが発生した会話の会話識別子、またはlisten識別子が通知されます。
目次
索引
![]() ![]() |