# tibemsMsgField

Type

## Purpose

Represents a message field or property.

## C Declaration

    typedef struct {
        tibems_byte type;
        tibems_int size;
        tibems_int count;
        tibemsData data;
    } tibemsMsgField

## COBOL

    01  tibemsMsgField.
       05  MsgFld-type            PIC  X(1).
          88  TIBEMS-NULL          VALUE  X'00'.
          88  TIBEMS-BOOL          VALUE  X'01'.
          88  TIBEMS-BYTE          VALUE  X'02'.
          88  TIBEMS-WCHAR         VALUE  X'03'.
          88  TIBEMS-SHORT         VALUE  X'04'.
          88  TIBEMS-INT           VALUE  X'05'.
          88  TIBEMS-LONG          VALUE  X'06'.
          88  TIBEMS-FLOAT         VALUE  X'07'.
          88  TIBEMS-DOUBLE        VALUE  X'08'.
          88  TIBEMS-UTF8          VALUE  X'09'.
          88  TIBEMS-BYTES         VALUE  X'0A'.
          88  TIBEMS-MAP-MSG       VALUE  X'0B'.
          88  TIBEMS-STREAM-MSG    VALUE  X'0C'.
          88  TIBEMS-SHORT-ARRAY   VALUE  X'14'.
          88  TIBEMS-INT-ARRAY     VALUE  X'15'.
          88  TIBEMS-LONG-ARRAY    VALUE  X'16'.
          88  TIBEMS-FLOAT-ARRAY   VALUE  X'17'.
          88  TIBEMS-DOUBLE-ARRAY  VALUE  X'18'.
       05  Filler              PIC  X(3).
       05  MsgFld-size         PIC S9(9) BINARY.
       05  MsgFld-count        PIC S9(9) BINARY.
       05  Filler              PIC  X(4).
       05  MsgFld-data.
          10  MFD                 PIC  X(8).

## Remarks

Any message can have property values. Only map messages and stream messages can have fields.

Field | Description
--- | ---
`type` | One-byte indicator of the field’s datatype; for values, see the following table.
`size` | Size of the data (in bytes). Zero is a special value, indicating that the size is unknown.
`count` | Number of elements in the array.
`data` | Actual data in the field, or property value.

Message Field Type Indicators
Constant | Value | Comment
--- | --- | ---
    TIBEMS_NULL
    0
    TIBEMS_BOOL
    1
    TIBEMS_BYTE
    2
    TIBEMS_WCHAR
    3
| wide character; 2 bytes
    TIBEMS_SHORT
    4
    TIBEMS_INT
    5
    TIBEMS_LONG
    6
    TIBEMS_FLOAT
    7
    TIBEMS_DOUBLE
    8
    TIBEMS_UTF8
    9
| UTF8-encoded string
    TIBEMS_BYTES
    10
    TIBEMS_MAP_MSG
    11
    TIBEMS_STREAM_MSG
    12
    TIBEMS_SHORT_ARRAY
    20
    TIBEMS_INT_ARRAY
    21
    TIBEMS_LONG_ARRAY
    22
    TIBEMS_FLOAT_ARRAY
    23
    TIBEMS_DOUBLE_ARRAY
    24

Function | Description
--- | ---
`tibemsMsgField_Print` | Print a message field.
`tibemsMsgField_PrintToBuffer` | Print a message field into a buffer.

## See Also

`tibemsMapMsg_GetField`, listed at `tibemsMapMsg_Get`

`tibemsMsg_Get Property`

`tibemsStreamMsg_FreeField`

`tibemsStreamMsg_ReadField`

`tibemsMsgEnum_GetNextName`

Copyright © Cloud Software Group, Inc. All rights reserved.