The include file IRZPWSH is located on the z/OS® server in the data set SFEKSAMP installed by the host portion of Rational® Developer for System z®.
Figure 1 shows the first part of IRZPWSH, before the definition of the segmentation APIs:
/* This file must be included by all IMS service provider MPPs
* developed using the RDz top-down support for IMS Enterprise
* Suite SOAP Gateway.
/********************************************************************
* Required, symmetric asynchronous message header segment for use
* with IRZPWSIO APIs: IRZQGETS, IRZQSETS, IRZXGETS, IRZXSETS.
* @version E527A9DA-8413-4FB0-AE3F-99E02FBC7E92
********************************************************************/
dcl 01 @irz_async_msg_header_ptr pointer;
dcl 01 @irz_async_msg_header unaligned
based(@irz_async_msg_header_ptr),
02 ll fixed bin (15) init(0),
02 zz fixed bin (15) init(0),
02 trancode char (08) init(''),
02 header_guid char (36) init
('E527A9DA-8413-4FB0-AE3F-99E02FBC7E92'),
02 service_context,
03 target_namespace wchar (1024) varying init(''),
03 service_name wchar (0512) varying init(''),
03 port_name wchar (0512) varying init(''),
03 operation_name wchar (0512) varying init(''),
02 language_binding,
03 soap_header_bit bit (1) aligned init('0'b),
03 soap_header,
04 header_struct_name wchar (100) varying init(''),
04 header_struct_segment_num fixed bin (31) init(0),
04 header_struct_segment_cnt fixed bin (31) init(0),
04 header_struct_size fixed bin (31) init(0),
04 header_struct_ptr pointer,
03 soap_body_bit bit (1) aligned init('0'b),
03 soap_body,
04 body_struct_name wchar (100) varying init(''),
04 body_struct_segment_num fixed bin (31) init(0),
04 body_struct_segment_cnt fixed bin (31) init(0),
04 body_struct_size fixed bin (31) init(0),
04 body_struct_ptr pointer,
03 soap_fault_bit bit (1) aligned init('0'b),
03 soap_fault,
04 fault_struct_name wchar (100) varying init(''),
04 fault_struct_segment_num fixed bin (31) init(0),
04 fault_struct_segment_cnt fixed bin (31) init(0),
04 fault_struct_size fixed bin (31) init(0),
04 fault_struct_ptr pointer;
dcl @irz_async_msg_header_size fixed bin(31)
value(storage(@irz_async_msg_header));
/********************************************************************
* IMS I/O Program Communication Block (IOPCB) declarations and
* constants.
********************************************************************/
dcl 01 @irz_iopcb_mask_ptr pointer;
dcl 01 @irz_iopcb_mask unaligned based(@irz_iopcb_mask_ptr),
02 iopcb_lterm char(8),
02 resv char(2),
02 iopcb_status_code char(2),
02 iopcb_date decimal fixed(7,0),
02 iopcb_time decimal fixed(6,9),
02 iopcb_msg_seq_number fixed bin(31),
02 iopcb_mod_name char(8),
02 iopcb_user_id char(8);
/********************************************************************
* @param @IRZ_STRUCT_TYPE constants for use with IRZPWSIO APIs:
* IRZQGETS, IRZQSETS.
********************************************************************/
dcl @irz_soap_header_struct fixed bin(31) value(1);
dcl @irz_soap_body_struct fixed bin(31) value(2);
dcl @irz_soap_fault_struct fixed bin(31) value(3);
/********************************************************************
* Return code constants for use with IRZPWSIO APIs:
* IRZQGETS, IRZQSETS, IRZXGETS, IRZXSETS.
********************************************************************/
dcl @irz_success fixed bin(31) value(000);
dcl @irz_omitted_parameter fixed bin(31) value(100);
dcl @irz_invalid_pointer fixed bin(31) value(101);
dcl @irz_invalid_struct_type fixed bin(31) value(102);
dcl @irz_struct_not_found fixed bin(31) value(103);
dcl @irz_struct_name_mismatch fixed bin(31) value(104);
dcl @irz_invalid_struct_order fixed bin(31) value(105);
dcl @irz_invalid_struct_size fixed bin(31) value(106);
dcl @irz_invalid_struct_name fixed bin(31) value(107);
dcl @irz_struct_already_set fixed bin(31) value(108);
dcl @irz_icon_buf_exhausted fixed bin(31) value(997);
dcl @irz_cee_call_failure fixed bin(31) value(998);
dcl @irz_dli_call_failure fixed bin(31) value(999);
/********************************************************************
* IMS CEETDLI interface declarations and constants.
********************************************************************/
dcl @irz_dli_get_unique char (4) value('GU ');
dcl @irz_dli_get_next char (4) value('GN ');
dcl @irz_dli_insert char (4) value('ISRT');
dcl @irz_dli_message_exists char (2) value('CF');
dcl @irz_dli_end_segments char (2) value('QD');
dcl @irz_dli_end_messages char (2) value('QC');
dcl @irz_dli_status_ok char (2) value(' ');
dcl @irz_message_max_data fixed bin(31) value(2147123205);
dcl @irz_segment_max_data fixed bin(31) value(32763);
dcl 01 @irz_message_segment unaligned,
02 _ll signed fixed bin(15),
02 _zz bit(16),
02 _data char(@irz_segment_max_data);
/********************************************************************
* Language Environment declarations and constants.
********************************************************************/
dcl 1 @irz_cee_feedback feedback;