Machine encodings
This section describes the structure of the Encoding field in the message descriptor.
See MQMD - Message descriptor for a summary of the fields in the structure.
The Encoding field is a 32-bit integer that is divided into four separate subfields; these subfields identify:- The encoding used for binary integers
- The encoding used for packed-decimal integers
- The encoding used for floating-point numbers
- Reserved bits
Each subfield is identified by a bit mask that has 1-bits in the positions corresponding to the subfield, and 0-bits elsewhere. The bits are numbered such that bit 0 is the most significant bit, and bit 31 the least significant bit. The following masks are defined:
- MQENC_INTEGER_MASK
- Mask for binary-integer encoding.
This subfield occupies bit positions 28 through 31 within the Encoding field.
- MQENC_DECIMAL_MASK
- Mask for packed-decimal-integer encoding.
This subfield occupies bit positions 24 through 27 within the Encoding field.
- MQENC_FLOAT_MASK
- Mask for floating-point encoding.
This subfield occupies bit positions 20 through 23 within the Encoding field.
- MQENC_RESERVED_MASK
- Mask for reserved bits.
This subfield occupies bit positions 0 through 19 within the Encoding field.
- Binary-integer encoding
- Packed-decimal-integer encoding
- Floating-point encoding
- Constructing encodings
- Analyzing encodings
The Encoding field contains subfields; because of this, applications that need to examine the integer, packed decimal, or float encoding must use one of the techniques described. - Summary of machine architecture encodings
Parent topic: MQI applications reference