MQZAC - Application context

The MQZAC structure is used on the MQZ_AUTHENTICATE_USER call for the ApplicationContext parameter. This parameter specifies data related to the calling application.

Table 1 summarizes the fields in the structure.
Table 1. Fields in MQZAC
Field Description
StrucId Structure identifier
Version Structure version number
ProcessId Process identifier
ThreadId Thread identifier
ApplName Application name
UserID User identifier
EffectiveUserID Effective user identifier
Environment Environment
CallerType Caller type
AuthenticationType Authentication type
BindType Bind type

Fields

StrucId
Type: MQCHAR4 - input
Structure identifier. The value is as follows:
MQZAC_STRUC_ID
Identifier for application context structure.

For the C programming language, the constant MQZAC_STRUC_ID_ARRAY is also defined; this has the same value as MQZAC_STRUC_ID, but is an array of characters instead of a string.

Version
Type: MQLONG - input
Structure version number. The value is as follows:
MQZAC_VERSION_1
Version-1 application context structure. The constant MQZAC_CURRENT_VERSION specifies the version number of the current version.
ProcessId
Type: MQPID - input

Process identifier of the application.

ThreadId
Type: MQTID - input

Thread identifier of the application.

ApplName
Type: MQCHAR28 - input

Application name.

UserID
Type: MQCHAR12 - input

User identifier. On UNIX this field specifies the application's real user ID. On Windows this field specifies the application's user ID.

EffectiveUserID
Type: MQCHAR12 - input

Effective user identifier. On UNIX this field specifies the application's effective user ID. On Windows this field is blank.

Environment
Type: MQLONG - input
Environment. This field specifies the environment from which the call was made. The field is one of the following values:
MQXE_COMMAND_SERVER
Command server
MQXE_MQSC
runmqsc command interpreter
MQXE_MCA
Message channel agent MQXE_OTHER
MQXE_OTHER
Undefined environment
CallerType
Type: MQLONG - input
Caller Type. This field specifies the type of program that made the call. The field is one of the following values:
MQXACT_EXTERNAL
The call is external to the queue manager.
MQXACT_INTERNAL
The call is internal to the queue manager.
AuthenticationType
Type: MQLONG - input
Authentication Type. This field specifies the type of authentication being performed. The field is one of the following values:
MQZAT_INITIAL_CONTEXT
The authentication call is due to user context being initialized. This value is used during an MQCONN or MQCONNX call.
MQZAT_CHANGE_CONTEXT
The authentication call is due to the user context being changed. This value is used when the MCA changes the user context. Parent topic: MQZAC -
BindType
Type: MQLONG - input
Bind Type. This field specifies the type of binding in use. The field is one of the following values:
MQCNO_FASTPATH_BINDING
Fastpath binding.
MQCNO_SHARED_BINDING
Shared binding.
MQCNO_ISOLATED_BINDING
Isolated binding.

C declaration

Declare the fields of the structure as follows:

typedef struct tagMQZAC MQZAC;
struct tagMQZAC {
  MQCHAR4   StrucId;            /* Structure identifier */
  MQLONG    Version;            /* Structure version number */
  MQPID     ProcessId;          /* Process identifier */
  MQTID     ThreadId;           /* Thread identifier */
  MQCHAR28  ApplName;           /* Application name */
  MQCHAR12  UserID;             /* User identifier */
  MQCHAR12  EffectiveUserID;    /* Effective user identifier */
  MQLONG    Environment;        /* Environment */
  MQLONG    CallerType;         /* Caller type */
  MQLONG    AuthenticationType; /* Authentication type */
  MQLONG    BindType;           /* Bind type */
};