Allows you to override the internal data value created during the execution of the application.
Syntax:
typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32 exit_point,
IDP_EXIT_INFO *exit_info);
On Entry:
- exit point
- 8 = End of response processing
- exit_info
-
- version
- Version of structure format
- flags
- 0
- funcs
- User exit support functions
- request_cxt
-
version
|
Version of structure format
|
service_type
|
Type of client request
|
display_buf_len
|
Length of data in display_buf
|
flags
|
Request context control flags
|
service_name
|
Name of loaded service
|
pgm_name
|
Name of the main program associated with the service
|
epoint_name
|
Name of the entry point to invoke
|
display_buf
|
Concatenation of strings output by ANSI DISPLAY statements
|
- response
-
response_len
|
Length of response_buf
|
flags
|
Control flags
|
response_buf
|
Response buffer created by default mapping or overridden by the exit
|
content_type
|
NULL-terminated content type string (HTTP only)
|
- exit_data
- User exit-specific data
On Exit:
- exit_info
-
- response
-
response_len
|
Length of response_buf
|
response_buf
|
Response buffer
|
content_type
|
NULL-terminated content type string (HTTP only)
|
- exit_data
- User exit-specific data
Return codes:
- IDP_EXIT_CONTINUE
- 0 = Continue with processing
- IDP_EXIT_STOP
- 1 = Terminate response processing. The default response is not to be sent. An error response will be required
- IDP_EXIT_HANDLED
- 2 = The exit has overridden the default response
Comments:
This exit gives you the opportunity to override the full response generated by default mapping. The exit can optionally modify any of the returned request fields listed above. The exit should use the fn_alloc_mem support function of the exit_info funcs structure to allocate any memory used to replace the response_buf field. If the exit chooses to override any of the response structure fields, it must return IDP_EXIT_HANDLED.
The user exit program owns the exit_data field of the IDP_EXIT_INFO structure. You would typically use it to preserve context information between exit point invocations. You can use it when returning any of the IDP_EXIT_ return values.