tibrvMsgDataType

Type

Declaration

typedef enum {
    tibrvMsgData_Primitive,
    tibrvMsgData_MallocBlock,
    tibrvMsgData_SubMessage,
    tibrvMsgData_WireReference
} tibrvMsgDataType;

Purpose

Enumerate the types of low-level data references.

Remarks

This enumeration specifies the four low-level types of data reference that can be extracted from a message field. Decoders and converters create references to the data that they extract, and must inform the message of the type each time they create a reference. Internal functions use this type information to properly maintain references to the extracted data.

Value

Description

tibrvMsgData_Primitive

Extract primitive types by copying the data into the destination field struct.

The predefined set of primitive types is tibrv_bool, tibrv_f32, tibrv_f64, tibrv_i8, tibrv_i16, tibrv_i32, tibrv_i64, tibrv_u8, tibrv_u16, tibrv_u32, tibrv_u64, tibrv_ipaddr32, tibrv_ipport16, tibrvMsgDateTime.

tibrvMsgData_MallocBlock

Extract this type by allocating a block of storage associated with the message. To allocate the block, programs must call tibrvMsgData_Malloc() rather than malloc.

The predefined set of malloc block types includes all arrays. On EBCDIC architectures, it also includes EBCDIC strings.

tibrvMsgData_SubMessage

Extract this type by creating a new tibrvMsg object for the decoded data.

The only submessage type is tibrvMsg.

tibrvMsgData_WireReference

Extract this type by copying a pointer into the destination field struct; the pointer refers to a location within the wire buffer of the message.

The predefined set of wire reference types includes character strings, opaque byte sequences, and XML data.

See Also

Wire Format Datatypes

C Datatypes

tibrvMsgData_Converter

tibrvMsgData_Decoder

tibrvMsgData_Malloc()