Netcompo アプリケーション会話サービス 2.1.1 LU6.2会話サービス編 - Solaris OE - |
目次
索引
![]() ![]() |
#include <lu62verb.h> u_long mc_deallocate(MC_DEALLOCATE *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 type; /*[IN]*/ u_char rsvd[3]; /*[RESERVED]*/ long log_data_length; /*[RESERVED]*/ u_char *log_data; /*[RESERVED]*/ }MC_DEALLOCATE;
指定されたマップ会話を終了し、会話で保有していた資源を解放します。会話の送信バッファは、本バーブのタイプに関係なくフラッシュされます。
会話識別子を指定します。
会話終了のタイプを指定します。以下の値が指定できます。
- SUB_FLUSH:
- 会話の送信バッファをフラッシュし、正常に会話を終了します。
- SUB_SYNC_LEVEL:
- mc_allocateバーブ発行時の同期レベルがSYNC_NONEであったならば、SUB_FLUSHと同様に動作します。また、mc_allocateバーブ発行時の同期レベルがSYNC_CONFIRMであったならば、SUB_CONFIRMと同様に動作します。
- SUB_CONFIRM:
- 応答要求を送信し、それに対する相手トランザクションプログラムからの肯定応答を受信したときに正常終了します。もし、相手トランザクションプログラムから否定応答を受信した場合は会話は終了せずに、自トランザクションプログラムの会話は受信状態となります。SUB_CONFIRMは、会話が同期レベルSYNC_NONEで作成されたものであったときは指定できません。
上記の3つの値(SUB_FLUSH、SUB_SYNC_LEVEL、そしてSUB_CONFIRM)での本バーブの発行に際しては、会話は送信状態でなければいけません。 SUB_CONFIRMと、会話の同期レベルがSYNC_CONFIRMの時のSUB_SYNC_LEVELはともに、相手トランザクションプログラムから否定応答を受信した場合、復帰値PROG_ERROR_PURGINGを返して,自トランザクションプログラムの会話は受信状態になります。
- SUB_ABEND:
- 会話を異常終了します。この値は、自トランザクションプログラムの会話が会話終了状態以外であれば指定することができます。もし、自トランザクションプログラムの会話が送信状態であれば、会話の送信バッファはフラッシュされます。会話が受信状態であれば、受信中のデータは廃棄されます。
- SUB_LOCAL:
- 会話をローカルに終了します。この値は、自トランザクションプログラムの会話が会話終了状態のときにのみ指定することができます。
会話終了状態とは、以下のような状態をいいます。
- 最後に発行したバーブの復帰値が,DEALLOCATE_ABENDまたは、DEALLOCATE_NORMALのとき。
- mc_receive_and_waitバーブまたはmc_receive_immediateバーブのwhat_received_flag_typeパラメタの値がWR_CONFIRM_DEALLOCATEで正常終了し、自トランザクションプログラムがmc_confirmedバーブを発行したとき。
0を指定します。
0を指定します。
復帰値が通知されます。以下のような値が通知されます。
- OK(0x00000000):
- バーブが正常終了しました。
- ALLOCATION_FAILURE_NO_RETRY(0x00040003):
- 一時的でない理由により、会話を割り当てることができませんでした。
- DEALLOCATE_ABEND(0x00080001):
- 相手トランザクションプログラムが、サブタイプにSUB_ABENDを伴うmc_deallocateバーブを発行しました。
- PARAMETER_ERROR(0x000A0000):
- パラメタエラーが発生しました。
- BAD_CONV_ID(0x000A0008):
- 指定された会話識別子が無効です。
- STATE_CHECK_BAD_STATE(0x00100001):
- 状態エラーが発生しました。本バーブのサブタイプにSUB_FLUSH、SUB_CONFIRM、またはSUB_SYNC_LEVELを指定した場合は、会話の状態は送信状態でなければなりません。また、本バーブのサブタイプにSUB_LOCALを指定した場合は、会話の状態は会話終了状態でなければなりません。
- SYNC_LEVEL_NOT_SUPPORTED_BY_CONV(0x000A0032):
- 会話が同期レベルSYNC_NONEで作成されているため、本バーブのサブタイプにSUB_CONFIRMを指定することはできません。
- INVALID_SUB_VERB_TYPE(0x00070001):
- 会話終了のタイプに規定外の値が指定されました。
- RESOURCE_FAILURE_NOT_RETRY(0x000E0001):
- リトライ不可能なエラーが発生しました。
- 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のmc_send_errorバーブを発行しました。
- PROG_ERROR_PURGING(0x00050003):
- 相手トランザクションプログラムが、タイプSUB_PROGのsend_errorバーブを発行し、かつ相手トランザクションプログラムの会話が送信状態になるまでのすべてのデータを廃棄しています。自トランザクションプログラムの会話が受信状態になったときに、相手トランザクションプログラムの会話は送信状態になります。
- VCP_DEACTIVATE(0x00FF000D):
- FNA-BASEが停止されました。
- INCONSISTENCY_IN_LU62(0x00FF0008):
- LU6.2会話サービスで異常が発生しました。
目次
索引
![]() ![]() |