コンバータプログラムのデコード機能のパラメータリスト
アナライザ・プログラム、URIMAP定義、または CICS®の呼び出し側がリクエスト用のコンバータ・プログラム名を指定した場合、リクエスト用のデータを供給するユーザー作成アプリケーション・プログラムの前にデコードが呼び出されます。
パラメーターの要約
次の表では、パラメーターの名前は省略形で示されています。 表中のそれぞれの名前をパラメーターの名前にするには、接頭部として decode_ を付ける必要があります。
| Input decode_ | Inout decode_ | Output decode_ |
|---|---|---|
client_address
client_ipv6_address client_address_string client_ipv6_address_string eyecatcher entry_count function http_version_length http_version_ptr method_length method_ptr request_header_length request_header_ptr resource_length resource_ptr user_data_length user_data_ptr version volatile |
data_ptr
input_data_len server_program user_token |
output_data_len
reason response |
パラメーター
- decode_client_address
- (入力のみ)
decode_client_ipv6_address が指定されていない場合にクライアントの 2 進 IPv4 アドレスに設定する必要がある、フルワードの 32 ビット・フィールド。 decode_client_address では、IPv6 アドレスはサポートされていません。
decode_client_address にゼロ以外の値が設定されている場合は、 この値が使用されて decode_client_ipv6_address の値は無視されます。 そのため、IPv6 アドレッシングを使用する場合は、 decode_client_address の内容をクリアして、 decode_client_ipv6_address の値が使用されるようにする必要があります。
- decode_client_ipv6_address
- (入力のみ)
IPv6 アドレッシングを使用する場合や、IPv4 アドレッシングを使用していて decode_client_address が指定されていない場合に設定する必要がある、16 バイトのフィールド。 このフィールドは IPv4 アドレスと IPv6 アドレスの両方をサポートしており、 クライアントの 2 進 IPv6 アドレス、または IPv6 形式によるクライアントの IPv4 アドレスに設定されます。 IPアドレスの形式についての詳細は 、IPアドレスをご覧ください。
- decode_client_address_string
- (入力のみ)
クライアントのドット 10 進数形式の IPv4 アドレス。
- decode_client_ipv6_address_string
- (入力のみ)
IPv4 アドレスの場合はドット 10 進数形式、IPv6 アドレスの場合はコロン 16 進形式による、クライアントの IP アドレス。 このフィールドの最大長は 39 バイトです。
- decode_data_ptr
- (入出力)
入力では、クライアントからの要求 (アナライザー・プログラムにより変更されている場合がある) を指すポインター、 または、この呼び出しがエンコード・コンバーター機能からのループバックである場合は、encode_data_ptr の応答データを指すポインター。
出力では、ユーザー作成アプリケーション・プログラム に渡す COMMAREA を指すポインター。 decode_volatile の値が 0 の場合は、このパラメーターを変更しないでください。
- decode_entry_count
- (入力のみ)
現行 Web 要求でデコード・コンバーターが実行された回数を示すカウント。
- decode_eyecatcher
- (入力のみ)
長さが 8 のストリング デコードの値は
です。>decode - decode_function
- (入力のみ)
デコード機能が呼び出されていることを示す、定数値 URP_DECODE に設定されるハーフワード・コード。
- decode_http_version_length
- (入力のみ)
クライアントがサポートする HTTP のバージョンを識別するストリングの長さ (バイト)。 この要求が HTTP 要求でない場合、または decode_entry_count が 1 より大きければ、この値はゼロです。
- decode_http_version_ptr
- (入力のみ)
クライアントがサポートする HTTP のバージョンを識別するストリングを指すポインター。 アナライザーが要求のこの部分を変更した場合、 その変更はここで確認できます。 decode_http_version_length がゼロであれば、この値は未定義です。
- decode_input_data_len
- (入出力)
入力では、これは decode_data_ptr が指す要求データの長さ (バイト) です。
- decode_method_length
- (入力のみ)
HTTP 要求に指定されたメソッドの長さ (バイト)。 この要求が HTTP 要求でない場合、または decode_entry_count が 1 より大きければ、この値はゼロです。
- decode_method_ptr
- (入力のみ)
HTTP 要求に指定されたメソッドを指すポインター。 アナライザーが要求のこの部分を変更した場合、 その変更はここで確認できます。 decode_method_length がゼロであれば、この値は未定義です。
- decode_output_data_len
- (出力のみ)
ポインター decode_data_ptr で示されるユーザー作成アプリケーション・プログラムに渡される COMMAREA の長さ (バイト)。 この出力が設定されていない場合のデフォルト値は 32 KB です。
- decode_reason
- (出力のみ)
理由コード 。「応答と理由コード 」を参照。
- decode_request_header_length
- (入力のみ)
HTTP 要求の最初の HTTP ヘッダーの長さ。 この要求が HTTP 要求でない場合、または decode_entry_count が 1 より大きければ、この値はゼロです。
- decode_request_header_ptr
- (入力のみ)
HTTP 要求の最初の HTTP ヘッダーを指すポインター。 アナライザー・プログラムが要求のこの部分を変更した場合、その変更はここで確認できます。 decode_request_header_length がゼロであれば、この値は未定義です。
- decode_resource_length
- (入力のみ)
HTTP 要求内の URL のパス構成要素の長さ (バイト)。 この要求が HTTP 要求でない場合、または decode_entry_count が 1 より大きければ、この値はゼロです。
- decode_resource_ptr
- (入力のみ)
HTTP 要求内の URL のパス構成要素のポインター。 アナライザー・プログラムが要求のこの部分を変更した場合、その変更はここで確認できます。 decode_resource_length がゼロであれば、この値は未定義です。
- decode_response
- (出力のみ)
応答 。応答と理由コードを参照。
- decode_server_program
- (入出力)
長さが 8 のストリング 入力時、 wbra_server_programの解析器によって提供された値、または CICSの呼び出し側によって提供された値。 出力では、要求を処理するユーザー作成アプリケーション・プログラムの名前。 アプリケーション・プログラム名は この場所かアナライザー・プログラムで設定する必要があります。 設定しないと、アプリケーション・プログラムは呼び出されません。
- decode_user_data_length
- (入力のみ)
この HTTP 要求のエンティティー・ボディの長さ (バイト)。 アナライザー・プログラムによってこの値が変更された場合、変更された値はここで確認できます。 エンティティー・ボディが要求の中になければ、長さはゼロです。 この要求が HTTP 要求でなければ、 値はこの要求の長さです。 decode_entry_count が 1 より大きければ、この値はゼロです。
- decode_user_data_ptr
- (入力のみ)
この HTTP 要求の任意のエンティティー・ボディを指すポインター。 アナライザーが要求のこの部分を変更した場合、 その変更はここで確認できます。 エンティティー・ボディが要求の中になければ、ポインターはゼロです。 要求が HTTP 要求でなければ、 このポインターは decode_data_ptr と同じ値を持ちます。 decode_entry_count が 1 より大きければ、この値は未定義です。
- decode_user_token
- (入出力)
64 ビットのトークン。 入力時に、アナライザによって wbra_user_token として提供されたユーザートークン、または CICSの呼び出し側によって提供されたユーザートークン。 出力では、 encode_user_token としてエンコード機能に渡されるトークン。
- decode_version
- (入力)
現在使用されているパラメーター・リストのバージョンを示すハーフワードの 2 進数。 これは、定数値 decode_current_version を使用して設定します。
- decode_volatile
- (入力)decode_data_ptr として指定されているデータ域を置換できるかどうかを示す単一文字コード。 使用可能な値は以下のとおりです。
- 0
- データ域は別の COMMAREA の一部であるので、置換することはできません。
- 1
- decode_data_ptr が指しているストレージは、解放して、別サイズの作業域と置換できます。
応答および理由コード
| シンボル値 | 数値 | 説明 |
|---|---|---|
| URP_OK | 0 | 処理を続行します。 CICSが要求された場合、実行されます。 そうでいない場合は、コンバーター・プログラムのエンコード機能で処理が続行されます。 |
| URP_EXCEPTION | 4 | 実行するアクションは、以下の理由コードによって決まります。
|
| URP_INVALID | 8 | CICSとコンバータプログラムの encode 機能は実行されません。
|
| URP_DISASTER | 12 | CICSとデコーダーのエンコード機能は実行されません。
|
| その他の任意の値 | CICSとデコーダーの encode 機能は実行されません。
|
エラーの場合にさらに情報を提供するために、 decode_reason に 32 ビットの理由コードを設定できます。 decode が返す理由コードに対して、 CICSも CICSも、URP_EXCEPTION に示されている場合を除き、何らかのアクションを起こすことはありません。 decode の呼び出しにより発生するすべてのトレースエントリには、理由コードが含まれています。