otma_openx API

The otma_openx API is an extended version of the otma_open API, with additional features. The caller must call otma_openx to connect when IMS is available. The caller must wait on the ECB, that is posted when the connection is completed or when the attempt has failed. When IMS is not up or OTMA is not started the attempt will fail.

Description

The extended features include:

  • The ability to specify an OTMA DRU exit routine.
  • Added capability for future enhancements to the API.

Invocation

Called by the client in TCB mode.

Input

Same as for the otma_open API, with two additional parameters:

*anchor
Pointer to the anchor word. If otma_create is not used to set up the anchor environment, the anchor word must be initialized with a zero.
*group_name
Pointer to the string containing the z/OS® cross-system coupling facility (XCF) group name. (char[8])
*member_name
Pointer to the string containing the XCF member name for this member. (char[16])
*partner_name
Pointer to the string containing the XCF member name for IMS. (char[16])
*sessions
Number of parallel sessions that are intended to be supported with IMS. Long integer from 001 to 999.
*tpipe_prefix
First 1 to 4 characters of the tpipe names. (char[4]).

For more information on OTMA tpipe naming conventions, see IMS Version 15.5 Communications and Connections.

*ims_dru_name
Pointer to the string containing the user-defined OTMA User Data Formatting exit routine. This is an extended API parameter.
*special_options
Pointer to an area codifying non-standard options. Currently, there are no special options supported. Specify a NULL for this parameter. This is an extended API parameter.
Attention: For the input fields group_name, member_name, and partner_name, all XCF names that are pointed to must be left justified, filled with blanks, and consist of legal upper case EBCDIC characters. If any of those naming rules are violated, underlying XCF errors will be reported.

Output

*anchor
Pointer to the anchor word to receive the address of global storage.
*retrsn
Pointer to the return code structure.
*ecb
Pointer to the event control block to be posted when the open completes.

C-language function prototype

otma_openx(
          otma_anchor_t     *anchor,           [out]
          otma_retrsn_t     *retrsn,           [out]
          ecb_t             *ecb,              [out]
          otma_grp_name_t   *group_name,       [in]
          otma_clt_name_t   *member_name,      [in]
          otma_srv_name_t   *partner_name,     [in]
          signed long int   *sessions,         [in]
          tpipe_prfx_t      *tpipe_prefix,     [in]
          otma_dru_name_t   *ims_dru_name,     [in]
          otma_profile4_t   *special_options); [in] 

Post codes

Same as for the otma_open API.

Return values (rc value)

Same as for the otma_open API.