MQCNO - Connect options

The MQCNO structure allows the application to specify options relating to the connection to the queue manager. The structure is an input/output parameter on the MQCONNX call.

For more information about using shared handles, and the MQCONNX call, see Shared (thread independent) connections with MQCONNX.

Availability

The MQCNO structure is available on the following platforms:
  • [AIX]AIX®
  • [IBM i]IBM® i
  • [Linux]Linux®
  • [Windows]Windows
and for IBM MQ MQI clients connected to these systems.

Version

The header, COPY, and INCLUDE files provided for the supported programming languages contain the most-recent version of MQCNO, but with the initial value of the Version field set to MQCNO_VERSION_1. To use fields that are not present in the version-1 structure, the application must set the Version field to the version number that is required.

Character set and encoding

Data in MQCNO must be in the character set given by the CodedCharSetId queue manager attribute and encoding of the local queue manager given by MQENC_NATIVE. However, if the application is running as an IBM MQ MQI client, the structure must be in the character set and encoding of the client.

Fields

Note: In the following table, the fields are grouped by usage rather than alphabetically.
Table 1. Fields in MQCNO for MQCNO
Field name and description Name of constant Initial value (if any) of constant
StrucId (structure identifier) MQCNO_STRUC_ID 'CNO¬'
Version (structure version number) MQCNO_VERSION_1 1
Options (options that control the action of MQCONNX) MQCNO_NONE 0
Note: The remaining fields are ignored if Version is less than MQCNO_VERSION_2.
ClientConnOffset (offset of MQCD structure for client connection) None 0
ClientConnPtr (address of MQCD structure for client connection) None Null pointer or null bytes
Note: The remaining fields are ignored if Version is less than MQCNO_VERSION_3.
ConnTag (queue manager connection tag) MQCT_NONE Nulls
Note: The remaining fields are ignored if Version is less than MQCNO_VERSION_4.
SSLConfigPtr (address of MQSCO structure for client connection) None Null pointer or null bytes
SSLConfigOffset (offset of MQSCO structure for client connection) None 0
Note: The remaining fields are ignored if Version is less than MQCNO_VERSION_5.
ConnectionId (unique connection ID) None Null pointer or null bytes
SecurityParmsOffset (offset of MQCSP structure for security parameters) None Null pointer or null bytes
SecurityParmsPtr (address of MQCSP structure for security parameters) None Null pointer or null bytes
Note: The remaining fields are ignored if Version is less than MQCNO_VERSION_6.
Reserved (reserved field) None Reserved field to pad the structure out to a 64-bit boundary.
CCDTUrlLength (CCDT URL length) None Length of string identified by CCDTUrlPtr or CCDTUrlOffset
CCDTUrlPtr (CCDT URL pointer) None Pointer to a string which contains a URL, to identify the location of the client connection channel table to use for the connection.
CCDTUrlOffset (CCDT URL offset) None Offset in bytes from a string which contains a URL that identifies the location of the client connection channel table to use for the connection.
Note: The remaining fields are ignored if Version is less than MQCNO_VERSION_7.
ApplName (name set by the application) None Name set by the application to identify the connection to the queue manager
Reserved2 (reserved field) None Reserved field to pad the structure out to a 64-bit boundary.
Note: The remaining fields are ignored if Version is less than MQCNO_VERSION_8.
BalanceParms|Offset None Offset in bytes to the MQBNO structure
BalanceParmsPtr None Pointer to the location of the MQBNO structure
Notes:
  1. The symbol ¬ represents a single blank character.
  2. In the C programming language, the macro variable MQCNO_DEFAULT contains the values that are listed in the table. Use it in the following way to provide initial values for the fields in the structure:
    MQCNO MyCNO = {MQCNO_DEFAULT};
    

Language declarations

C declaration for MQCNO

typedef struct tagMQCNO MQCNO;
struct tagMQCNO {
  MQCHAR4    StrucId;           /* Structure identifier */
  MQLONG     Version;           /* Structure version number */
  MQLONG     Options;           /* Options that control the action of
                                   MQCONNX */
  MQLONG     ClientConnOffset;  /* Offset of MQCD structure for client
                                   connection */
  MQPTR      ClientConnPtr;     /* Address of MQCD structure for client
                                   connection */
  MQBYTE128  ConnTag;           /* Queue managerconnection tag */
  PMQSCO     SSLConfigPtr;      /* Address of MQSCO structure for client
                                   connection */
  MQLONG     SSLConfigOffset;   /* Offset of MQSCO structure for client
                                   connection */
  MQBYTE24   ConnectionId;      /* Unique connection identifier */
  MQLONG     SecurityParmsOffset /* Security fields */
  PMQCSP     SecurityParmsPtr   /* Security parameters */
  MQLONG     CCDTUrlLength      /* Length of string identified by Ptr or offset */
  MQLONG     CCDTUrlOffset      /* Offset in bytes to URL of client connection channel */ 
  PMQURL     CCDTUrlPtr         /* Address of string containing URL */
  MQBYTE4    Reserved           /* Reserved field to pad out to 64 bit boundary */
  MQCHAR28   ApplName           /* Name set by the application to identify the connection to 
                                   the queue manager */ 
  MQBYTE4    Reserved2          /* Reserved field to pad out to 64 bit boundary */
  MQLONG     BalanceParmsOffset /* Offset of the MQBMO structure */
  PMQBMO     BalanceParmsPtr    /* Address of the location of the MQBMO structure */  
};

COBOL declaration for MQCNO

**   MQCNO structure
  10 MQCNO.
**    Structure identifier
   15 MQCNO-STRUCID          PIC X(4).
**    Structure version number
   15 MQCNO-VERSION          PIC S9(9) BINARY.
**    Options that control the action of MQCONNX
   15 MQCNO-OPTIONS          PIC S9(9) BINARY.
**    Offset of MQCD structure for client connection
   15 MQCNO-CLIENTCONNOFFSET PIC S9(9) BINARY.
**    Address of MQCD structure for client connection
   15 MQCNO-CLIENTCONNPTR    POINTER.
**    Queue manager connection tag
   15 MQCNO-CONNTAG          PIC X(128).
**    Address of MQSCO structure for client connection
   15 MQCNO-SSLCONFIGPTR     POINTER.
**    Offset of MQSCO structure for client connection
   15 MQCNO-SSLCONFIGOFFSET  PIC S9(9) BINARY.
**    Unique connection identifier
   15 MQCNO-CONNECTIONID     PIC X(24).
**    Offset of MQCSP structure for security parameters
   15 MQCNO-SECURITYPARMSOFFSET PIC S9(9) BINARY.
**    Address of MQCSP structure for security parameters
   15 MQCNO-SECURITYPARMSPTR POINTER.
**    Length of string identified by CCDTURLOFFSET or CCDTURLPTR
   15 MQCNO-CCDTURLLENGTH
**    Pointer to a string which contains a URL, to identify the location of the client connection channel
   15 MQCNO-CCDTURLPTR
**    Address of string which contains a URL that identifies the location of the client connection channel table
   15 MQCNO-CCDTURLOFFSET
**    Reserved field to pad to 64 bit boundary
   15 MQCNO-RESERVED
**    Name set by the application to identify the connection to the queue manager
   15 MQCNO-APPLNAME
**    Reserved field to pad to 64 bit boundary
   15 MQCNO-RESERVED2
**    Address of the MQBMO structure
   15 MQCNO-BALANCEPARMSOFFSET
**    Pointer to the MQBMO structure
   15 MQCNO-BALANCEPARMSPTR

PL/I declaration for MQCNO

dcl
 1 MQCNO based,
  3 StrucId            char(4),        /* Structure identifier */
  3 Version            fixed bin(31),  /* Structure version number */
  3 Options            fixed bin(31),  /* Options that control the action
                                          of MQCONNX */
  3 ClientConnOffset   fixed bin(31),  /* Offset of MQCD structure for
                                          client connection */
  3 ClientConnPtr      pointer,        /* Address of MQCD structure for
                                          client connection */
  3 ConnTag            char(128),      /* Queue managerconnection tag */
  3 SSLConfigPtr       pointer,        /* Address of MQSCO structure for
                                          client connection */
  3 SSLConfigOffset    fixed bin(31),  /* Offset of MQSCO structure for
                                          client connection */
  3 ConnectionId       char(24),       /* Unique connection identifier
  3 SecurityParmsOffset fixed bin(31)  /* Offset of MQCSP structure for
                                          security parameters */
  3 SecurityParmsPtr   pointer,        /* Address of MQCSP structure for
                                          security parameters */
  3 CCDTUrlLength      fixed bin(31)   /* Length of string identified by CCDTUrlPtr 
                                          or CCDTUrlOffset */
  3 CCDTUrlOffset      fixed bin(31)   /* Offset in bytes to URL of client connection channel */
  3 CCDTUrlPtr         pointer         /* Pointer to string containing URL */
  3 Reserved           char(4)         /* Reserved field to pad out to 64 bit boundary */
  3 ApplName           char(28)        /* Name set by the application to identify the connection to 
                                          the queue manager */
  3 Reserved2          char(4)         /* Reserved field to pad out to 64 bit boundary */ 
  3 BalanceParmsOffset fixed bin(31)   /* Offset of the MQBMO structure */
  3 BalanceParmsPtr    pointer         /* Address of the MQBMO structure */           
     

High Level Assembler declaration for MQCNO

MQCNO                     DSECT
MQCNO_STRUCID             DS   CL4    Structure identifier
MQCNO_VERSION             DS   F      Structure version number
MQCNO_OPTIONS             DS   F      Options that control the action of
*                                     MQCONNX
MQCNO_CLIENTCONNOFFSET    DS   F      Offset of MQCD structure for client
*                                     connection
MQCNO_CLIENTCONNPTR       DS   F      Address of MQCD structure for client
*                                     connection
MQCNO_CONNTAG             DS   XL128  Queue manager connection tag
MQCNO_CONNECTIONID        DS   XL24   Unique connection identifier
MQCNO_SSLCONFIGOFFSET     DS   F      Offset of MQCSP structure for security
*                                     parameters
MQCNO_SSLCONFIGPTR        DS   F      Address of MQCSP structure for security
*                                     parameters
MQCNO_LENGTH              EQU  *-MQCNO
                          ORG  MQCNO
MQCNO_AREA                DS   CL(MQCNO_LENGTH)
MQCNO_CCDTURLLENGTH       DS   F      Length of string identified by CCDTURLPTR or 
*                                     CCDTURLOFFSET
MQCNO_CCDTURLOFFSET       DS   F      Offset in bytes to URL of client connection channel
MQCNO_CCDTURLPTR          DS   F      Pointer to string containing URL
RESERVED                  DS   XL4    Reserved field to pad out to 64 bit boundary
APPLNAME                  DS   CL28   Name set by the application to identify the connection to 
*                                     the queue manager
RESERVED2                 DS   XL4    Reserved field to pad out to 64 bit boundary 
MQCNO_BALANCEPARMSOFFSET  DS   F      Offset of the MQBMO structure
MQCNO_BALANCEPARMSPTR     DS   F      Address of the MQBMO structure     

Visual Basic declaration for MQCNO

Type MQCNO
  StrucId             As String*4  'Structure identifier'
  Version             As Long      'Structure version number'
  Options             As Long      'Options that control the action of'
                                   'MQCONNX'
  ClientConnOffset    As Long      'Offset of MQCD structure for client'
                                   'connection'
  ClientConnPtr       As MQPTR     'Address of MQCD structure for client'
                                   'connection'
  ConnTag             As MQBYTE128 'Queue manager connection tag'
  SSLConfigPtr        As MQPTR     'Address of MQSCO structure for client'
                                   'connection'
  SSLConfigOffset     As Long      'Offset of MQSCO structure for client'
                                   'connection'
  ConnectionId        As MQBYTE24  'Unique connection identifier'
  SecurityParmsOffset As Long      'Offset of MQCSP structure for security'
                                   'parameters'
  SecurityParmsPtr    As MQPTR     'Address of MQCSP structure for security'
                                   'parameters'
  CCDTUrlLength       As Long      'Length of string identified by CCDTUrlPtr' 
                                   'or CCDTUrlOffset'
  CCDTUrlOffset       As Long      'Offset in bytes to URL of client connection channel'
  CCDTUrlPtr          As MQPTR     'Pointer to string containing URL'
  Reserved            As MQBYTE4   'Reserved field to pad out to 64 bit boundary'
  ApplName            As String*28 'Name set by the application to identify the connection to' 
                                   'the queue manager'
  Reserved2           As MQBYTE4   'Reserved field to pad out to 64 bit boundary'
  BalanceParmsOffset  As Long      'Offset in bytes to MQBNO structure'
  BalanceParmsPtr     As MQPTR     'Address of MQBNO structure'         
  End Type