TIBCO® EMS Client for z/OS (MVS) Installation and Reference

Software Release 6.0 July 2010 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN LICENSE.PDF) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIB, TIBCO, Information Bus, The Power of Now, TIBCO Adapter, TIBCO Enterprise Message Service, and the TIBCO logo are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. EJB, Java EE, J2EE, and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only. THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. SEE THE README.TXT FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM. THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME. THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES. Copyright © 1995-2010 TIBCO Software Inc. ALL RIGHTS RESERVED. TIBCO Software Inc. Confidential Information | iii Contents

Tables ...... v

Preface ...... vii Related Documentation ...... viii TIBCO Enterprise Message Service Documentation ...... viii Third Party Documentation...... ix How to Contact TIBCO Customer Support ...... x

Chapter 1 Introduction...... 1 Overview ...... 2 System Requirements ...... 3 Storage Requirements ...... 3 TCP/IP ...... 3 SSL...... 4 Language Environment (LE)...... 4

Chapter 2 Installation ...... 5 Before Installation ...... 6 Distribution Media and Contents ...... 7 Obtaining the Software ...... 7 Checklist for Installation ...... 9 Uploading the Software ...... 10 Initial Installation ...... 10 Installing the Software ...... 12 Verifying the Installation...... 15 Optional Installation Changes ...... 16 Compiling Programs ...... 16 Compiling COBOL Programs ...... 17 Compiling Assembler Programs ...... 17

Chapter 3 z/OS MVS...... 19 Starting Applications ...... 20 User Profile Requirements ...... 20 Case Sensitivity in Input Parameters ...... 21

TIBCO EMS Client for z/OS (MVS) Installation and Reference iv | Contents

JCL Statements for Applications ...... 21 JCL Statements for Applications Using SSL ...... 22 Sites with Multiple Stacks ...... 22 's Checklist ...... 23 C Language ...... 23 COBOL ...... 23 SSL ...... 24 DLL ...... 24

Appendix A MVS Batch Sample Programs ...... 25 Messaging Samples ...... 26 JCL and General Procedure Samples ...... 28 Sample Program Data Sets ...... 29

Appendix B Installed Data Set Specifications ...... 31

Appendix C Assembler Calls for C Functions ...... 32

TIBCO EMS Client for z/OS (MVS) Installation and Reference Tables | v Tables

Table 1 Related Documents ...... ix Table 2 General Variables ...... 6 Table 3 Installation Checklist ...... 9 Table 4 File Tailoring Variables for Installation JCL ...... 12 Table 5 File Tailoring Variables...... 14 Table 6 Sample Program and JCL Member Names ...... 26 Table 7 C Samples ...... 26 Table 8 Assembler Sample and JCL Members...... 27 Table 9 General JCL ...... 28 Table 10 General Procedures ...... 28 Table 11 Installed Data Sets ...... 31 Table 12 Assembler Calls: Messages...... 32 Table 13 Assembler Calls: Bytes Messages...... 34 Table 14 Assembler Calls: Map Messages...... 36 Table 15 Assembler Calls: Object Messages ...... 37 Table 16 Assembler Calls: Stream Messages ...... 38 Table 17 Assembler Calls: Text Messages...... 39 Table 18 Assembler Calls: Message Enumerate and Print...... 39 Table 19 Assembler Calls: Destination ...... 40 Table 20 Assembler Calls: Consumer...... 40 Table 21 Assembler Calls: Producer...... 41 Table 22 Assembler Calls: Requestor...... 42 Table 23 Assembler Calls: Connection ...... 42 Table 24 Assembler Calls: Connection Factory ...... 44 Table 25 Assembler Calls: Session ...... 45 Table 26 Assembler Calls: Queue Browser ...... 46 Table 27 Assembler Calls: Name Lookup ...... 46 Table 28 Assembler Calls: XA External Transaction Manager ...... 47

TIBCO EMS Client for z/OS (MVS) Installation and Reference vi | Tables

Table 29 Assembler Calls: Utilities...... 48 Table 30 Assembler Calls: Admin ...... 49 Table 31 Assembler Calls: Exception...... 53

TIBCO EMS Client for z/OS (MVS) Installation and Reference | vii Preface

This manual describes how to install and configure the TIBCO EMS Client for z/OS (MVS) software. It is primarily intended for z/OS who are involved in setting up and maintaining the system, but is also useful for applications programmers.

Topics

• Related Documentation, page viii • How to Contact TIBCO Customer Support, page x

TIBCO EMS Client for z/OS (MVS) Installation and Reference viii | Preface

Related Documentation

This section lists documentation resources you may find useful.

TIBCO Enterprise Message Service Documentation The following documents form the TIBCO EMS documentation set: • TIBCO Enterprise Message Service User’s Guide Read this manual to gain an overall understanding of the product, its features, and configuration. • TIBCO Enterprise Message Service Installation Read the relevant sections of this manual before installing this product. • TIBCO Enterprise Message Service Application Integration Guide This manual presents detailed instructions for integrating TIBCO Rendezvous OS/390 with third-party products. • TIBCO Enterprise Message Service C & COBOL API Reference The C API reference is available in HTML and PDF formats. • TIBCO Enterprise Message Service Java API Reference The Java API reference can be accessed only through the HTML documentation interface. • TIBCO Enterprise Message Service .NET API Reference The .NET API reference can be accessed only through the HTML documentation interface. • TIBCO Enterprise Message Service Release Notes Read the release notes for a list of new and changed features. This document also contains lists of known issues and closed issues for this release. This document is available only in PDF format.

TIBCO EMS Client for z/OS (MVS) Installation and Reference Related Documentation | ix

Third Party Documentation Table 1 lists IBM publications you may find useful. You can find many of the IBM documents in these CD-ROM sets: • Online Library Omnibus Edition MVS Collection • Online Library Omnibus Edition z/OS Collection

Table 1 Related Documents Publication Title IBM RACF User’s Guide IBM z/OS Security Server RACF User’s Guide

IBM RACF Messages BM z/OS SecureWay Security Server RACF Messages

IBM RACF System Programmer’s Guide IBM z/OS Security Server RACF System Programmer’s Guide

IBM MVS/ESA OpenEdition MVS User’s Guide IBM z/OS System Services User's Guide

IBM MVS/ESA Planning: OpenEdition MVS IBM z/OS UNIX System Services Planning

IBM TCP/IP for OpenEdition MVS Applications Feature Guide

IBM TCP/IP for MVS: Messages and Codes

IBM TCP/IP for MVS: Customization and Administration Guide

IBM TCP/IP for MVS: User’s Guide

IBM TCP/IP Performance Tuning Guide

IBM TCP/IP for MVS: Planning and Migration Guide

IBM ISPF Dialog Developer’s Guide and Reference IBM z/OS ISPF Dialog Developer's Guide

IBM TSO/E IBM z/OS TSO/E CLISTs

TIBCO EMS Client for z/OS (MVS) Installation and Reference x | Preface

Table 1 Related Documents (Cont’d) Publication Title IBM /370 User’s Guide

IBM Online Library Omnibus Edition MVS Collection

IBM Online Library Omnibus Edition z/OS Collection

How to Contact TIBCO Customer Support

For comments or problems with this manual or the software it addresses, please contact TIBCO Support Services as follows. • For an overview of TIBCO Support Services, and information about getting started with TIBCO Product Support, visit this site: http://www.tibco.com/services/support • If you already have a valid maintenance or support contract, visit this site: http://support.tibco.com Entry to this site requires a username and password. If you do not have a username, you can request one.

TIBCO EMS Client for z/OS (MVS) Installation and Reference | 1

Chapter 1 Introduction

This manual provides information about the TIBCO EMS Client for z/OS (MVS) product. It is intended primarily for programmers who are responsible for installing and maintaining the software. Some of the information contained here may also be useful for application programmers involved in creating or modifying programs that work in conjunction with this product. We recommend that you read through this manual before attempting to install the product, and keep a copy handy for future reference.

Topics

• Overview, page 2 • System Requirements, page 3

TIBCO EMS Client for z/OS (MVS) Installation and Reference 2 | Chapter 1 Introduction

Overview

The TIBCO EMS Client for z/OS (MVS) software allows applications running on IBM z/OS (MVS) systems to produce and consume messages that are transported via TIBCO EMS servers. TIBCO EMS client applications can use SSL for secure communications with TIBCO EMS servers using standard API calls. Messages are structured data that one application sends to another. TIBCO EMS servers, running on platforms outside the traditional z/OS MVS environment, act as intermediaries for messages and route them to recipients. This message flow is illustrated in the diagram below:

Figure 1 User Application and TIBCO EMS Messaging

TIBCO MVS EMS Client

User Application TIBCO TIBCO EMS EMS Server Client TIBCO EMS Client for z/OS (MVS)

TIBCO EMS Client

An application participates in this messaging environment as follows: 1. The application embeds TIBCO EMS API function calls to facilitate message communication. 2. The TIBCO EMS Client for z/OS (MVS) establishes connections to a TIBCO EMS server using standard TCP/IP. 3. The application sends messages to or receives messages from the TIBCO EMS server using destinations for message routing. 4. Other TIBCO EMS clients exchange messages with the application via the TIBCO EMS server. TIBCO EMS API function calls are coded by programmers and included into the application at compilation time. The product .LIBRARY dataset contains the objects that are included during the pre-link step of a compilation. Program can also compile and bind an application using the EMS supplied DLL side-deck.

TIBCO EMS Client for z/OS (MVS) Installation and Reference System Requirements | 3

System Requirements

The TIBCO EMS Client for z/OS (MVS) software runs as a z/OS MVS batch . The product is supported on z/OS 1.7 and later (64-bit). Before installing the product under z/OS, you must ensure that the following are installed and properly configured:

Storage Requirements The TIBCO EMS Client for z/OS (MVS) product requires approximately 200 cylinders of Direct-Access Storage Device (DASD) space. This space calculation is based on an IBM 3390 DASD device.

TCP/IP The TIBCO EMS Client for z/OS (MVS) is expected to be installed and operated within a previously existing, fully functional and integrated network. At a minimum, this includes the following: • The TCP/IP protocol stack within the z/OS Communications Server. • A DNS server that provides the hostname and host address of the z/OS client and the TIBCO EMS server. • Unrestricted network connectivity between the DNS, the TIBCO EMS Client for z/OS (MVS), and the TIBCO EMS server. Customers should be running a properly configured RESOLVER address space. Customers should review their TCPCONFIG parameters to ensure that they meet the installation’s needs. If the customer chooses to run the TIBCO EMS Client for z/OS (MVS) non-APF authorized, the RESTRICTLOWPORTS parameter should be used. If customers want to control TCP buffering, to limit storage usage, or to support large bandwidth devices, the TCPSENDBFRSIZE, TCPRCVBUFRSIZE, and TCPMAXRCVBUFRSIZE parameters may be needed. TIBCO typically recommends customers override the IBM default of 16K by setting TCPRCVBUFRSIZE and TCPSENDBFRSIZE to a minimum value of 48K.

TIBCO EMS Client for z/OS (MVS) Installation and Reference 4 | Chapter 1 Introduction

SSL For digital certificates, TIBCO EMS Client for z/OS (MVS) supports the following file formats: • PEM (Privacy Enhanced Mail) •PKCS#12

For private keys, TIBCO EMS Client for z/OS (MVS) supports the following file formats: • PEM (Privacy Enhanced Mail) •PKCS#8 •PKCS#12

Please refer to TIBCO Enterprise Message Service User’s Guide for a complete description of SSL usage in TIBCO EMS.

Language Environment (LE) LE is the language environment. The Assembler, C and COBOL for MVS compilers are required for application development under this environment. Note that IBM TCP uses the OE socket interface. Therefore, all user ids running EMS client programs must have an OMVS UID and GID. Define these values in the OMVS segment of the USERID and GROUP records in RACF. For more information, see User Profile Requirements on page 20.

TIBCO EMS Client for z/OS (MVS) Installation and Reference | 5

Chapter 2 Installation

This chapter describes how to install the TIBCO EMS Client for z/OS (MVS) software.

Topics

• Before Installation, page 6 • Distribution Media and Contents, page 7 • Checklist for Installation, page 9 • Uploading the Software, page 10 • Installing the Software, page 12 • Verifying the Installation, page 15 • Optional Installation Changes, page 16

TIBCO EMS Client for z/OS (MVS) Installation and Reference 6 | Chapter 2 Installation

Before Installation

The table below provides a checklist of variables and HLQs (High Level Qualifiers) that you should obtain before performing the installation. All TIBCO EMS supplied JCL and procedures have a standard naming convention. You must replace TIBCO site-specific installation-defined variables, such as JCL SET statements, procedure overrides, SYSIN data and system data set HLQ with user values. You must also replace TIBCO Software variables before the JCL's can be submitted for execution. It is recommended that you copy of the table below, then review and complete the entries. Column headings are defined as follows: Description – provides instructional information. Variable – the variable name as it will appear in the provided JCL(S) and/or the member names. There may be several instances of the same variable within a specific member. User Value – left blank so you can insert the appropriate values for your site.

Table 2 General Variables Description Variable User Value Obtain a High Level Qualifier for your TIBCO EMS libraries. Typically, TIBCO.SXJ is used.

Obtain a hard disk Volume Serial where the TIBCO EMS files are to be installed.

Replace these variables with user define values.

TIBCO EMS Client for z/OS (MVS) Installation and Reference Distribution Media and Contents | 7

Distribution Media and Contents

This section describes how to obtain the software, and the installation files included in the distribution media. The software is distributed in IBM XMIT format.

Complete Replacement Package By default, the TIBCO EMS Client for z/OS (MVS) software is delivered as a non SMP/E stand-alone, base function package. Subsequent modifications and updates are version and product dependent. Therefore, a complete product replacement is preformed with each installation.

Component Code

The component code for the TIBCO EMS Client for z/OS (MVS) products is SXJ. This component code is registered with the IBM product codes division.

Obtaining the Software To obtain the software, you can download it directly from the TIBCO Software web site, or you can request the software on CD.

Downloading from the Web Site To download the software from the TIBCO Software web site, follow these steps: • Contact TIBCO Software for a password, directory information, and so forth. • Connect to the TIBCO Software web site with the required information. • Download the appropriate files, which are in the standard IBM XMIT format.

Product Installation Files for z/OS Version 1.7 and Later TIBCO EMS Client Download this file: for z/OS (MVS) TIB_ems_6.0.0_zos18_mvs.xmit.zip for DFSMSdss The zip file contains these files: TIB_ems_6.0.0_zos18_mvs.xmit.inst TIB_ems_6.0.0_zos18_mvs.xmit.main

TIBCO EMS Client for z/OS (MVS) Installation and Reference 8 | Chapter 2 Installation

Product Installation Files for z/OS Version 1.7 and Later TIBCO EMS Client Download this file: for z/OS (MVS) TIB_ems_6.0.0_zos18_mvs.xmit.nondfs.zip for non DFSMSdss The zip file contains all non DFSMSdss install files.

Requesting a CD If you do not want to download the software over the network, you can obtain a CD containing the software and load it directly onto your system. The minimum time period for delivery of a CD is five working days. Contact TIBCO Support and request the desired media for your environment. For details, see How to Contact TIBCO Customer Support on page x.

TIBCO EMS Client for z/OS (MVS) Installation and Reference Checklist for Installation | 9

Checklist for Installation

The table below provides a checklist of variables or required items that should be obtained before performing the installation process. The data set suffix and member names are included as reference to where they occur. Column headings are defined as follows: Description – provides instructional information. Suffix – lists the suffix of the data set containing the reference. Member – contains the variable in question. There may be several instances of the same variable within a specific member.

Table 3 Installation Checklist Description Suffix Member If you are transferring the installation files INSTALL SXJ$3FT from a server, obtain the IP address or SXJ$3FT@ server name for the FTP process.

Obtain the data set and or member name INSTALL SXJ$3FT where your site FTPDATA information SXJ$3FT@ resides.

TIBCO EMS Client for z/OS (MVS) Installation and Reference 10 | Chapter 2 Installation

Uploading the Software

If you have acquired the TIBCO EMS Client for z/OS (MVS) software by downloading it from the TIBCO Software web site, you need to upload the software to the z/OS MVS host system using the FTP file transfer utility. Sample JCL for performing the initial installation file transfer is shown below.

Initial Installation

Sample JCL for an Upload This sample uses IBM's FTP to copy the installation file(s) from a LAN server or PC to the z/OS MVS host. // JOB (&SYSUID),'EMS FTP',CLASS=A //* // SET FTPADDR=10.10.2.99 < IP Address or Host Name //* //FTP EXEC PGM=FTP,REGION=0M,PARM='&FTPADDR (TIMEOUT 20' //SYSPRINT DD SYSOUT=* //OUTPUT DD SYSOUT=* //SYSTCPD DD DISP=SHR,DSN=TCPIP.PROFILE(FTPDATA) < Host Member //INPUT DD * cd / binary LOCSITE RECFM=FB LRECL=80 BLKSIZE=27920 TR PRI=60 SEC=15 get .xmit.inst' .XMIT.INST' (REPLACE quit /* //

TIBCO EMS Client for z/OS (MVS) Installation and Reference Uploading the Software | 11

Receive the Initial Installation File

This step must be performed during a TIBCO EMS Client for z/OS (MVS) installation on the z/OS MVS Host.

The .XMIT.INST file contains JCL that is required to receive other files and to create the appropriate libraries. To complete this process, the TIBCO supplied variables must be substituted with the appropriate site-specific user values. Perform the following steps:

1. From the ISPF Command Shell Panel, type the following command to receive a file containing the JCL required to begin a first-time installation:

receive inda('.XMIT.INST') TSO will prompt with the following:

INMR906A Enter restore parameters or 'DELETE' or 'END' + 2. Supply the following:

DA('.INSTALL') After a successful receive, the following message is displayed: INMR001I Restore successful to dataset '.INSTALL' The data set name supplied in step 2 is output and populated with the members that are required in order for you to continue with the installation.

TIBCO EMS Client for z/OS (MVS) Installation and Reference 12 | Chapter 2 Installation

Installing the Software

The following steps are required to install the MVS components for the TIBCO EMS Client for z/OS (MVS) product. All members reside within the .INSTALL dataset. Edit the selected members listed in the steps below. Substitute the variables, follow any instructions contained in the member, and then submit the JCL for execution.

STEP 1: Make CLIST temporary file

Change the #JOBNAME, #USERHLQ, #USERVOL statement variables according to your sites requirements.

Member: SXJ$1MKT

The following table defines the user substitution variables for the installation JCL.

Table 4 File Tailoring Variables for Installation JCL Variable Default and Structure User Value USERHLQ TIBCO.SXJ.VxRxMx

VOLSER TIB999 Volume Serial

JOBNAME SXJEMS First 6 characters

STEP 2: Execute file tailoring CLIST for installation JCL. If an error is made during input, press the attention key (PA1) and execute starting at step 1 again.

Member: SXJ$2EX1 (EX member)

TIBCO EMS Client for z/OS (MVS) Installation and Reference Installing the Software | 13

STEP 3: Upload the TIBCO EMS Client for z/OS (MVS) installation file(s) to z/OS MVS.

Upload the files via FTP to your host.

Member: • For DFSMSdss sites, use SXJ$3FT • For non DFSMSdss sites, use SXJ$3FT@

STEP 4: Define and allocate the TIBCO EMS Client for z/OS (MVS) product libraries

Only to be performed on initial installation

Member: SXJ$4ALL

STEP 5: Convert product installation files to appropriate data sets.

The installation can be restarted multiple times at this step if required.

Member: • For DFSMSdss sites, use SXJ$5RC • For non DFSMSdss sites, use SXJ$5RC@

TIBCO EMS Client for z/OS (MVS) Installation and Reference 14 | Chapter 2 Installation

The following table defines the user substitution variables within JCL and parameter members that will be required during the file tailoring process. Ensure that you have all the necessary information before executing this step.

Table 5 File Tailoring Variables Variable Default and Structure User Value IBM Assembler ASM Libraries HLQ *.SASMMAC2

COBOL for MVS IGY Libraries HLQ *.SIGYCOMP

TIBCO EMS hostname: 7222 Server Location

STEP 6: Execute file tailoring CLIST to update the product supplied variables.

If an error is made during input, press the attention key (PA1) and execute the again.

Member: SXJ$6EX2 (EX member)

STEP 7: Populate the TIBCO EMS Client for z/OS (MVS) datasets with all the update and downloaded members.

Member: SXJ$7UPD

TIBCO EMS Client for z/OS (MVS) Installation and Reference Verifying the Installation | 15

Verifying the Installation

To verify that TIBCO EMS Client for z/OS (MVS) components have been correctly installed and configured, perform the steps listed below. Step I1: TIBCO EMS messaging consumer startup JCL

This member will initiate a TIBCO EMS consumer that receives messages from the producer. By substituting the PGMNAME parameter, the JCL can be used to execute the C or COBOL sample programs.

Data Set: .JCL Member: RUNGMC

Step I2: TIBCO EMS messaging producer startup JCL

This member will initiate a TIBCO EMS producer that publishes a message to an executing consumer. By substituting the PGMNAME parameter, the JCL can be used to execute the C or COBOL sample programs.

Data Set: .JCL Member: RUNGMP

TIBCO EMS Client for z/OS (MVS) Installation and Reference 16 | Chapter 2 Installation

Optional Installation Changes

TIBCO EMS Client for z/OS (MVS) sample programs are supplied as source and executable modules as part of the installation. However, users may desire to change the to perform additional functions. JCLs and procedures have been supplied to compile the sample programs that normally have to be modified to be used within a user's environment. Edit the data sets and selected members listed in the steps below. Substitute the variables, follow any instructions that are contained in the member and then submit it for execution.

Compiling C Programs Step 1a: C language options file

This member is the Options File used for TIBCO EMS C compiles that needs to include members from the system C and TIBCO EMS libraries. Substitute the appropriate values and installation variables that are located within this member.

Data Set: .CNTL Member: OPTFSXJ

Step 1b: TIBCO EMS C language compilation JCL

The JCL listed below uses a procedure that may have to be modified so that it conforms to your site’s requirements and executes correctly.

Data Set: .JCL Member: SXJ3NCPL SXJ3NCLD (For DLL)

TIBCO EMS Client for z/OS (MVS) Installation and Reference Optional Installation Changes | 17

Compiling COBOL Programs Step 1c: TIBCO EMS COBOL compilation JCL

The JCL listed below uses a procedure that may have to be modified so that it conforms to your site's requirements and executes correctly. This member will compile COBOL supplied sample program(s).

Data Set: .JCL Member: SXJCNCPL

Compiling Assembler Programs Step 1d: TIBCO EMS Assembler compilation JCL

The JCL listed below uses a procedure that may have to be modified so that it conforms to your site's requirements and executes correctly. This member will compile Assembler supplied sample program(s).

Data Set: .JCL Member: SXJANCPL

TIBCO EMS Client for z/OS (MVS) Installation and Reference 18 | Chapter 2 Installation

TIBCO EMS Client for z/OS (MVS) Installation and Reference | 19

Chapter 3 z/OS MVS

This chapter describes the administration and use of TIBCO EMS Client for z/OS (MVS). Before performing any administrative procedures, you must have completed the installation of the TIBCO EMS Client for z/OS (MVS) software, and executed the IVP steps successfully (as described in Verifying the Installation on page 15).

Topics.

• Starting Applications, page 20 • Programmer's Checklist, page 23

TIBCO EMS Client for z/OS (MVS) Installation and Reference 20 | Chapter 3 z/OS MVS

Starting Applications

User Profile Requirements Any userid used to run a TIBCO EMS Client for z/OS (MVS) application must have a valid RACF OMVS segment defined. • If you are starting such an application as a batch job, verify that the submitter's userid has a valid OMVS segment defined. • If you are starting such an application as a started task, verify that the userid assigned by the RACF STARTED class or ICHRIN03 started procedures table has a valid OMVS segment. Verification can be done by using the RACF LISTUSER command. TSO LISTUSER TIBCO01 OMVS NORACF

USER=TIBCO01

OMVS INFORMATION UID= 0000012345 HOME= /tibco/tibco01 PROGRAM= /bin/sh CPUTIMEMAX= NONE ASSIZEMAX= NONE FILEPROCMAX= NONE PROCUSERMAX= NONE THREADSMAX= NONE MMAPAREAMAX= NONE *** TIBCO Software recommends running TIBCO messaging applications with a userid without resource limits specified in the OMVS segment, as shown in the example userid TIBCO01. This allows TIBCO messaging applications to run within the limits defined to the overall system in BPXPRMxx. There are no special requirements for UID, HOME, or PROGRAM in order to run TIBCO messaging applications. If an existing userid does not have an OMVS segment, you can define one by using the RACF ALTUSER command. For more information regarding the use of the various RACF commands and the setup of an OMVS segment, refer to "SecureWay Security Server RACF Command Language Reference" or equivalent documentation published by IBM.

TIBCO EMS Client for z/OS (MVS) Installation and Reference Starting Applications | 21

If the installation is using the FACILITY class profile BPX.DEFAULT.USER instead of defining OMVS segments for every userid, the userid defined in the FACILITY class profile BPX.DEFAULT.USER should be examined to ensure that it does not have resource limits defined if the user submits TIBCO EMS jobs. For more information about managing the FACILITY class profile BPX.DEFAULT.USER, see SecureWay Security Server RACF Security Administrator's Guide (documentation published by IBM).

Case Sensitivity in Input Parameters

JCL Input Parameters The JCL used to execute TIBCO messaging applications are case sensitive. When editing the JCL, turn CAPS OFF.

TIBCO Messaging Applications TIBCO messaging applications are also case sensitive. Any application program that uses TIBCO EMS Client for z/OS (MVS) API calls must use the correct case when specifying the API call.

JCL Statements for Applications The JCL used for running an application is shown below (when SSL is not needed).

General Form //EMSPGM EXEC PGM= //STEPLIB DD DISP=SHR,DSN=your.user.loadlib //SYSIN ...

Alternate Form Consider this example from .JCL(RUNCMC): //EMSPGM EXEC PGM=RUNCMC //STEPLIB DD DISP=SHR,DSN=your.user.loadlib //SYSIN -server tcp://tibcoBox:7222 -topic ems.test.dest -user Tibco

The program uses the user ID Tibco to connect to the TIBCO EMS server running on the machine with the host name tibcoBox with 7222 as the default port. It listens to topic ems.test.dest.

TIBCO EMS Client for z/OS (MVS) Installation and Reference 22 | Chapter 3 z/OS MVS

JCL Statements for Applications Using SSL The JCL used for running an application that connects to a TIBCO EMS server using SSL is shown below.

//EMSPGM EXEC PGM= //STEPLIB DD DISP=SHR,DSN=your.user.loadlib //... Check the supplied JCL for appropriate certificate files //... to be included. //SYSIN -server ssl://tibcoBox:7222 -topic ems.test.dest -user Tibco -password password ... -ssl_password SSLpassword -ssl_trusted DD:SSLSCERT PEM -ssl_identity DD:SSLCCERT PEM -ssl_key DD:SSLCKEY PEM -ssl_setrandfile DD:RAND

The program uses the user ID Tibco to connect to the TIBCO EMS server running on the machine with the host name tibcoBox, with 7222 as the default port. It listens to topic ems.test.dest. The program uses the server certificate file SSLSCERT, the client digital certificate file SSLCCERT, and the client private key file SSLCKEY. All of these files are in PEM format.

Sites with Multiple Stacks When the system uses multiple TCP/IP stacks, insert the following JCL statement before the EMS application execution steps:

//TCAFF EXEC PROC=TIBTCAFF,STACK=TCPIP-STACK-NAME

This statement identifies the stack that the application will use.

TIBCO EMS Client for z/OS (MVS) Installation and Reference Programmer's Checklist | 23

Programmer's Checklist

All application programmers in a z/OS MVS environment should make the following checks. • User options file (CEEUOPT) A Language Environment user options object is supplied as part of the installation. When compiling a TIBCO EMS Client for z/OS (MVS) application, you must include the object during the link-edited step. The installation- supplied procedures already cater for this. Including the supplied user options object ensures that POSIX(ON) is set at run-time and memory allocations are optimized. •Execution The TIBCO EMS Client for z/OS (MVS) API uses the TCP/IP socket interface. Most installations require a SYSTCPD DD statement in the execution JCL. Contact your organization’s TCP/IP support personnel for additional details.

C Language C language application programmers in a z/OS MVS environment can use this checklist. •Code Include the appropriate TIBCO EMS C header files. • Compile/Pre-link/Link Sample JCL for compiling C programs is member SXJ3NCPL. — Application source files normally reside in the .C dataset. — Requirements are specified in the applicable compile procedure.

COBOL COBOL application programmers in an z/OS environment can use this checklist. •Code Include the appropriate TIBCO EMS COBOL copybooks. • Compile/Pre-link/Link

TIBCO EMS Client for z/OS (MVS) Installation and Reference 24 | Chapter 3 z/OS MVS

Sample JCL for compiling COBOL programs is member SXJCNCPL. — Application source files normally reside in the .COB dataset. — Requirements are specified in the applicable compile procedure.

SSL TIBCO EMS Client for z/OS (MVS) supports SSL, and the C and COBOL language samples illustrates SSL usage. We supply run-time JCL to support the usage of SSL (see RUNSMC and RUNSMP). Please consult your security officer for information about SSL certificates and keys. TIBCO EMS Client for z/OS (MVS) supplies sample certificates and keys, however, we do not recommend using these samples in a production environment. The default TIBCO EMS library does not includes SSL support. Applications that require SSL can compile and link with .SSL.LIBRARY. This SSL library must be the first SYSLIB DD statement in the pre-linkedit step. Please see TIBCO Enterprise Message Service User’s Guide for a more complete description of SSL usage in TIBCO EMS.

DLL TIBCO EMS Client for z/OS (MVS) provides a DLL (Dynamic-link library) side-deck and load module. By default, the C and COBOL language samples shipped with the product are non-DLL load modules. Applications that require the use of a DLL can compile and bind using the supplied JCL and Procedure. The DLL name for all EMS functions is DLLEMS.

TIBCO EMS Client for z/OS (MVS) Installation and Reference | 25

Appendix A MVS Batch Sample Programs

This appendix describes members required to build and run MVS Batch transactions that use the TIBCO EMS Reliable API.

Topics

• Messaging Samples, page 26 • JCL and General Procedure Samples, page 28 • Sample Program Data Sets, page 29

TIBCO EMS Client for z/OS (MVS) Installation and Reference 26 | Appendix A MVS Batch Sample Programs

Messaging Samples

Messaging sample programs are described below. The members listed in the tables pertain specifically to MVS Batch. In Table 6, the JCL can be used to execute the C or COBOL sample programs by specifying the desired program using the PGMNAME parameter.

Table 6 Sample Program and JCL Member Names

Native C Sample C Member COBOL JCL Member Program Name Member (C & COBOL) tibemsAdmin SXJ3ADMN SXJCADMN RUNGADMN

tibemsAsyncMsg SXJ3AMC RUNGAMC Consumer.c

tibemsBrowser.c SXJ3BR SXJCBR RUNGBR

tibemsDurable.c SXJ3DTSB SXJCDTSB RUNGDTSB

tibemsMsgConsumer.c SXJ3MC SXJCMC RUNGMC RUNSMC (SSL)

tibemsMsgProducer.c SXJ3MP SXJCMP RUNGMP RUNSMP (SSL)

tibemsXAMsgConsumer.c SXJ3XAMC RUNGXAMC

tibemsXAMsgProducer.c SXJ3XAMP RUNGXAMP

tibemsMsg.c SXJ3MSG SXJCMSG RUNGMSG

tibjmsMsgConsumerPerf SXJ3MCPF RUN3MCPF

tibjmsMsgProducerPerf SXJ3MPPF RUN3MPPF

In Table 7, the C functions use non-typed connections and sessions.

Table 7 C Samples C Member Description SXJ3ADMN TIBCO EMS Administration Client simple example demonstrating use of the Admin API.

TIBCO EMS Client for z/OS (MVS) Installation and Reference Messaging Samples | 27

Table 7 C Samples C Member Description SXJ3AMC TIBCO EMS Asynchronous Message Consumer

SXJ3BR TIBCO EMS Queue Browsers

SXJ3DTSB TIBCO EMS Durable Topic Subscriber

SXJ3MC TIBCO EMS Message Consumer

SXJ3MP TIBCO EMS Message Producer

SXJ3MCPF Same as tibjmsMsgConsumer, except that it supports multiple threads and connections to show the performance of the TIBCO EMS server when multiple consumers are receiving messages from a queue.

SXJ3MPPF Same as tibjmsMsgProducer, except that it supports multiple threads and connections to show the performance of the TIBCO EMS server when multiple producers are sending messages.

SXJ3MSG TIBCO EMS message consumer demonstrating how to enumerate message properties and fields.

SXJ3XAMC Like SXJ3MC, except that it uses the tibemsXAResource interface to consume messages using transaction semantics.

SXJ3XAMP Like SXJ3MP, except that it uses the classic X/Open DPT XA interface to send messages using transaction semantics.

Table 8 Assembler Sample and JCL Members Assembler / JCL Member Description SXJAMC / RUNAMC Sample code segments of TIBCO EMS Message Consumer and JCL for execution.

SXJAMP / RUNAMP Sample code segments of TIBCO EMS Message Producer and JCL for execution.

TIBCO EMS Client for z/OS (MVS) Installation and Reference 28 | Appendix A MVS Batch Sample Programs

JCL and General Procedure Samples

JCL and general procedure samples are described below.

Table 9 General JCL Member Description SXJANCPL JCL to compile Assembler EMS API applications

SXJCNCPL JCL to compile COBOL EMS API applications

SXJ3NCPL JCL to compile C EMS API applications

SXJ3NCLD JCL to compile C EMS API applications using DLL side-deck

Table 10 General Procedures Member Description TIBTCAFF Procedure to set TCPIP stack affinity

TIBAPLK Procedure to compile prelink & link Assembler application

TIBCNCPL Procedure to compile prelink & link COBOL application

TIB3NCPL Procedure to compile prelink & link C application

TIB3NC17 Procedure to compile prelink & link C applications for z/OS V1.7 and lower

TIB3NCLD Procedure to compile & bind DLL application

SXJEXEC Procedure to execute the C and COBOL sample programs.

TIBCO EMS Client for z/OS (MVS) Installation and Reference Sample Program Data Sets | 29

Sample Program Data Sets

The sample programs are contained in the following data sets: Assembler source code .ASM COBOL source code .COB Copybook .COPY C source code .C Header file .H Run JCL .JCL

TIBCO EMS Client for z/OS (MVS) Installation and Reference 30 | Appendix A MVS Batch Sample Programs

TIBCO EMS Client for z/OS (MVS) Installation and Reference | 31

Appendix B Installed Data Set Specifications

This appendix lists all of the installed data sets.

Table 11 Installed Data Sets

Data Set Space DSORG RECFM LRECL BLK (1st/2nd) SIZE .ASM CYL (3/1) PO FB 80 27920

.C CYL (10/1) PO VB 140 27998

.CNTL CYL (5/1) PO FB 80 27920

.CNTLSAMP CYL (5/1) PO FB 80 27920

.COB CYL (5/1) PO FB 80 27920

.COPY CYL (5/1) PO FB 80 27920

.H CYL (5/1) PO VB 140 27998

.INSTALL BLK (38/16) PO FB 80 27920

.JCL CYL (5/1) PO FB 80 27920

.JCLSAMP CYL (5/1) PO FB 80 27920

.LIBRARY CYL (20/1) PO FB 80 3120

.SSL.LIBRARY CYL (20/1) PO FB 80 3120

.LOAD CYL (150/2) PO U 0 27920

.OBJ CYL (5/1) PO FB 80 27920

.PROC CYL (2/1) PO FB 80 27920

.PROCSAMP CYL (2/1) PO FB 80 27920

TIBCO EMS Client for z/OS (MVS) Installation and Reference 32 | Appendix C Assembler Calls for C Functions

Appendix C Assembler Calls for C Functions

This appendix specifies the assembler call equivalent of TIBCO EMS API calls. The tables are organized in the sequence in which function descriptions appear in TIBCO Enterprise Message Service C & COBOL API Reference.

Multicast functions (found in the Connection Factory and Utilities chapters in TIBCO Enterprise Message Service C & COBOL API Reference) are not supported.

Table 12 Assembler Calls: Messages Function Assembler Call tibemsMsg_Acknowledge EM_ACK

tibemsMsg_ClearBody EM_CBDY

tibemsMsg_ClearProperties EM_CPRP

tibemsMsg_Create EM_CR

tibemsMsg_CreateCopy EM_CRCPY

tibemsMsg_CreateFromBytes EM_CRFBS

tibemsMsg_Destroy EM_DSY

tibemsMsg_GetAsBytes EM_GABS

tibemsMsg_GetAsBytesCopy EM_GABSC

tibemsMsg_GetBodyType EM_GBDYT

tibemsMsg_GetBooleanProperty EM_GBOOP

tibemsMsg_GetByteProperty EM_GBPRP

tibemsMsg_GetByteSize EM_GBSZ

tibemsMsg_GetCorrelationID EM_GCID

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 33

Table 12 Assembler Calls: Messages Function Assembler Call tibemsMsg_GetDeliveryMode EM_GDM

tibemsMsg_GetDestination EM_GDEST

tibemsMsg_GetDoubleProperty EM_GDP

tibemsMsg_GetEncoding EM_GENC

tibemsMsg_GetExpiration EM_GEXP

tibemsMsg_GetFloatProperty EM_GFLP

tibemsMsg_GetIntProperty EM_GIP

tibemsMsg_GetLongProperty EM_GLP

tibemsMsg_GetMessageID EM_GMID

tibemsMsg_GetPriority EM_GPRI

tibemsMsg_GetProperty EM_GPRP

tibemsMsg_GetPropertyNames EM_GPRPN

tibemsMsg_GetRedelivered EM_GRED

tibemsMsg_GetReplyTo EM_GRT

tibemsMsg_GetShortProperty EM_GSP

tibemsMsg_GetStringProperty EM_GSTRP

tibemsMsg_GetTimestamp EM_GTS

tibemsMsg_GetType EM_GT

tibemsMsg_MakeWriteable EM_MW

tibemsMsg_Print EM_PRINT

tibemsMsg_PrintToBuffer EM_PTB

tibemsMsg_PropertyExists EM_PEX

tibemsMsg_SetBooleanProperty EM_SBOOP

TIBCO EMS Client for z/OS (MVS) Installation and Reference 34 | Appendix C Assembler Calls for C Functions

Table 12 Assembler Calls: Messages Function Assembler Call tibemsMsg_SetByteProperty EM_SBP

tibemsMsg_SetCorrelationID EM_SCID

tibemsMsg_SetDeliveryMode EM_SDM

tibemsMsg_SetDestination EM_SDEST

tibemsMsg_SetDoubleProperty EM_SDPRP

tibemsMsg_SetEncoding EM_SENC

tibemsMsg_SetExpiration EM_SEXP

tibemsMsg_SetFloatProperty EM_SFLP

tibemsMsg_SetIntProperty EM_SIP

tibemsMsg_SetLongProperty EM_SLP

tibemsMsg_SetMessageID EM_SMID

tibemsMsg_SetPriority EM_SPRI

tibemsMsg_SetRedelivered EM_SRED

tibemsMsg_SetReplyTo EM_SRTO

tibemsMsg_SetShortProperty EM_SSP

tibemsMsg_SetStringProperty EM_SSTRP

tibemsMsg_SetTimestamp EM_STS

tibemsMsg_SetType EM_STYPE

Table 13 Assembler Calls: Bytes Messages Function Assembler Call tibemsBytesMsg_Create EBM_CR

tibemsBytesMsg_GetBodyLength EBM_GBL

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 35

Table 13 Assembler Calls: Bytes Messages Function Assembler Call tibemsBytesMsg_GetBytes EBM_GBS

tibemsBytesMsg_ReadBoolean EBM_RBOO

tibemsBytesMsg_ReadByte EBM_RB

tibemsBytesMsg_ReadBytes EBM_RBS

tibemsBytesMsg_ReadChar EBM_RCH

tibemsBytesMsg_ReadDouble EBM_RD

tibemsBytesMsg_ReadFloat EBM_RFL

tibemsBytesMsg_ReadInt EBM_RI

tibemsBytesMsg_ReadLong EBM_RL

tibemsBytesMsg_ReadShort EBM_RS

tibemsBytesMsg_ReadUnsignedByte EBM_RUB

tibemsBytesMsg_ReadUnsignedShort EBM_RUS

tibemsBytesMsg_ReadUTF EBM_RUTF

tibemsBytesMsg_Reset EBM_RES

tibemsBytesMsg_SetBytes EBM_SBS

tibemsBytesMsg_WriteBoolean EBM_WBOO

tibemsBytesMsg_WriteByte EBM_WB

tibemsBytesMsg_WriteBytes EBM_WBS

tibemsBytesMsg_WriteChar EBM_WCH

tibemsBytesMsg_WriteDouble EBM_WD

tibemsBytesMsg_WriteFloat EBM_WFL

tibemsBytesMsg_WriteInt EBM_WI

tibemsBytesMsg_WriteLong EBM_WL

TIBCO EMS Client for z/OS (MVS) Installation and Reference 36 | Appendix C Assembler Calls for C Functions

Table 13 Assembler Calls: Bytes Messages Function Assembler Call tibemsBytesMsg_WriteShort EBM_WS

tibemsBytesMsg_WriteUTF EBM_WUTF

Table 14 Assembler Calls: Map Messages Function Assembler Call tibemsMapMsg_Create EMM_CR

tibemsMapMsg_GetBoolean EMM_GBOO

tibemsMapMsg_GetByte EMM_GB

tibemsMapMsg_GetBytes EMM_GBS

tibemsMapMsg_GetChar EMM_GCH

tibemsMapMsg_GetDouble EMM_GD

tibemsMapMsg_GetField EMM_GF

tibemsMapMsg_GetFloat EMM_GFL

tibemsMapMsg_GetInt EMM_GI

tibemsMapMsg_GetLong EMM_GL

tibemsMapMsg_GetMapMsg EMM_GMM

tibemsMapMsg_GetMapNames EMM_GMN

tibemsMapMsg_GetShort EMM_GS

tibemsMapMsg_GetString EMM_GSTR

tibemsMapMsg_ItemExists EMM_IEX

tibemsMapMsg_SetBoolean EMM_SBOO

tibemsMapMsg_SetByte EMM_SB

tibemsMapMsg_SetBytes EMM_SBS

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 37

Table 14 Assembler Calls: Map Messages Function Assembler Call tibemsMapMsg_SetChar EMM_SCH

tibemsMapMsg_SetDouble EMM_SD

tibemsMapMsg_SetDoubleArray EMM_SDA

tibemsMapMsg_SetFloat EMM_SFL

tibemsMapMsg_SetFloatArray EMM_SFLA

tibemsMapMsg_SetInt EMM_SI

tibemsMapMsg_SetIntArray EMM_SIA

tibemsMapMsg_SetLong EMM_SL

tibemsMapMsg_SetLongArray EMM_SLA

tibemsMapMsg_SetMapMsg EMM_SMM

tibemsMapMsg_SetReferencedBytes EMM_SRBS

tibemsMapMsg_SetShort EMM_SS

tibemsMapMsg_SetShortArray EMM_SSA

tibemsMapMsg_SetStreamMsg EMM_SSM

tibemsMapMsg_SetString EMM_SSTR

Table 15 Assembler Calls: Object Messages Function Assembler Call tibemsObjectMsg_Create EOM_CR

tibemsObjectMsg_GetObjectBytes EOM_GOB

tibemsObjectMsg_SetObjectBytes EOM_SOB

TIBCO EMS Client for z/OS (MVS) Installation and Reference 38 | Appendix C Assembler Calls for C Functions

Table 16 Assembler Calls: Stream Messages Function Assembler Call tibemsStreamMsg_Create ESM_CR

tibemsStreamMsg_FreeField ESM_FFLD

tibemsStreamMsg_ReadBoolean ESM_RBOO

tibemsStreamMsg_ReadByte ESM_RB

tibemsStreamMsg_ReadBytes ESM_RBS

tibemsStreamMsg_ReadChar ESM_RCH

tibemsStreamMsg_ReadDouble ESM_RD

tibemsStreamMsg_ReadFloat ESM_RFL

tibemsStreamMsg_ReadField ESM_RFLD

tibemsStreamMsg_ReadInt ESM_RI

tibemsStreamMsg_ReadLong ESM_RL

tibemsStreamMsg_ReadShort ESM_RS

tibemsStreamMsg_ReadString ESM_RSTR

tibemsStreamMsg_Reset ESM_RES

tibemsStreamMsg_WriteBoolean ESM_WBOO

tibemsStreamMsg_WriteByte ESM_WB

tibemsStreamMsg_WriteBytes ESM_WBS

tibemsStreamMsg_WriteChar ESM_WCH

tibemsStreamMsg_WriteDouble ESM_WD

tibemsStreamMsg_WriteDoubleArray ESM_WDA

tibemsStreamMsg_WriteFloat ESM_WFL

tibemsStreamMsg_WriteFloatArray ESM_WFLA

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 39

Table 16 Assembler Calls: Stream Messages Function Assembler Call tibemsStreamMsg_WriteInt ESM_WI

tibemsStreamMsg_WriteIntArray ESM_WIA

tibemsStreamMsg_WriteLong ESM_WL

tibemsStreamMsg_WriteLongArray ESM_WLA

tibemsStreamMsg_WriteMapMsg ESM_WMM

tibemsStreamMsg_WriteShort ESM_WS

tibemsStreamMsg_WriteShortArray ESM_WSA

tibemsStreamMsg_WriteStreamMsg ESM_WSM

tibemsStreamMsg_WriteString ESM_WSTR

Table 17 Assembler Calls: Text Messages Function Assembler Call tibemsTextMsg_Create ETM_CR

tibemsTextMsg_GetText ETM_GTXT

tibemsTextMsg_SetText ETM_STXT

Table 18 Assembler Calls: Message Enumerate and Print Function Assembler Call tibemsMsgEnum_Destroy EME_DSY

tibemsMsgEnum_GetNextName EME_GNN

tibemsMsgField_Print EMF_PRNT

tibemsMsgField_PrintToBuffer EM_PFTB

TIBCO EMS Client for z/OS (MVS) Installation and Reference 40 | Appendix C Assembler Calls for C Functions

Table 19 Assembler Calls: Destination Function Assembler Call tibemsDestination_Copy ED_COPY

tibemsDestination_Create ED_CR

tibemsDestination_Destroy ED_DSY

tibemsDestination_GetName ED_GETNM

tibemsDestination_GetType ED_GETTY

tibemsQueue_Create EQ_CR

tibemsQueue_Destroy EQ_DSY

tibemsQueue_GetQueueName EQ_GQN

tibemsTopic_Create ET_CR

tibemsTopic_Destroy ET_DSY

tibemsTopic_GetTopicName ET_GTN

Table 20 Assembler Calls: Consumer Function Assembler Call tibemsMsgConsumer_Close EMC_CLO

tibemsMsgConsumer_GetDestination EMC_GD

tibemsMsgConsumer_GetMsgListener EMC_GML

tibemsMsgConsumer_GetMsgSelector EMC_GMSL

tibemsMsgConsumer_GetNoLocal EMC_GNL

tibemsMsgConsumer_Receive EMC_R

tibemsMsgConsumer_ReceiveNoWait EMC_RNOW

tibemsMsgConsumer_ReceiveTimeout EMC_RTO

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 41

Table 20 Assembler Calls: Consumer Function Assembler Call tibemsMsgConsumer_SetMsgListener EMC_SML

Table 21 Assembler Calls: Producer Function Assembler Call tibemsMsgProducer_Close EMP_CLO

tibemsMsgProducer_GetDeliveryMode EMP_GDM

tibemsMsgProducer_GetDestination EMP_GD

tibemsMsgProducer_GetDisableMessageID EMP_GDMI

tibemsMsgProducer_GetDisableMessageTimestamp EMP_GDMT

tibemsMsgProducer_GetNPSendCheckMode EMP_GSCM

tibemsMsgProducer_GetPriority EMP_GPRI

tibemsMsgProducer_GetTimeToLive EMP_GTTL

tibemsMsgProducer_Send EMP_SN

tibemsMsgProducer_SendEx EMP_SNX

tibemsMsgProducer_SendToDestination EMP_SND

tibemsMsgProducer_SendToDestinationEx EMP_SNDX

tibemsMsgProducer_SetDeliveryMode EMP_SDM

tibemsMsgProducer_SetDisableMessageID EMP_SDMI

tibemsMsgProducer_SetDisableMessageTimestamp EMP_SDMT

tibemsMsgProducer_SetNPSendCheckMode EMP_SSCM

tibemsMsgProducer_SetPriority EMP_SPRI

tibemsMsgProducer_SetTimeToLive EMP_STTL

TIBCO EMS Client for z/OS (MVS) Installation and Reference 42 | Appendix C Assembler Calls for C Functions

Table 22 Assembler Calls: Requestor Function Assembler Call tibemsMsgRequestor_Create EMR_CRT

tibemsMsgRequestor_Close EMR_CLO

tibemsMsgRequestor_Request EMR_REQ

Table 23 Assembler Calls: Connection Function Assembler Call tibemsConnection_Close EC_CLO

tibemsConnection_Create EC_CR

tibemsConnection_CreateSession EC_CRS

tibemsConnection_CreateSSL EC_CRSSL

tibemsConnection_GetActiveURL EC_GAURL

tibemsConnection_GetClientId EC_GCLI

tibemsConnection_GetExceptionListener EC_GEXL

tibemsConnection_SetClientId EC_SCLI

tibemsConnection_SetExceptionListener EC_SEXL

tibemsConnection_Start EC_START

tibemsConnection_Stop EC_STOP

tibemsSSL_GetDebugTrace ESS_GDT

tibemsSSL_GetTrace ESS_GT

tibemsSSL_OpenSSLVersion ESS_OSV

tibemsSSL_SetDebugTrace ESS_SDT

tibemsSSL_SetTrace ESS_ST

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 43

Table 23 Assembler Calls: Connection Function Assembler Call tibemsSSLParams_AddIssuerCert ESP_AIC

tibemsSSLParams_AddIssuerCertFile ESP_AICF

tibemsSSLParams_AddTrustedCert ESP_ATC

tibemsSSLParams_AddTrustedCertFile ESP_ATCF

tibemsSSLParams_Create ESP_CR

tibemsSSLParams_Destroy ESP_DSY

tibemsSSLParams_GetIdentity ESP_GI

tibemsSSLParams_GetPrivateKey ESP_GPK

tibemsSSLParams_SetAuthOnly ESP_SAO

tibemsSSLParams_SetCiphers ESP_SCIP

tibemsSSLParams_SetExpectedHostName ESP_SEHN

tibemsSSLParams_SetHostNameVerifier ESP_SHNV

tibemsSSLParams_SetIdentity ESP_SI

tibemsSSLParams_SetIdentityFile ESP_SIF

tibemsSSLParams_SetPrivateKey ESP_SPK

tibemsSSLParams_SetPrivateKeyFile ESP_SPKF

tibemsSSLParams_SetRandData ESP_SRD

tibemsSSLParams_SetRandEGD ESP_SREG

tibemsSSLParams_SetRandFile ESP_SRF

tibemsSSLParams_SetVerifyHost ESP_SVH

tibemsSSLParams_SetVerifyHostName ESP_SVHN

TIBCO EMS Client for z/OS (MVS) Installation and Reference 44 | Appendix C Assembler Calls for C Functions

Table 24 Assembler Calls: Connection Factory Function Assembler Call tibemsConnectionFactory_Create ECF_CR

tibemsConnectionFactory_CreateConnection ECF_CRC

tibemsConnectionFactory_CreateXAConnection ECF_CXAC

tibemsConnectionFactory_Destroy ECF_DSY

tibemsConnectionFactory_GetSSLProxyHost ECF_GSPH

tibemsConnectionFactory_GetSSLProxyPort ECF_GSPP

tibemsConnectionFactory_GetSSLProxyUser ECF_GSPU

tibemsConnectionFactory_GetSSLProxyPassword ECF_GSPW

tibemsConnectionFactory_Print ECF_P

tibemsConnectionFactory_SetClientID ECF_SCLI

tibemsConnectionFactory_SetConnectAttemptCount ECF_SCAC

tibemsConnectionFactory_SetConnectAttemptDelay ECF_SCAD

tibemsConnectionFactory_SetConnectAttemptTimeout ECF_SCAT

tibemsConnectionFactory_SetMetric ECF_SM

tibemsConnectionFactory_SetPkPassword ECF_SPKP

tibemsConnectionFactory_SetReconnectAttemptCount ECF_SRAC

tibemsConnectionFactory_SetReconnectAttemptDelay ECF_SRAD

tibemsConnectionFactory_SetReconnectAttemptTimeout ECF_SRAT

tibemsConnectionFactory_SetServerURL ECF_SSUR

tibemsConnectionFactory_SetSSLParams ECF_SSLP

tibemsConnectionFactory_SetSSLProxy ECF_SSP

tibemsConnectionFactory_SetSSLProxyAuth ECF_SSPA

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 45

Table 25 Assembler Calls: Session Function Assembler Call tibemsSession_Close ES_CLO

tibemsSession_Commit ES_COMT

tibemsSession_CreateBrowser ES_CRBR

tibemsSession_CreateBytesMessage ES_CRBSM

tibemsSession_CreateConsumer ES_CRCNS

tibemsSession_CreateDurableSubscriber ES_CRDS

tibemsSession_CreateMapMessage ES_CRMM

tibemsSession_CreateMessage ES_CRMS

tibemsSession_CreateProducer ES_CRPRD

tibemsSession_CreateStreamMessage ES_CRSMS

tibemsSession_CreateTemporaryQueue ES_CRTQ

tibemsSession_CreateTemporaryTopic ES_CRTT

tibemsSession_CreateTextMessage ES_CRTM

tibemsSession_CreateTextMessageEx ES_CRTMX

tibemsSession_DeleteTemporaryQueue ES_DLTQ

tibemsSession_DeleteTemporaryTopic ES_DLTT

tibemsSession_GetAcknowledgeMode ES_GACKM

tibemsSession_GetTransacted ES_GTRN

tibemsSession_Recover ES_REC

tibemsSession_Rollback ES_ROLB

tibemsSession_Unsubscribe ES_USUB

TIBCO EMS Client for z/OS (MVS) Installation and Reference 46 | Appendix C Assembler Calls for C Functions

Table 26 Assembler Calls: Queue Browser Function Assembler Call tibemsQueueBrowser_Close EQB_CLO

tibemsQueueBrowser_GetMsgSelector EQB_GMS

tibemsQueueBrowser_GetNext EQB_GN

tibemsQueueBrowser_GetQueue EQB_GQ

Table 27 Assembler Calls: Name Server Lookup Function Assembler Call tibemsLookupContext_Create ELC_CR

tibemsLookupContext_CreateSSL ELC_CSSL

tibemsLookupContext_CreateExternal ELC_CREX

tibemsLookupContext_Destroy ELC_DSY

tibemsLookupContext_Lookup ELC_LUP

tibemsLookupParams_Create ELP_CR

tibemsLookupParams_Destroy ELP_DSY

tibemsLookupParams_GetLdapServerUrl ELP_GSU

tibemsLookupParams_SetLdapBaseDN ELP_SBDN

tibemsLookupParams_SetLdapCAFile ELP_SCAF

tibemsLookupParams_SetLdapCAPath ELP_SCAP

tibemsLookupParams_SetLdapCertFile ELP_SCF

tibemsLookupParams_SetLdapCiphers ELP_SCIP

tibemsLookupParams_SetLdapConnType ELP_SCT

tibemsLookupParams_SetLdapCredential ELP_SCD

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 47

Table 27 Assembler Calls: Name Server Lookup Function Assembler Call tibemsLookupParams_SetLdapKeyFile ELP_SKF

tibemsLookupParams_SetLdapPrincipal ELP_SPR

tibemsLookupParams_SetLdapRandFile ELP_SRF

tibemsLookupParams_SetLdapSearchScope ELP_SSS

tibemsLookupParams_SetLdapServerUrl ELP_SSU

Table 28 Assembler Calls: XA External Transaction Manager Function Assembler Call tibemsXAConnection_Close EXC_CLO

tibemsXAConnection_Create EXC_CR

tibemsXAConnection_CreateSSL EXC_CSSL

tibemsXAConnection_CreateXASession EXC_CXAS

tibemsXAConnection_Get EXC_GET

tibemsXAConnection_GetXASession EXC_GXAS

tibemsXAResource_Commit EXR_COM

tibemsXAResource_End EXR_END

tibemsXAResource_Forget EXR_FGET

tibemsXAResource_GetRMID EXR_GRMI

tibemsXAResource_GetTransactionTimeout EXR_GTT

tibemsXAResource_isSameRM EXR_ISRM

tibemsXAResource_Prepare EXR_PREP

tibemsXAResource_Recover EXR_RECV

tibemsXAResource_Rollback EXR_ROLL

TIBCO EMS Client for z/OS (MVS) Installation and Reference 48 | Appendix C Assembler Calls for C Functions

Table 28 Assembler Calls: XA External Transaction Manager Function Assembler Call tibemsXAResource_SetRMID EXR_SRMI

tibemsXAResource_SetTransactionTimeout EXR_STT

tibemsXAResource_Start EXR_STA

tibemsXASession_Close EXS_CLO

tibemsXASession_GetSession EXS_GS

tibemsXASession_GetXAResource EXS_GXAR

Table 29 Assembler Calls: Utilities Function Assembler Call tibems_Close E_CLO

tibems_GetAllowCloseInCallback E_GACIC

tibems_GetConnectAttemptCount E_GCTC

tibems_GetConnectAttemptDelay E_GCAD

tibems_GetConnectAttemptTimeout E_GCAT

tibems_GetExceptionOnFTSwitch E_GEOFT

tibems_GetReconnectAttemptCount E_GRAC

tibems_GetReconnectAttemptDelay E_GRAD

tibems_GetReconnectAttemptTimeout E_GRAT

tibems_GetSocketReceiveBufferSize E_GSRBZ

tibems_GetSocketSendBufferSize E_GSSBZ

tibems_Open E_OPN

tibems_SetAllowCloseInCallback E_SACIC

tibems_SetConnectAttemptCount E_SCAC

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 49

Table 29 Assembler Calls: Utilities Function Assembler Call tibems_SetConnectAttemptDelay E_SCAD

tibems_SetConnectAttemptTimeout E_SCAT

tibems_SetExceptionOnFTSwitch E_SEOFT

tibems_SetReconnectAttemptCount E_SRAC

tibems_SetReconnectAttemptDelay E_SRAD

tibems_SetReconnectAttemptTimeout E_SRAT

tibems_SetSocketReceiveBufferSize E_SSRBZ

tibems_SetSoketSendBufferSize E_SSSBZ

tibems_SetTraceFile E_STF

tibems_Sleep E_SLEEP

tibems_Version E_VER

Table 30 Assembler Calls: Admin Function Assembler Call tibemsAdmin

tibemsAdmin_Close EA_CLOSE

tibemsAdmin_Create EA_CREAT

tibemsAdmin_GetCommandTimeout EA_GCTO

tibemsAdmin_GetConsumer EA_GCON

tibemsAdmin_GetConsumers EA_GCONS

tibemsAdmin_GetInfo EA_GINFO

tibemsAdmin_GetProducerStatistics EA_GPST

tibemsAdmin_GetQueue EA_GETQ

TIBCO EMS Client for z/OS (MVS) Installation and Reference 50 | Appendix C Assembler Calls for C Functions

Table 30 Assembler Calls: Admin Function Assembler Call tibemsAdmin_GetQueues EA_GETQS

tibemsAdmin_GetTopic EA_GETT

tibemsAdmin_GetTopics EA_GETTS

tibemsAdmin_SetCommandTimeout EA_SCTO

tibemsAdmin_SetExceptionListener EA_SETXL

tibemsCollection

tibemsCollection_Destroy EA_CDEST

tibemsCollection_GetCount EA_CGC

tibemsCollection_GetFirst EA_CGF

tibemsCollection_GetNext EA_CGN

tibemsConsumerInfo

tibemsConsumerInfo_Destroy EA_CID

tibemsConsumerInfo_GetCreateTime EA_CIGCT

tibemsConsumerInfo_GetCurrentMsgCountSentByServer EA_CGCBS

tibemsConsumerInfo_GetCurrentMsgSizeSentByServer EA_CGMSS

tibemsConsumerInfo_GetDestinationName EA_CIGN

tibemsConsumerInfo_GetDestinationType EA_CIGDT

tibemsConsumerInfo_GetDetailedStatistics EA_CIGDS

tibemsConsumerInfo_GetDurableName EA_CIGDN

tibemsConsumerInfo_GetElapsedSinceLast EA_CESLA Acknowledged

tibemsConsumerInfo_GetElapsedSinceLastSent EA_CGESL

tibemsConsumerInfo_GetID EA_CIGID

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 51

Table 30 Assembler Calls: Admin Function Assembler Call tibemsConsumerInfo_GetPendingMessageCount EA_CIPMC

tibemsConsumerInfo_GetPendingMessageSize EA_CIPMS

tibemsConsumerInfo_GetStatistics EA_CIGS

tibemsConsumerInfo_GetTotalAcknowledgedCount EA_CGTAC

tibemsConsumerInfo_GetTotalMsgCountSentByServer EA_CGTCS

tibemsConsumerInfo_IsActive EA_CIIA

tibemsConsumerInfo_IsConnected EA_CIIC

tibemsConsumerInfo_IsConnectionConsumer EA_CIICC

tibemsDetailedDestStat

tibemsDetailedDestStat_GetDestinationName EA_DSGDN

tibemsDetailedDestStat_GetDestinationType EA_DSGDT

tibemsDetailedDestStat_GetStatData EA_DSGSD

tibemsProducerInfo

tibemsProducerInfo_Destroy EA_PDEST

tibemsProducerInfo_GetCreateTime EA_PGCT

tibemsProducerInfo_GetDestinationName EA_PGDN

tibemsProducerInfo_GetDestinationType EA_PGDT

tibemsProducerInfo_GetDetailedStatistics EA_PGDS

tibemsProducerInfo_GetID EA_PGID

tibemsProducerInfo_GetStatistics EA_PGS

tibemsQueueInfo

tibemsQueueInfo_Create EQI_CR

tibemsQueueInfo_Destroy EA_QIDES

TIBCO EMS Client for z/OS (MVS) Installation and Reference 52 | Appendix C Assembler Calls for C Functions

Table 30 Assembler Calls: Admin Function Assembler Call tibemsQueueInfo_GetDeliveredMessageCount EA_QIGDC

tibemsQueueInfo_GetFlowControlMaxBytes EA_QIFMB

tibemsQueueInfo_GetInboundStatistics EA_QIGIS

tibemsQueueInfo_GetMaxBytes EA_QIGMB

tibemsQueueInfo_GetMaxMsgs EA_QIGMM

tibemsQueueInfo_GetName EA_QIGN

tibemsQueueInfo_GetOutboundStatistics EA_QIGOS

tibemsQueueInfo_GetOverflowPolicy EA_QIGOP

tibemsQueueInfo_GetPendingMessageCount EA_QIGPC

tibemsQueueInfo_GetPendingMessageSize EA_QIGPS

tibemsQueueInfo_GetReceiverCount EA_QIGRC

tibemsServerInfo

tibemsServerInfo_Destroy EA_SID

tibemsServerInfo_GetConsumerCount EA_SIGCC

tibemsServerInfo_GetProducerCount EA_SIGPC

tibemsServerInfo_GetQueueCount EA_SIGQC

tibemsServerInfo_GetTopicCount EA_SIGTC

tibemsStatData

tibemsStatData_GetByteRate EA_SDGBR

tibemsStatData_GetMessageRate EA_SDMR

tibemsStatData_GetTotalBytes EA_SDGTB

tibemsStatData_GetTotalMessages EA_SDGTM

TIBCO EMS Client for z/OS (MVS) Installation and Reference Assembler Calls for C Functions | 53

Table 30 Assembler Calls: Admin Function Assembler Call tibemsTopicInfo

tibemsTopicInfo_Create ETI_CR

tibemsTopicInfo_Destroy EA_TIDES

tibemsTopicInfo_GetActiveDurableCount EA_TGADC

tibemsTopicInfo_GetDurableCount EA_TIGDC

tibemsTopicInfo_GetFlowControlMaxBytes EA_TIFMB

tibemsTopicInfo_GetInboundStatistics EA_TIGIS

tibemsTopicInfo_GetMaxBytes EA_TIGMB

tibemsTopicInfo_GetMaxMsgs EA_TIGMM

tibemsTopicInfo_GetName EA_TIGN

tibemsTopicInfo_GetOutboundStatistics EA_TIGOS

tibemsTopicInfo_GetOverflowPolicy EA_TIGOP

tibemsTopicInfo_GetPendingMessageCount EA_TIGPC

tibemsTopicInfo_GetPendingMessageSize EA_TIGPS

tibemsTopicInfo_GetSubscriberCount EA_TIGSC

Table 31 Assembler Calls: Exception Function Assembler Call tibemsStatus_GetText EST_GTXT

tibemsErrorContext_Create ERC_CR

tibemsErrorContext_Close ERC_CLO

tibemsErrorContext_GetLastErrorString ERC_GLES

tibemsErrorContext_GetLastErrorStackTrace ERC_GLET

TIBCO EMS Client for z/OS (MVS) Installation and Reference 54 | Appendix C Assembler Calls for C Functions

TIBCO EMS Client for z/OS (MVS) Installation and Reference