Netcompo アプリケーション会話サービス 2.1.1 LU6.2会話サービス編 - Solaris OE - |
目次
索引
![]() ![]() |
#include <lu62verb.h> u_long mc_allocate(MC_ALLOCATE *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; /*[OUT]*/ u_long lu_id; /*[IN]*/ u_char unique_session _name[MAX_UNIQUE_SESS_NAME+1]; /*[IN]*/ u_char tp_name_is_iso; /*[NOT SUPPORT]*/ u_char tp_name[MAX_TP_NAME+1]; /*[IN]*/ u_char rsvd0[1]; /*[RESERVED]*/ CONV_TYPE conv_type; /*[RESERVED]*/ u_char type; /*[NOT SUPPORT]*/ u_char sync_level; /*[IN]*/ u_short timeout; /*[RESERVED]*/ SECURITY_SELECT security_select; /*[IN]*/ u_char sec_user_id_is_iso; /*[IN]*/ u_char sec_user_id[MAX_USER_ID+1]; /*[IN]*/ u_char sec_password_is_iso; /*[IN]*/ u_char sec_password[MAX_PASSWORD+1]; /*[IN]*/ u_char sec_profile_is_iso; /*[IN]*/ u_char sec_profile[MAX_PROFILE+1]; /*[IN]*/ long pip_length; /*[IN]*/ u_char *pip_data; /*[IN]*/ }MC_ALLOCATE;
自LUと相手LUとの間にセションを割り当て、そのセション上にマップ会話を作成します。このとき、この会話を他の会話と識別するために、会話ごとにユニークな会話識別子が通知されます。
本バーブは、マップ会話に関するいかなるバーブよりも先に発行しなければいけません。
本バーブが正常終了すると、作成された会話は送信状態になります。
appc_openバーブによって通知されたLU識別子を指定します。
新しい会話で使用する、LU6.2会話サービス環境設定情報のユニークセション名を指定します。ユニークセション名は、8文字以内のASCIIコードで、NULLで終了する文字列です。
CODE_IS_ASCIIを指定します。
接続する相手トランザクションプログラム名を指定します。相手トランザクションプログラム名は、16文字以内の、NULLで終了する文字列です。
WHEN_SESSION_ALLOCATEDを指定します。
この会話において、自トランザクションプログラムと相手トランザクションプログラムが使用できる同期レベルを指定します。以下の値が指定できます。
- SYNC_NONE:
- トランザクションプログラムが、この会話においてconfirmバーブを発行せず、確認を行わないことを指定します。
- SYNC_CONFIRM:
- トランザクションプログラムがこの会話において確認処理を行うことを指定します。
0を指定します。
CODE_IS_ASCIIを指定します。
0を指定します。
CODE_IS_ASCIIを指定します。
0を指定します。
CODE_IS_ASCIIを指定します。
0を指定します。
0を指定します。
0を指定します。
復帰値が通知されます。以下のような値が通知されます。
- OK(0x00000000):
- バーブが正常終了しました。
- ENVIRONMENT_ERROR_NO_RETRY(0x00FF000F):
- LU6.2会話サービス環境設定で定義された情報が存在しないか、または定義された情報に異常があります。
- ALLOCATION_FAILURE _NO_RETRY(0x00040003):
- 一時的でない理由により、会話を割り当てることができませんでした。
- ALLOCATION_FAILURE_SESSION_LIMIT(0x0004000E):
- セション数がオーバーしました。
- ALLOCATION_FAILURE_CONV_MISM(0x00040009):
- 自トランザクションプログラムの指定した会話タイプが、相手トランザクションプログラムの期待していたタイプと異なったため、会話開始要求が拒否されました。
- FD_FAILURE(0x00FF0001):
- LU6.2会話サービスが起動されていません。
- ファイルディスクリプタの獲得に失敗しました。
- PARAMETER _ERROR(0x000A0000):
- パラメタエラーが発生しました。
- INVALID_SUB_VERB_TYPE(0x00070001):
- 会話の同期レベルに規定外の値が指定されました。
- STATE_CHECK_BAD_STATE(0x00100001):
- 状態エラーが発生しました。本バーブで指定するLU識別子は、appc_openバーブ(トランザクションプログラム制御バーブ)を使用して獲得したものでなければいけません。
- RESOURCE_FAILURE_NO_RETRY(0x000E0001):
- リトライ不可能なエラーが発生しました。
- WAIT_UNTIL_RTR(0x00FF000A):
- 相手システムから会話開始要求が拒否されました。
- 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):
- 下位ドライバでリトライ不可能なエラーが発生しました。
- VCP_DEACTIVATE(0x00FF000D):
- FNA-BASEが停止されました。
- INCONSISTENCY_IN_LU62(0x00FF0008):
- LU6.2会話サービスで異常が発生しました。
会話ごとにユニークな会話識別子が通知されます。
conv_idは、会話を行うための自トランザクションプログラム内でユニークなIDであり、mc_deallocateバーブが発行されて正常に終了するまで使用されます。以降のVerbライブラリ関数で要求時のパラメタになっているときには、必ずconv_idを指定してください。
目次
索引
![]() ![]() |