CQSREG request

The CQSREG request registers a client to CQS.

Format for CQSREG

DSECT function of CQSREG

You use the DSECT function of a CQSREG request to include equate (EQU) statements in your program for the CQSREG parameter list length and CQSREG return and reason codes.

Figure 0.
Read syntax diagramSkip visual syntax diagramCQSREGFUNC=DSECT

Use the REGISTER function of a CQSREG request to register a client with a CQS.

Figure 0.
Read syntax diagramSkip visual syntax diagramCQSREGFUNC=REGISTERPARM= parmaddressCQSSSN= cqssubsystemnameaddressCLIENT= clientnameaddressEVENT= cqseventexitEVENTPARM= eventparmaddressCQSTOKEN= cqstokenaddressVERSION= cqsversionaddressRETCODE= returncodeaddressRSNCODE= reasoncodeaddress

Usage of CQSREG

A CQSREG request registers a client to CQS. If the registration is successful, a CQS token is returned. This token represents the client's registration with CQS and must be used with all subsequent CQS requests to identify the client.

A CQSREG FUNC=REGISTER request must be the first CQS request a client makes. Also, after a CQS abnormal termination and restart, a CQSREG FUNC=REGISTER request is required before the client can resume issuing CQS requests.

CLIENT=clientnameaddress
Input parameter that specifies the address of the 8-byte name of the client registering to CQS. The client name must be unique among all clients that are registered to the same CQS and to all the CQSs that are sharing the same queues.
CQSTOKEN=cqstokenaddress
Output parameter that specifies the address of a 16-byte area to receive the CQS registration token that uniquely identifies the client's connection to CQS. The registration token is returned by a successful CQSREG request.
CQSSSN=cqssubsystemnameaddress
Input parameter that specifies the address of the 4-byte subsystem name of the CQS to which the client would like to connect. This parameter should match the SSN= parameter of the CQSIPxxx PROCLIB member for the CQS to which the client would like to connect.
EVENT=cqseventexit
Four-byte input parameter that specifies the CQS Event exit routine address.
EVENTPARM=eventparmaddress
Input parameter that specifies the address of a 4-byte area that contains client data that CQS passes to the CQS Event exit routine every time the exit is called.
PARM=parmaddress
Four-byte input parameter that specifies the address of a parameter list used by the request to pass parameters to CQS. The length of the storage area must be at least equal to the EQU value CQSREG_PARM_LEN (defined using the FUNC=DSECT request).
RETCODE=returncodeaddress
Output parameter that specifies the address of a 4-byte field to contain the CQSREG return code. The CQSREG return code is returned both in this field and in register 15.
RSNCODE=reasoncodeaddress
Output parameter that specifies the address of a 4-byte field to contain the CQSREG reason code. The CQSREG reason code is returned both in this field and in register 0.
VERSION=cqsversionaddress
Output parameter that specifies the address of a 4-byte area to receive the CQS version number. The version number has the following format: 00vvrrmm.
00
This byte is reserved for future use. Currently, it is always 00.
vv
Version number.
rr
Release number.
mm
Modification level or sub-release number.
For example, CQS version 1.1.0 is shown as X'00010100'.

Return and reason codes for CQSREG

The following table lists the return and reason code combinations that can be returned for CQSREG requests.

Table 1. CQSREG return and reason codes
Return code Reason code Meaning
X'00000000' X'00000000' Request completed successfully.
X'00000004' X'00000100' Client is already registered to CQS.
X'00000008' X'00000244' clientname is invalid.
X'00000008' X'00000284' The CQSREG parameter list version is invalid. This error is probably caused by a difference in versions between the CQS client and the CQS address space the client is trying to use.
X'00000010' X'0000040C' CQS shutdown is pending.
X'00000010' X'00000430' The CQS address space is not active. The CQS address space must be started.
X'00000010' X'00000438' Another address space is already registered with CQS using the client ID (passed on a CQSREG request).
X'00000010' X'00000440' The user ID of the client address space is not authorized to register with this CQS.
X'00000010' X'00000448' A registered client address space attempted to register with CQS a second time.
X'00000014' X'00000500' CQS internal error.
X'00000014' X'00000504' Unable to obtain storage in client's address space for CQS's use.
X'00000014' X'00000508' Unable to obtain storage (CCIB).
X'00000014' X'0000050C' Unable to obtain storage (CRET).
X'00000014' X'00000510' CQS internal error (Loc ASCB).
X'00000014' X'00000514' Unable to establish z/OS® Resource Manager routine to monitor CQS for the registering client.
X'00000014' X'00000518' CQS internal error (ESTAE add).
X'00000014' X'0000051C' CQS internal error (NmTkn Retrv).
X'00000014' X'00000520' CQS internal error (CGCT error).
X'00000014' X'00000524' CQS internal error (TTKN error).
X'00000014' X'00000528' CQS internal error (ALESERV error).
X'00000014' X'0000052C' CQS internal error (BPESVC error).
X'00000014' X'00000530' Unable to establish z/OS Resource Manager routine to monitor the client for CQS.
X'00000014' X'00000534' An abend occurred during CQSREG processing.
X'00000014' X'0000053C' Unable to load CQS registration module CQSREG00.