Reference information for analyzer programs

Top  Previous  Next

The names of the parameters and constants for analyzer programs, translated into appropriate forms for the different programming languages supported, are defined in files supplied as part of XCICS.

Language

Parameters file

Constants file

Path

C

dfhwbtdh.h     

dfhwbuch.h

$XFRAMEHOME/xcics/cpy

COBOL

DFHWBTDO.cpy

DFHWBUCO.cpy

$XFRAMEHOME/xcics/cobcpy

These files give language-specific information about the data types of the fields in the COMMAREA.

Parameters description

Parameter

Mode

Description

wbra_alias_tranid

Input/Output

A string of length 4. The transaction ID of the alias transaction that is to cover the remainder of processing for this request. If a URIMAP definition is involved, this contains the value of the TRANSACTION attribute. If you do not set this field, or if you set it to blanks, CWBA is used.

wbra_alias_termid

Output

A string of length 4. The terminal ID to be used on the START request for the alias transaction that is to cover the remainder of processing for this request.

wbra_characterset

Output

The name of the IANA character set that the client used for the entity body of the request. This information is used for code page conversion of the entity body of the request and the response. If the request is not an HTTP request, this character set is used to translate the entire request and response. wbra_hostcodepage must also be supplied.

wbra_client_ip_address

Input

The 32-bit IP address of the client.

wbra_commarea

Output

The flag to indicate that pre-IBM CICS TS Version 3 compatibility processing is required for a response that uses a non-Web-aware application and a converter program.

wbra_content_length

Input

A 32-bit binary representation of the entity body length as specified by the Content-Length HTTP header in the received data.

wbra_converter_program

Input/Output

A string of length 8. The name of the converter program that is used to process the request. If a URIMAP definition is involved, this contains the value of the CONVERTER attribute. If this field is not set on output, no converter program is called.

wbra_dfhcnv_key

Output

A string of length 8. The name of a conversion template in the DFHCNV table for code page conversion of the entity body for the request and the response. If the request is not an HTTP request, this template is used to translate the entire request and response.

XCICS initializes this field to high values. If you use this field to specify a conversion template, the name you choose must be defined in the DFHCNV table, as described in "Migrating entries in the code page conversion table (DFHCNV)" in topic 2.1.3. As an alternative, you can set the wbra_hostcodepage and wbra_characterset fields to specify the pair of code pages to use for code page conversion. If you set wbra_dfhcnv_key to nulls or blanks and do not set wbra_hostcodepage and wbra_characterset, code page conversion is suppressed.

wbra_eyecatcher

Input

A string of length 8. Its value is ">analyze".

wbra_function

Input

A code indicating that an analyzer program is being called. The value is 1.

wbra_hostcodepage

Output

The name of a host code page suitable for the application program that is handling the request.

wbra_hostname_length

Input

The length in bytes of the host name specified on the HTTP request. If no host name was specified, the value is undefined.

wbra_hostname_ptr

Input

A pointer to the host name specified on the HTTP request sent by the client. If an absolute URI was used for the request, the host name is taken from the URI. Otherwise the host name is as specified in the Host header for the request. For HTTP/1.1 requests, a host name is required, so this parameter is always passed to the analyzer. For HTTP/1.0 requests, a host name might not be supplied, in which case the value is undefined.

wbra_http_version_length 

Input

For an HTTP request, the length in bytes of the string identifying the HTTP version of the client's request. If the request is not an HTTP request, the value is zero.

wbra_http_version_ptr

Input

For an HTTP request, a pointer to the string identifying the HTTP version of the client's request. If the request is not an HTTP request, the value is undefined.

wbra_method_length

Input

For an HTTP request, the length in bytes of the string identifying the method specified in the HTTP request. If the request is not an HTTP request, the value is zero.

wbra_method_ptr

Input

For an HTTP request, a pointer to the method specified in the HTTP request. If the request is not an HTTP request, the value is undefined.

wbra_querystring_length

Input

The length in bytes of the query string specified on the HTTP request. If no query string was sent, the value is undefined.

wbra_querystring_ptr

Input

A pointer to the query string specified on the HTTP request sent by the client. If no query string was sent, the value is undefined.

wbra_reason

Output

The reason code returned by the analyzer program. See "Response and reason codes".

wbra_request_header_length

Input

For an HTTP request, the length of the first HTTP header in the HTTP request. If the request is not an HTTP request, the value is zero.

wbra_request_header_ptr

Input

For an HTTP request, a pointer to the first HTTP header in the HTTP request. The other HTTP headers follow this one in the request buffer. If the request is not an HTTP request, the value is undefined

wbra_request_type

Input

If this is an HTTP request, the value is WBRA_REQUEST_HTTP. If this is not an HTTP request, the value is WBRA_REQUEST_NON_HTTP.

wbra_resource_escaped_ptr

Input

For an HTTP request, a pointer to a copy of the HTTP headers for the request which have not been unescaped (that is, are still in
their escaped form).

wbra_resource_length

Input

For an HTTP request, the length in bytes of the path component of the URL. If the request is not an HTTP request, the value is zero.

wbra_resource_ptr

Input

For an HTTP request, a pointer to the path component of the URL. If a URIMAP definition is involved, this contains the value of the PATH attribute. If the request is not an HTTP request, the value is undefined.

wbra_response

Output

The response code returned by the analyzer program. See "Response and reason codes".

wbra_server_ip_address

Input

The 32-bit IP address that is being used by XCICS as an HTTP server.

wbra_server_program

Input/output

A string of length 8. The name of a XCICS application program that is to process the request. If a URIMAP definition is involved, this contains the value of the PROGRAM attribute. The program name is passed to any converter program specified in wbra_converter_program. If you do not set this field, the value passed is nulls. The program name must be set here or by the converter program, or no XCICS application program will be called.

wbra_unescape

Output

To specify that data is to be passed to the XCICS application program in its unescaped form, set this parameter to WBRA_UNESCAPE_REQUIRED
To specify that data is be passed to the application in its escaped form, set this parameter to WBRA_UNESCAPE_NOT_REQUIRED. This is the default value.

You should also set the parameter to WBRA_UNESCAPE_NOT_REQUIRED if your analyzer has converted the data to its escaped form.

wbra_urimap

Input

The name of any matching URIMAP definition that is involved in the processing path for the request. If this field is non-blank, the XCICS-supplied default analyzer DFHWBADX returns without processing the path component of the URL.

wbra_user_data_length

Input/output

A 15-bit integer, representing the length of the entity body in the HTTP request. If the request is non-HTTP, this value is the length of the request. The length passed to the analyzer includes any trailing carriage return and line feed (CRLF) characters that may delimit the end of the entity body. If the analyzer reduces the length of the entity body, the newly redundant bytes are replaced by null characters, X'00'. The modified value is passed on to the XCICS business logic interface in field wbbl_user_data_length, and to the converter program in field decode_user_data_length.

wbra_user_data_ptr

Input

For an HTTP request, a pointer to the entity body in the HTTP request. If the request is not an HTTP request, this is a pointer to the request.

wbra_user_token

Output

A 64-bit token that is passed to the converter program as decode_user_token. If you do not set this field, the value passed is null. If there is no converter program for this request, the value is ignored.

wbra_userid

Input/output

A string of length 8. On input, this is a user ID supplied by the client (using basic authentication or client certificate authentication), or if a URIMAP definition is involved, the value of the USERID attribute (if specified). On output, it is the user ID that is used for the alias transaction, which can be the supplied user ID or a user ID chosen by the analyzer program. If this field is blank or null on output, the XCICS default user ID is used.

 
.  
Response and reason codes

An analyzer program must return one of the following values in wbra_response:

URP_OK               0

URP_EXCEPTION        4

URP_INVALID          8

URP_DISASTER         12

URP_OK_LOOP          16

 

In case of a response code not equal to URP_OK, a reason code may be supplied in wbra_reason:

URP_RESOURCE_TOO_SHORT         1

URP_FIRST_SLASH_MISSING 2

URP_CONV_NAME_INVALID         4

URP_TRAN_NAME_INVALID         5

URP_SERV_NAME_INVALID         6

URP_USER_TOKEN_INVALID         7

URP_SERVER_NAME_MISSING 8