UM C API 6.17.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Macros | Typedefs | Enumerations | Functions
lbmsdm.h File Reference

Ultra Messaging (UM) Self-Describing Message (SDM) API. The "lbmsdm.h" header file defines the APIs to create and parse Self-Describing Messages (SDM). The binary code is contained in the "lbm" library (dynamic on Unix: "liblbm.so", static on Unix: "liblbm.a", dynamic only on Windows: "lbm.dll"). There are also Java and .NET APIs. See Self Describing Messaging for general information on SDM. See UM C API for general information on the C API. See Fundamental Concepts for an introduction to Ultra Messaging. More...

`#include <stdlib.h>`
`#include <inttypes.h>`
`#include <sys/time.h>`

Go to the source code of this file.

## Data Structures
struct | lbmsdm_decimal_t_stct
| Structure to hold a scaled decimal number. A scaled decimal number consists of a mantissa and an exponent . It represents the value . More...

## Macros
#define | LBMSDMExpDLL
#define | LBMSDM_MAX_FIELD_NAME_LENGTH 255
| Maximum length of a field name.
#define | LBMSDM_TYPE_MODIFIER_ARRAY 0x0100

## Typedefs
typedef struct lbmsdm_msg_attr_t_stct | lbmsdm_msg_attr_t
| Message attributes object for SDM (opaque).
typedef struct lbmsdm_msg_t_stct | lbmsdm_msg_t
| Message object for SDM (opaque).
typedef uint16_t | lbmsdm_field_type_t
| Type definition for an SDM field type.
typedef struct lbmsdm_iter_t_stct | lbmsdm_iter_t
| Message iterator object for SDM (opaque).
typedef struct lbmsdm_decimal_t_stct | lbmsdm_decimal_t
| Structure to hold a scaled decimal number. A scaled decimal number consists of a mantissa and an exponent . It represents the value . More...

## Enumerations
enum |
| SDM field type definitions. More...
enum |
| SDM API function return codes. More...
enum |
| SDM error codes. More...

## Functions
LBMSDMExpDLL int | lbmsdm_errnum (void)
| Return the error number last encountered by this thread. More...
LBMSDMExpDLL const char * | lbmsdm_errmsg (void)
| Return an ASCII string containing the error message last encountered by this thread. More...
LBMSDMExpDLL int | lbmsdm_win32_static_init (void)
| Perform required initialization under Windows. This function needs to be called before any other LBM SDM API function, but only when using the static version of the LBM SDM library on Windows. More...
LBMSDMExpDLL int | lbmsdm_msg_create (lbmsdm_msg_t **Message)
| Create an SDM message to be filled in and sent. More...
LBMSDMExpDLL int | lbmsdm_msg_create_ex (lbmsdm_msg_t **Message, const lbmsdm_msg_attr_t *Attributes)
| Create an SDM message to be filled in and sent, with options. More...
LBMSDMExpDLL int | lbmsdm_msg_parse (lbmsdm_msg_t **Message, const char *Data, size_t Length)
| Create an SDM message to be parsed and processed from an existing buffer. More...
LBMSDMExpDLL int | lbmsdm_msg_parse_ex (lbmsdm_msg_t **Message, const char *Data, size_t Length, const lbmsdm_msg_attr_t *Attributes)
| Create an SDM message to be parsed and processed from an existing buffer, with options. More...
LBMSDMExpDLL int | lbmsdm_msg_parse_reuse (lbmsdm_msg_t *Message, const char *Data, size_t Length)
| Create an SDM message to be parsed and processed from an existing buffer, using an already-existing lbmsdm_msg_t structure. More...
LBMSDMExpDLL int | lbmsdm_msg_clone (lbmsdm_msg_t **Message, const lbmsdm_msg_t *Original)
| Clone an existing SDM message. This function is not thread safe. More...
LBMSDMExpDLL int | lbmsdm_msg_clear (lbmsdm_msg_t *Message)
| Clear an SDM message, deleting all fields in the message. More...
LBMSDMExpDLL int | lbmsdm_msg_destroy (lbmsdm_msg_t *Message)
| Destroy an SDM message object. More...
LBMSDMExpDLL int | lbmsdm_msg_dump (lbmsdm_msg_t *Message, char *Buffer, size_t Size)
| Dump a message into a printable string. More...
LBMSDMExpDLL int | lbmsdm_msg_add_boolean (lbmsdm_msg_t *Message, const char *Name, uint8_t Value)
| Add a field to a message. More...
LBMSDMExpDLL int | lbmsdm_msg_add_int8 (lbmsdm_msg_t *Message, const char *Name, int8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint8 (lbmsdm_msg_t *Message, const char *Name, uint8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_int16 (lbmsdm_msg_t *Message, const char *Name, int16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint16 (lbmsdm_msg_t *Message, const char *Name, uint16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_int32 (lbmsdm_msg_t *Message, const char *Name, int32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint32 (lbmsdm_msg_t *Message, const char *Name, uint32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_int64 (lbmsdm_msg_t *Message, const char *Name, int64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint64 (lbmsdm_msg_t *Message, const char *Name, uint64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_float (lbmsdm_msg_t *Message, const char *Name, float Value)
LBMSDMExpDLL int | lbmsdm_msg_add_double (lbmsdm_msg_t *Message, const char *Name, double Value)
LBMSDMExpDLL int | lbmsdm_msg_add_decimal (lbmsdm_msg_t *Message, const char *Name, const lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_timestamp (lbmsdm_msg_t *Message, const char *Name, const struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_message (lbmsdm_msg_t *Message, const char *Name, const lbmsdm_msg_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_string (lbmsdm_msg_t *Message, const char *Name, const char *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_unicode (lbmsdm_msg_t *Message, const char *Name, const wchar_t *Value, size_t Length)
| Add a unicode field to a message. More...
LBMSDMExpDLL int | lbmsdm_msg_add_blob (lbmsdm_msg_t *Message, const char *Name, const void *Value, size_t Length)
| Add a BLOB field to a message. More...
LBMSDMExpDLL int | lbmsdm_msg_add_boolean_array (lbmsdm_msg_t *Message, const char *Name)
| Add an array field to a message. More...
LBMSDMExpDLL int | lbmsdm_msg_add_int8_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_uint8_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_int16_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_uint16_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_int32_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_uint32_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_int64_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_uint64_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_float_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_double_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_decimal_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_timestamp_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_message_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_string_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_unicode_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_blob_array (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_add_boolean_elem_idx (lbmsdm_msg_t *Message, size_t Index, uint8_t Value)
| Set the value of an array field element in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_add_int8_elem_idx (lbmsdm_msg_t *Message, size_t Index, int8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint8_elem_idx (lbmsdm_msg_t *Message, size_t Index, uint8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_int16_elem_idx (lbmsdm_msg_t *Message, size_t Index, int16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint16_elem_idx (lbmsdm_msg_t *Message, size_t Index, uint16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_int32_elem_idx (lbmsdm_msg_t *Message, size_t Index, int32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint32_elem_idx (lbmsdm_msg_t *Message, size_t Index, uint32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_int64_elem_idx (lbmsdm_msg_t *Message, size_t Index, int64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint64_elem_idx (lbmsdm_msg_t *Message, size_t Index, uint64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_float_elem_idx (lbmsdm_msg_t *Message, size_t Index, float Value)
LBMSDMExpDLL int | lbmsdm_msg_add_double_elem_idx (lbmsdm_msg_t *Message, size_t Index, double Value)
LBMSDMExpDLL int | lbmsdm_msg_add_decimal_elem_idx (lbmsdm_msg_t *Message, size_t Index, const lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_timestamp_elem_idx (lbmsdm_msg_t *Message, size_t Index, const struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_message_elem_idx (lbmsdm_msg_t *Message, size_t Index, const lbmsdm_msg_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_string_elem_idx (lbmsdm_msg_t *Message, size_t Index, const char *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_unicode_elem_idx (lbmsdm_msg_t *Message, size_t Index, const wchar_t *Value, size_t Length)
| Set the value of a unicode array field element in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_add_blob_elem_idx (lbmsdm_msg_t *Message, size_t Index, const void *Value, size_t Length)
| Set the value of a blob array field element in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_add_boolean_elem_name (lbmsdm_msg_t *Message, const char *Name, uint8_t Value)
| Add an array field element in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_add_int8_elem_name (lbmsdm_msg_t *Message, const char *Name, int8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint8_elem_name (lbmsdm_msg_t *Message, const char *Name, uint8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_int16_elem_name (lbmsdm_msg_t *Message, const char *Name, int16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint16_elem_name (lbmsdm_msg_t *Message, const char *Name, uint16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_int32_elem_name (lbmsdm_msg_t *Message, const char *Name, int32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint32_elem_name (lbmsdm_msg_t *Message, const char *Name, uint32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_int64_elem_name (lbmsdm_msg_t *Message, const char *Name, int64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_uint64_elem_name (lbmsdm_msg_t *Message, const char *Name, uint64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_add_float_elem_name (lbmsdm_msg_t *Message, const char *Name, float Value)
LBMSDMExpDLL int | lbmsdm_msg_add_double_elem_name (lbmsdm_msg_t *Message, const char *Name, double Value)
LBMSDMExpDLL int | lbmsdm_msg_add_decimal_elem_name (lbmsdm_msg_t *Message, const char *Name, const lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_timestamp_elem_name (lbmsdm_msg_t *Message, const char *Name, const struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_message_elem_name (lbmsdm_msg_t *Message, const char *Name, const lbmsdm_msg_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_string_elem_name (lbmsdm_msg_t *Message, const char *Name, const char *Value)
LBMSDMExpDLL int | lbmsdm_msg_add_unicode_elem_name (lbmsdm_msg_t *Message, const char *Name, const wchar_t *Value, size_t Length)
| Add a unicode array field element in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_add_blob_elem_name (lbmsdm_msg_t *Message, const char *Name, const void *Value, size_t Length)
| Add a BLOB array field element in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_iter_add_boolean_elem (lbmsdm_iter_t *Iterator, uint8_t Value)
| Add an array field element in a message referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_add_int8_elem (lbmsdm_iter_t *Iterator, int8_t Value)
LBMSDMExpDLL int | lbmsdm_iter_add_uint8_elem (lbmsdm_iter_t *Iterator, uint8_t Value)
LBMSDMExpDLL int | lbmsdm_iter_add_int16_elem (lbmsdm_iter_t *Iterator, int16_t Value)
LBMSDMExpDLL int | lbmsdm_iter_add_uint16_elem (lbmsdm_iter_t *Iterator, uint16_t Value)
LBMSDMExpDLL int | lbmsdm_iter_add_int32_elem (lbmsdm_iter_t *Iterator, int32_t Value)
LBMSDMExpDLL int | lbmsdm_iter_add_uint32_elem (lbmsdm_iter_t *Iterator, uint32_t Value)
LBMSDMExpDLL int | lbmsdm_iter_add_int64_elem (lbmsdm_iter_t *Iterator, int64_t Value)
LBMSDMExpDLL int | lbmsdm_iter_add_uint64_elem (lbmsdm_iter_t *Iterator, uint64_t Value)
LBMSDMExpDLL int | lbmsdm_iter_add_float_elem (lbmsdm_iter_t *Iterator, float Value)
LBMSDMExpDLL int | lbmsdm_iter_add_double_elem (lbmsdm_iter_t *Iterator, double Value)
LBMSDMExpDLL int | lbmsdm_iter_add_decimal_elem (lbmsdm_iter_t *Iterator, const lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_add_timestamp_elem (lbmsdm_iter_t *Iterator, const struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_iter_add_message_elem (lbmsdm_iter_t *Iterator, const lbmsdm_msg_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_add_string_elem (lbmsdm_iter_t *Iterator, const char *Value)
LBMSDMExpDLL int | lbmsdm_iter_add_unicode_elem (lbmsdm_iter_t *Iterator, const wchar_t *Value, size_t Length)
| Add a unicode array field element in a message referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_add_blob_elem (lbmsdm_iter_t *Iterator, const void *Value, size_t Length)
| Add a BLOB array field element in a message referenced by an iterator. More...
LBMSDMExpDLL const char * | lbmsdm_msg_get_data (lbmsdm_msg_t *Message)
| Get the data buffer for a constructed message, after all fields have been added to the message. More...
LBMSDMExpDLL size_t | lbmsdm_msg_get_datalen (lbmsdm_msg_t *Message)
| Get the length of the data buffer for a constructed message, after all fields have been added to the message. More...
LBMSDMExpDLL int | lbmsdm_msg_get_fldcnt (lbmsdm_msg_t *Message)
| Get the number of fields in a message. More...
LBMSDMExpDLL int | lbmsdm_iter_create (lbmsdm_iter_t **Iterator, lbmsdm_msg_t *Message)
| Create an SDM message iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_destroy (lbmsdm_iter_t *Iterator)
| Destroy an SDM message iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_first (lbmsdm_iter_t *Iterator)
| Position an iterator to the first field in the message. More...
LBMSDMExpDLL int | lbmsdm_iter_next (lbmsdm_iter_t *Iterator)
| Position an iterator to the next field in the message. More...
LBMSDMExpDLL const char * | lbmsdm_msg_get_name_idx (lbmsdm_msg_t *Message, size_t Index)
| Get the name of a field in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_get_idx_name (lbmsdm_msg_t *Message, const char *Name)
| Get the index of a field in a message by field name. More...
LBMSDMExpDLL const char * | lbmsdm_iter_get_name (lbmsdm_iter_t *Iterator)
| Get the name of the current field for an iterator. More...
LBMSDMExpDLL lbmsdm_field_type_t | lbmsdm_msg_get_type_name (lbmsdm_msg_t *Message, const char *Name)
| Get the type of a field in a message by field name. More...
LBMSDMExpDLL lbmsdm_field_type_t | lbmsdm_msg_get_type_idx (lbmsdm_msg_t *Message, size_t Index)
| Get the type of a field in a message by field index. More...
LBMSDMExpDLL lbmsdm_field_type_t | lbmsdm_iter_get_type (lbmsdm_iter_t *Iterator)
| Get the type of the current field for an iterator. More...
LBMSDMExpDLL int | lbmsdm_msg_is_null_name (lbmsdm_msg_t *Message, const char *Name)
| Determine if a field in a message is null, by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_is_null_idx (lbmsdm_msg_t *Message, size_t Index)
| Determine if a field in a message is null, by field index. More...
LBMSDMExpDLL int | lbmsdm_iter_is_null (lbmsdm_iter_t *Iterator)
| Determine if the field referenced by an iterator is null. More...
LBMSDMExpDLL int | lbmsdm_msg_get_elemcnt_name (lbmsdm_msg_t *Message, const char *Name)
| Get the number of elements in an array field in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_get_elemcnt_idx (lbmsdm_msg_t *Message, size_t Index)
| Get the number of elements in an array field by field index. More...
LBMSDMExpDLL int | lbmsdm_iter_get_elemcnt (lbmsdm_iter_t *Iterator)
| Get the number of elements in the current array field for an iterator. More...
LBMSDMExpDLL int | lbmsdm_msg_get_len_name (lbmsdm_msg_t *Message, const char *Name)
| Get the length (in bytes) required for a field in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_get_len_idx (lbmsdm_msg_t *Message, size_t Index)
| Get the length (in bytes) required for a field in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_iter_get_len (lbmsdm_iter_t *Iterator)
| Get the length (in bytes) required for the current field for an iterator. More...
LBMSDMExpDLL int | lbmsdm_msg_get_elemlen_name (lbmsdm_msg_t *Message, const char *Name, size_t Element)
| Get the length (in bytes) required for an array field element in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_get_elemlen_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element)
| Get the length (in bytes) required for an array field element in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_iter_get_elemlen (lbmsdm_iter_t *Iterator, size_t Element)
| Get the length (in bytes) required for an element of the current array field for an iterator. More...
LBMSDMExpDLL int | lbmsdm_msg_get_boolean_idx (lbmsdm_msg_t *Message, size_t Index, uint8_t *Value)
| Fetch a field value from a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_get_int8_idx (lbmsdm_msg_t *Message, size_t Index, int8_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint8_idx (lbmsdm_msg_t *Message, size_t Index, uint8_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int16_idx (lbmsdm_msg_t *Message, size_t Index, int16_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint16_idx (lbmsdm_msg_t *Message, size_t Index, uint16_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int32_idx (lbmsdm_msg_t *Message, size_t Index, int32_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint32_idx (lbmsdm_msg_t *Message, size_t Index, uint32_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int64_idx (lbmsdm_msg_t *Message, size_t Index, int64_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint64_idx (lbmsdm_msg_t *Message, size_t Index, uint64_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_float_idx (lbmsdm_msg_t *Message, size_t Index, float *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_double_idx (lbmsdm_msg_t *Message, size_t Index, double *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_decimal_idx (lbmsdm_msg_t *Message, size_t Index, lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_timestamp_idx (lbmsdm_msg_t *Message, size_t Index, struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_message_idx (lbmsdm_msg_t *Message, size_t Index, lbmsdm_msg_t **Value)
LBMSDMExpDLL int | lbmsdm_msg_get_string_idx (lbmsdm_msg_t *Message, size_t Index, char *Value, size_t *Size)
| Fetch a string field value from a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_get_unicode_idx (lbmsdm_msg_t *Message, size_t Index, wchar_t *Value, size_t *Size)
| Fetch a unicode field value from a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_get_blob_idx (lbmsdm_msg_t *Message, size_t Index, void *Value, size_t *Size)
| Fetch a BLOB field value from a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_get_boolean_name (lbmsdm_msg_t *Message, const char *Name, uint8_t *Value)
| Fetch a field value from a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_get_int8_name (lbmsdm_msg_t *Message, const char *Name, int8_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint8_name (lbmsdm_msg_t *Message, const char *Name, uint8_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int16_name (lbmsdm_msg_t *Message, const char *Name, int16_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint16_name (lbmsdm_msg_t *Message, const char *Name, uint16_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int32_name (lbmsdm_msg_t *Message, const char *Name, int32_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint32_name (lbmsdm_msg_t *Message, const char *Name, uint32_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int64_name (lbmsdm_msg_t *Message, const char *Name, int64_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint64_name (lbmsdm_msg_t *Message, const char *Name, uint64_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_float_name (lbmsdm_msg_t *Message, const char *Name, float *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_double_name (lbmsdm_msg_t *Message, const char *Name, double *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_decimal_name (lbmsdm_msg_t *Message, const char *Name, lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_timestamp_name (lbmsdm_msg_t *Message, const char *Name, struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_message_name (lbmsdm_msg_t *Message, const char *Name, lbmsdm_msg_t **Value)
LBMSDMExpDLL int | lbmsdm_msg_get_string_name (lbmsdm_msg_t *Message, const char *Name, char *Value, size_t *Size)
| Fetch a string field value from a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_get_unicode_name (lbmsdm_msg_t *Message, const char *Name, wchar_t *Value, size_t *Size)
| Fetch a unicode field value from a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_get_blob_name (lbmsdm_msg_t *Message, const char *Name, void *Value, size_t *Size)
| Fetch a BLOB field value from a message by field name. More...
LBMSDMExpDLL int | lbmsdm_iter_get_boolean (lbmsdm_iter_t *Iterator, uint8_t *Value)
| Fetch a field value from the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_get_int8 (lbmsdm_iter_t *Iterator, int8_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_uint8 (lbmsdm_iter_t *Iterator, uint8_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_int16 (lbmsdm_iter_t *Iterator, int16_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_uint16 (lbmsdm_iter_t *Iterator, uint16_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_int32 (lbmsdm_iter_t *Iterator, int32_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_uint32 (lbmsdm_iter_t *Iterator, uint32_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_int64 (lbmsdm_iter_t *Iterator, int64_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_uint64 (lbmsdm_iter_t *Iterator, uint64_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_float (lbmsdm_iter_t *Iterator, float *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_double (lbmsdm_iter_t *Iterator, double *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_decimal (lbmsdm_iter_t *Iterator, lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_timestamp (lbmsdm_iter_t *Iterator, struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_message (lbmsdm_iter_t *Iterator, lbmsdm_msg_t **Value)
LBMSDMExpDLL int | lbmsdm_iter_get_string (lbmsdm_iter_t *Iterator, char *Value, size_t *Size)
| Fetch a string field value from the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_get_unicode (lbmsdm_iter_t *Iterator, wchar_t *Value, size_t *Size)
| Fetch a unicode field value from the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_get_blob (lbmsdm_iter_t *Iterator, void *Value, size_t *Size)
| Fetch a BLOB field value from the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_msg_get_boolean_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, uint8_t *Value)
| Fetch an array field element value from a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_get_int8_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, int8_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint8_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, uint8_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int16_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, int16_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint16_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, uint16_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int32_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, int32_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint32_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, uint32_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int64_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, int64_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint64_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, uint64_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_float_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, float *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_double_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, double *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_decimal_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_timestamp_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_message_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, lbmsdm_msg_t **Value)
LBMSDMExpDLL int | lbmsdm_msg_get_string_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, char *Value, size_t *Size)
| Fetch a string array field element value from a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_get_unicode_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, wchar_t *Value, size_t *Size)
| Fetch a unicode array field element value from a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_get_blob_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, void *Value, size_t *Size)
| Fetch a BLOB array field element value from a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_get_boolean_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, uint8_t *Value)
| Fetch an array field element value from a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_get_int8_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, int8_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint8_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, uint8_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int16_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, int16_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint16_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, uint16_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int32_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, int32_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint32_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, uint32_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_int64_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, int64_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_uint64_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, uint64_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_float_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, float *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_double_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, double *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_decimal_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_timestamp_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_get_message_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, lbmsdm_msg_t **Value)
LBMSDMExpDLL int | lbmsdm_msg_get_string_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, char *Value, size_t *Size)
| Fetch a string array field element value from a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_get_unicode_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, wchar_t *Value, size_t *Size)
| Fetch a unicode array field element value from a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_get_blob_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, void *Value, size_t *Size)
| Fetch a BLOB array field element value from a message by field name. More...
LBMSDMExpDLL int | lbmsdm_iter_get_boolean_elem (lbmsdm_iter_t *Iterator, size_t Element, uint8_t *Value)
| Fetch an array field element value from the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_get_int8_elem (lbmsdm_iter_t *Iterator, size_t Element, int8_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_uint8_elem (lbmsdm_iter_t *Iterator, size_t Element, uint8_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_int16_elem (lbmsdm_iter_t *Iterator, size_t Element, int16_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_uint16_elem (lbmsdm_iter_t *Iterator, size_t Element, uint16_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_int32_elem (lbmsdm_iter_t *Iterator, size_t Element, int32_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_uint32_elem (lbmsdm_iter_t *Iterator, size_t Element, uint32_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_int64_elem (lbmsdm_iter_t *Iterator, size_t Element, int64_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_uint64_elem (lbmsdm_iter_t *Iterator, size_t Element, uint64_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_float_elem (lbmsdm_iter_t *Iterator, size_t Element, float *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_double_elem (lbmsdm_iter_t *Iterator, size_t Element, double *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_decimal_elem (lbmsdm_iter_t *Iterator, size_t Element, lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_timestamp_elem (lbmsdm_iter_t *Iterator, size_t Element, struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_iter_get_message_elem (lbmsdm_iter_t *Iterator, size_t Element, lbmsdm_msg_t **Value)
LBMSDMExpDLL int | lbmsdm_iter_get_string_elem (lbmsdm_iter_t *Iterator, size_t Element, char *Value, size_t *Size)
| Fetch a string array field element value from the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_get_unicode_elem (lbmsdm_iter_t *Iterator, size_t Element, wchar_t *Value, size_t *Size)
| Fetch a unicode array field element value from the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_get_blob_elem (lbmsdm_iter_t *Iterator, size_t Element, void *Value, size_t *Size)
| Fetch a blob array field element value from the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_msg_set_null_name (lbmsdm_msg_t *Message, const char *Name)
| Set a field in a message to null, by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_set_null_idx (lbmsdm_msg_t *Message, size_t Index)
| Set a field in a message to null, by field index. More...
LBMSDMExpDLL int | lbmsdm_iter_set_null (lbmsdm_iter_t *Iterator)
| Set the field referenced by an iterator to null. More...
LBMSDMExpDLL int | lbmsdm_msg_set_boolean_idx (lbmsdm_msg_t *Message, size_t Index, uint8_t Value)
| Set a field value in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_set_int8_idx (lbmsdm_msg_t *Message, size_t Index, int8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint8_idx (lbmsdm_msg_t *Message, size_t Index, uint8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int16_idx (lbmsdm_msg_t *Message, size_t Index, int16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint16_idx (lbmsdm_msg_t *Message, size_t Index, uint16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int32_idx (lbmsdm_msg_t *Message, size_t Index, int32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint32_idx (lbmsdm_msg_t *Message, size_t Index, uint32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int64_idx (lbmsdm_msg_t *Message, size_t Index, int64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint64_idx (lbmsdm_msg_t *Message, size_t Index, uint64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_float_idx (lbmsdm_msg_t *Message, size_t Index, float Value)
LBMSDMExpDLL int | lbmsdm_msg_set_double_idx (lbmsdm_msg_t *Message, size_t Index, double Value)
LBMSDMExpDLL int | lbmsdm_msg_set_decimal_idx (lbmsdm_msg_t *Message, size_t Index, const lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_timestamp_idx (lbmsdm_msg_t *Message, size_t Index, const struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_message_idx (lbmsdm_msg_t *Message, size_t Index, const lbmsdm_msg_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_string_idx (lbmsdm_msg_t *Message, size_t Index, const char *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_unicode_idx (lbmsdm_msg_t *Message, size_t Index, const wchar_t *Value, size_t Length)
| Set a unicode field value in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_set_blob_idx (lbmsdm_msg_t *Message, size_t Index, const void *Value, size_t Length)
| Set a BLOB field value in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_set_boolean_name (lbmsdm_msg_t *Message, const char *Name, uint8_t Value)
| Set a field value in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_set_int8_name (lbmsdm_msg_t *Message, const char *Name, int8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint8_name (lbmsdm_msg_t *Message, const char *Name, uint8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int16_name (lbmsdm_msg_t *Message, const char *Name, int16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint16_name (lbmsdm_msg_t *Message, const char *Name, uint16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int32_name (lbmsdm_msg_t *Message, const char *Name, int32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint32_name (lbmsdm_msg_t *Message, const char *Name, uint32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int64_name (lbmsdm_msg_t *Message, const char *Name, int64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint64_name (lbmsdm_msg_t *Message, const char *Name, uint64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_float_name (lbmsdm_msg_t *Message, const char *Name, float Value)
LBMSDMExpDLL int | lbmsdm_msg_set_double_name (lbmsdm_msg_t *Message, const char *Name, double Value)
LBMSDMExpDLL int | lbmsdm_msg_set_decimal_name (lbmsdm_msg_t *Message, const char *Name, const lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_timestamp_name (lbmsdm_msg_t *Message, const char *Name, const struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_message_name (lbmsdm_msg_t *Message, const char *Name, const lbmsdm_msg_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_string_name (lbmsdm_msg_t *Message, const char *Name, const char *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_unicode_name (lbmsdm_msg_t *Message, const char *Name, const wchar_t *Value, size_t Length)
| Set a unicode field value in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_set_blob_name (lbmsdm_msg_t *Message, const char *Name, const void *Value, size_t Length)
| Set a BLOB field value in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_iter_set_boolean (lbmsdm_iter_t *Iterator, uint8_t Value)
| Set a field value in the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_set_int8 (lbmsdm_iter_t *Iterator, int8_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_uint8 (lbmsdm_iter_t *Iterator, uint8_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_int16 (lbmsdm_iter_t *Iterator, int16_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_uint16 (lbmsdm_iter_t *Iterator, uint16_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_int32 (lbmsdm_iter_t *Iterator, int32_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_uint32 (lbmsdm_iter_t *Iterator, uint32_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_int64 (lbmsdm_iter_t *Iterator, int64_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_uint64 (lbmsdm_iter_t *Iterator, uint64_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_float (lbmsdm_iter_t *Iterator, float Value)
LBMSDMExpDLL int | lbmsdm_iter_set_double (lbmsdm_iter_t *Iterator, double Value)
LBMSDMExpDLL int | lbmsdm_iter_set_decimal (lbmsdm_iter_t *Iterator, const lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_set_timestamp (lbmsdm_iter_t *Iterator, const struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_iter_set_message (lbmsdm_iter_t *Iterator, const lbmsdm_msg_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_set_string (lbmsdm_iter_t *Iterator, const char *Value)
LBMSDMExpDLL int | lbmsdm_iter_set_unicode (lbmsdm_iter_t *Iterator, const wchar_t *Value, size_t Length)
| Set a unicode field value in the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_set_blob (lbmsdm_iter_t *Iterator, const void *Value, size_t Length)
| Set a BLOB field value in the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_msg_set_boolean_array_idx (lbmsdm_msg_t *Message, size_t Index)
| Set a field in a message by field index to an array field. More...
LBMSDMExpDLL int | lbmsdm_msg_set_int8_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_uint8_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_int16_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_uint16_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_int32_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_uint32_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_int64_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_uint64_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_float_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_double_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_decimal_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_timestamp_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_message_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_string_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_unicode_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_blob_array_idx (lbmsdm_msg_t *Message, size_t Index)
LBMSDMExpDLL int | lbmsdm_msg_set_boolean_array_name (lbmsdm_msg_t *Message, const char *Name)
| Set a field in a message by field name to an array field. More...
LBMSDMExpDLL int | lbmsdm_msg_set_int8_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_uint8_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_int16_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_uint16_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_int32_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_uint32_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_int64_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_uint64_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_float_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_double_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_decimal_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_timestamp_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_message_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_string_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_unicode_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_msg_set_blob_array_name (lbmsdm_msg_t *Message, const char *Name)
LBMSDMExpDLL int | lbmsdm_iter_set_boolean_array (lbmsdm_iter_t *Iterator)
| Set a field in a message by field name to an array field. More...
LBMSDMExpDLL int | lbmsdm_iter_set_int8_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_uint8_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_int16_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_uint16_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_int32_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_uint32_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_int64_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_uint64_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_float_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_double_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_decimal_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_timestamp_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_message_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_string_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_unicode_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_iter_set_blob_array (lbmsdm_iter_t *Iterator)
LBMSDMExpDLL int | lbmsdm_msg_set_boolean_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, uint8_t Value)
| Set the value of an array field element in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_set_int8_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, int8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint8_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, uint8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int16_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, int16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint16_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, uint16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int32_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, int32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint32_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, uint32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int64_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, int64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint64_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, uint64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_float_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, float Value)
LBMSDMExpDLL int | lbmsdm_msg_set_double_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, double Value)
LBMSDMExpDLL int | lbmsdm_msg_set_decimal_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, const lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_timestamp_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, const struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_message_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, const lbmsdm_msg_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_string_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, const char *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_unicode_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, const wchar_t *Value, size_t Length)
| Set the value of a unicode array field element in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_set_blob_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element, const void *Value, size_t Length)
| Set the value of a BLOB array field element in a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_set_boolean_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, uint8_t Value)
| Set the value of an array field element in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_set_int8_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, int8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint8_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, uint8_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int16_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, int16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint16_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, uint16_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int32_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, int32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint32_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, uint32_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_int64_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, int64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_uint64_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, uint64_t Value)
LBMSDMExpDLL int | lbmsdm_msg_set_float_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, float Value)
LBMSDMExpDLL int | lbmsdm_msg_set_double_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, double Value)
LBMSDMExpDLL int | lbmsdm_msg_set_decimal_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, const lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_timestamp_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, const struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_message_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, const lbmsdm_msg_t *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_string_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, const char *Value)
LBMSDMExpDLL int | lbmsdm_msg_set_unicode_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, const wchar_t *Value, size_t Length)
| Set the value of a unicode array field element in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_msg_set_blob_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element, const void *Value, size_t Length)
| Set the value of a BLOB array field element in a message by field name. More...
LBMSDMExpDLL int | lbmsdm_iter_set_boolean_elem (lbmsdm_iter_t *Iterator, size_t Element, uint8_t Value)
| Set the value of an array field element in the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_set_int8_elem (lbmsdm_iter_t *Iterator, size_t Element, int8_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_uint8_elem (lbmsdm_iter_t *Iterator, size_t Element, uint8_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_int16_elem (lbmsdm_iter_t *Iterator, size_t Element, int16_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_uint16_elem (lbmsdm_iter_t *Iterator, size_t Element, uint16_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_int32_elem (lbmsdm_iter_t *Iterator, size_t Element, int32_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_uint32_elem (lbmsdm_iter_t *Iterator, size_t Element, uint32_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_int64_elem (lbmsdm_iter_t *Iterator, size_t Element, int64_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_uint64_elem (lbmsdm_iter_t *Iterator, size_t Element, uint64_t Value)
LBMSDMExpDLL int | lbmsdm_iter_set_float_elem (lbmsdm_iter_t *Iterator, size_t Element, float Value)
LBMSDMExpDLL int | lbmsdm_iter_set_double_elem (lbmsdm_iter_t *Iterator, size_t Element, double Value)
LBMSDMExpDLL int | lbmsdm_iter_set_decimal_elem (lbmsdm_iter_t *Iterator, size_t Element, const lbmsdm_decimal_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_set_timestamp_elem (lbmsdm_iter_t *Iterator, size_t Element, const struct timeval *Value)
LBMSDMExpDLL int | lbmsdm_iter_set_message_elem (lbmsdm_iter_t *Iterator, size_t Element, const lbmsdm_msg_t *Value)
LBMSDMExpDLL int | lbmsdm_iter_set_string_elem (lbmsdm_iter_t *Iterator, size_t Element, const char *Value)
LBMSDMExpDLL int | lbmsdm_iter_set_unicode_elem (lbmsdm_iter_t *Iterator, size_t Element, const wchar_t *Value, size_t Length)
| Set the value of a unicode array field element in the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_iter_set_blob_elem (lbmsdm_iter_t *Iterator, size_t Element, const void *Value, size_t Length)
| Set the value of a BLOB array field element in the field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_msg_del_idx (lbmsdm_msg_t *Message, size_t Index)
| Delete a field from a message by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_del_name (lbmsdm_msg_t *Message, const char *Name)
| Delete a field from a message by field name. More...
LBMSDMExpDLL int | lbmsdm_iter_del (lbmsdm_iter_t *Iterator)
| Delete a field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_msg_del_elem_idx (lbmsdm_msg_t *Message, size_t Index, size_t Element)
| Delete an element from an array field by field index. More...
LBMSDMExpDLL int | lbmsdm_msg_del_elem_name (lbmsdm_msg_t *Message, const char *Name, size_t Element)
| Delete an element from an array field by field name. More...
LBMSDMExpDLL int | lbmsdm_iter_del_elem (lbmsdm_iter_t *Iterator, size_t Element)
| Delete an element from an array field referenced by an iterator. More...
LBMSDMExpDLL int | lbmsdm_msg_attr_create (lbmsdm_msg_attr_t **Attributes)
| Create and fill an SDM message attribute object with the default values. More...
LBMSDMExpDLL int | lbmsdm_msg_attr_delete (lbmsdm_msg_attr_t *Attributes)
| Delete an SDM message attribute object. More...
LBMSDMExpDLL int | lbmsdm_msg_attr_dup (lbmsdm_msg_attr_t **Attributes, lbmsdm_msg_attr_t *Original)
| Duplicate an SDM message attribute object. More...
LBMSDMExpDLL int | lbmsdm_msg_attr_setopt (lbmsdm_msg_attr_t *Attributes, const char *Option, void *Value, size_t Length)
| Set an option for the given SDM message attribute object. More...
LBMSDMExpDLL int | lbmsdm_msg_attr_str_setopt (lbmsdm_msg_attr_t *Attributes, const char *Option, const char *Value)
| Set an option for the given SDM message attribute object using a string. More...
LBMSDMExpDLL int | lbmsdm_msg_attr_getopt (lbmsdm_msg_attr_t *Attributes, const char *Option, void *Value, size_t *Length)
| Retrieve the value of an option for the given SDM message attribute. More...
LBMSDMExpDLL int | lbmsdm_msg_attr_str_getopt (lbmsdm_msg_attr_t *Attributes, const char *Option, char *Value, size_t *Length)
| Retrieve the value of an option for the given SDM message attribute as a string. More...

## Detailed Description

Ultra Messaging (UM) Self-Describing Message (SDM) API. The "lbmsdm.h" header file defines the APIs to create and parse Self-Describing Messages (SDM). The binary code is contained in the "lbm" library (dynamic on Unix: "liblbm.so", static on Unix: "liblbm.a", dynamic only on Windows: "lbm.dll"). There are also Java and .NET APIs. See Self Describing Messaging for general information on SDM. See UM C API for general information on the C API. See Fundamental Concepts for an introduction to Ultra Messaging.

## Typedef Documentation

typedef struct lbmsdm_decimal_t_stct lbmsdm_decimal_t

Structure to hold a scaled decimal number. A scaled decimal number consists of a mantissa and an exponent . It represents the value .

The mantissa is represented as a 64-bit signed integer. The exponent is represented as an 8-bit signed integer, and can range from -128 to 127.

## Enumeration Type Documentation

anonymous enum

SDM field type definitions.

Enumerator
LBMSDM_TYPE_INVALID | SDM field type: Type is invalid.
LBMSDM_TYPE_BOOLEAN | SDM field type: Boolean (non-zero is true, zero is false).
LBMSDM_TYPE_INT8 | SDM field type: 8-bit signed integer.
LBMSDM_TYPE_UINT8 | SDM field type: 8-bit unsigned integer.
LBMSDM_TYPE_INT16 | SDM field type: 16-bit signed integer.
LBMSDM_TYPE_UINT16 | SDM field type: 16-bit unsigned integer.
LBMSDM_TYPE_INT32 | SDM field type: 32-bit signed integer.
LBMSDM_TYPE_UINT32 | SDM field type: 32-bit unsigned integer.
LBMSDM_TYPE_INT64 | SDM field type: 64-bit signed integer.
LBMSDM_TYPE_UINT64 | SDM field type: 64-bit unsigned integer.
LBMSDM_TYPE_FLOAT | SDM field type: Single-precision floating point.
LBMSDM_TYPE_DOUBLE | SDM field type: Double-precision floating point.
LBMSDM_TYPE_DECIMAL | SDM field type: Decimal number.
LBMSDM_TYPE_TIMESTAMP | SDM field type: Seconds and microseconds since the epoch (UTC).
LBMSDM_TYPE_MESSAGE | SDM field type: Nested SDM message.
LBMSDM_TYPE_STRING | SDM field type: Character string (ASCIZ).
LBMSDM_TYPE_UNICODE | SDM field type: Unicode string.
LBMSDM_TYPE_BLOB | SDM field type: Binary Large Object (BLOB).
LBMSDM_TYPE_ARRAY_BOOLEAN | SDM field type: Array of Booleans (non-zero is true, zero is false).
LBMSDM_TYPE_ARRAY_INT8 | SDM field type: Array of 8-bit signed integers.
LBMSDM_TYPE_ARRAY_UINT8 | SDM field type: Array of 8-bit unsigned integers.
LBMSDM_TYPE_ARRAY_INT16 | SDM field type: Array of 16-bit signed integers.
LBMSDM_TYPE_ARRAY_UINT16 | SDM field type: Array of 16-bit unsigned integers.
LBMSDM_TYPE_ARRAY_INT32 | SDM field type: Array of 32-bit signed integers.
LBMSDM_TYPE_ARRAY_UINT32 | SDM field type: Array of 32-bit unsigned integers.
LBMSDM_TYPE_ARRAY_INT64 | SDM field type: Array of 64-bit signed integers.
LBMSDM_TYPE_ARRAY_UINT64 | SDM field type: Array of 64-bit unsigned integers.
LBMSDM_TYPE_ARRAY_FLOAT | SDM field type: Array of single-precision floating points.
LBMSDM_TYPE_ARRAY_DOUBLE | SDM field type: Array of double-precision floating points.
LBMSDM_TYPE_ARRAY_DECIMAL | SDM field type: Array of decimal numbers.
LBMSDM_TYPE_ARRAY_TIMESTAMP | SDM field type: Array of timestamps (seconds and microseconds since the epoch (UTC)).
LBMSDM_TYPE_ARRAY_MESSAGE | SDM field type: Array of nested SDM messages.
LBMSDM_TYPE_ARRAY_STRING | SDM field type: Array of character strings (ASCIZ).
LBMSDM_TYPE_ARRAY_UNICODE | SDM field type: Array of unicode strings.
LBMSDM_TYPE_ARRAY_BLOB | SDM field type: Array of Binary Large Objects (BLOB).

anonymous enum

SDM API function return codes.

Enumerator
LBMSDM_SUCCESS | SDM return code: Operation was successful.
LBMSDM_FAILURE | SDM return code: Operation failed. See lbmsdm_errnum() or lbmsdm_errmsg() for the reason.
LBMSDM_FIELD_IS_NULL | SDM return code: Field is null.
LBMSDM_NO_MORE_FIELDS | SDM return code: No more fields to iterate over.
LBMSDM_INSUFFICIENT_BUFFER_LENGTH | SDM return code: Insufficient buffer length given.

anonymous enum

SDM error codes.

Enumerator
LBMSDM_ERR_EINVAL | SDM error code: An invalid argument was passed.
LBMSDM_ERR_ENOMEM | SDM error code: Operation could not be completed due to memory allocation error.
LBMSDM_ERR_NAMETOOLONG | SDM error code: Field name is too long.
LBMSDM_ERR_DUPLICATE_FIELD | SDM error code: The field being added to the message already exists.
LBMSDM_ERR_BAD_TYPE | SDM error code: Invalid type.
LBMSDM_ERR_FIELD_NOT_FOUND | SDM error code: The field does not exist in the message.
LBMSDM_ERR_MSG_INVALID | SDM error code: The message is in an invalid form.
LBMSDM_ERR_CANNOT_CONVERT | SDM error code: The field can not be converted as requested.
LBMSDM_ERR_NOT_ARRAY | SDM error code: The field is not an array field.
LBMSDM_ERR_NOT_SCALAR | SDM error code: The field is not a scalar field.
LBMSDM_ERR_ELEMENT_NOT_FOUND | SDM error code: The specified array element does not exist.
LBMSDM_ERR_TYPE_NOT_SUPPORTED | SDM error code: The specified type is not supported.
LBMSDM_ERR_TYPE_MISMATCH | SDM error code: Type mismatch.
LBMSDM_ERR_UNICODE_CONVERSION | SDM error code: Unicode conversion error.
LBMSDM_ERR_FIELD_IS_NULL | SDM error code: Field is null.
LBMSDM_ERR_ADDING_FIELD | SDM error code: Unable to add field.
LBMSDM_ERR_ITERATOR_INVALID | SDM error code: Iterator doesn't reference a valid field.
LBMSDM_ERR_DELETING_FIELD | SDM error code: Error deleting a field.
LBMSDM_ERR_INVALID_FIELD_NAME | SDM error code: Invalid field name.

## Function Documentation

LBMSDMExpDLL const char* lbmsdm_errmsg | ( | void |  | ) |

Return an ASCII string containing the error message last encountered by this thread.

Returns
  Pointer to a static char array containing the error message.

LBMSDMExpDLL int lbmsdm_errnum | ( | void |  | ) |

Return the error number last encountered by this thread.

Returns
  Integer error number (see LBMSDM_ERROR_*).

LBMSDMExpDLL int lbmsdm_iter_create | ( | lbmsdm_iter_t ** | Iterator,
|  | lbmsdm_msg_t * | Message
| ) |  |

Create an SDM message iterator.

Parameters

  Iterator | A pointer to a pointer to an SDM iterator object. Will be filled in by this function to point to the newly created lbmsdm_iter_t object.
  Message | SDM message on which the iterator is to operate.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_iter_del | ( | lbmsdm_iter_t * | Iterator | ) |

Delete a field referenced by an iterator.

Parameters

  Iterator | The SDM iterator to use.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_iter_del_elem | ( | lbmsdm_iter_t * | Iterator,
|  | size_t | Element
| ) |  |

Delete an element from an array field referenced by an iterator.

Parameters

  Iterator | The SDM iterator to use.
  Element | Element to be deleted.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_iter_destroy | ( | lbmsdm_iter_t * | Iterator | ) |

Destroy an SDM message iterator.

Parameters

  Iterator | The lbmsdm_iter_t object to destroy.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_iter_first | ( | lbmsdm_iter_t * | Iterator | ) |

Position an iterator to the first field in the message.

Parameters

  Iterator | The iterator to position.

Return values

  LBMSDM_SUCCESS | if successful
  LBMSDM_NO_MORE_FIELDS | if no fields exist in the message
  LBMSDM_FAILURE | if the operation failed

LBMSDMExpDLL int lbmsdm_iter_get_elemcnt | ( | lbmsdm_iter_t * | Iterator | ) |

Get the number of elements in the current array field for an iterator.

Parameters

  Iterator | The SDM iterator.

Returns
  The number of elements in the array, or -1 if an error occurred.

Note
  Calling this function for a non-array field will return 1 for the number of elements.

LBMSDMExpDLL int lbmsdm_iter_get_elemlen | ( | lbmsdm_iter_t * | Iterator,
|  | size_t | Element
| ) |  |

Get the length (in bytes) required for an element of the current array field for an iterator.

Parameters

  Iterator | The SDM iterator.
  Element | Element index (zero-based).

Returns
  The number of bytes required to store the field, or -1 if an error occurred.

LBMSDMExpDLL int lbmsdm_iter_get_len | ( | lbmsdm_iter_t * | Iterator | ) |

Get the length (in bytes) required for the current field for an iterator.

Parameters

  Iterator | The SDM iterator.

Returns
  The number of bytes required to store the field, or -1 if an error occurred.

Note
  Calling this function for an array field will return -1.

See also
  lbmsdm_iter_get_field_array_size_index_elem()

LBMSDMExpDLL const char* lbmsdm_iter_get_name | ( | lbmsdm_iter_t * | Iterator | ) |

Get the name of the current field for an iterator.

Parameters

  Iterator | The SDM iterator.

Returns
  The field name, or `NULL` if an error occurred.

LBMSDMExpDLL lbmsdm_field_type_t lbmsdm_iter_get_type | ( | lbmsdm_iter_t * | Iterator | ) |

Get the type of the current field for an iterator.

Parameters

  Iterator | The SDM iterator.

Returns
  The field type, or LBMSDM_TYPE_INVALID if an error occurred.

LBMSDMExpDLL int lbmsdm_iter_is_null | ( | lbmsdm_iter_t * | Iterator | ) |

Determine if the field referenced by an iterator is null.

Parameters

  Iterator | The SDM iterator.

Return values

  1 | if the field is null.
  0 | if the field is present and not null.
  LBMSDM_FAILURE | if an error occurred.

LBMSDMExpDLL int lbmsdm_iter_next | ( | lbmsdm_iter_t * | Iterator | ) |

Position an iterator to the next field in the message.

Parameters

  Iterator | The iterator to position.

Return values

  LBMSDM_SUCCESS | if successful
  LBMSDM_NO_MORE_FIELDS | if no fields exist in the message
  LBMSDM_FAILURE | if the operation failed

LBMSDMExpDLL int lbmsdm_iter_set_null | ( | lbmsdm_iter_t * | Iterator | ) |

Set the field referenced by an iterator to null.

Parameters

  Iterator | The SDM iterator.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_attr_create | ( | lbmsdm_msg_attr_t ** | Attributes | ) |

Create and fill an SDM message attribute object with the default values.

The attribute object is allocated and filled in with the default values that are used by lbmsdm_msg_t objects.

Parameters

  Attributes | Pointer to a pointer to an SDM message attribute structure. Will be filled in by this function to point to the newly created lbmsdm_msg_attr_t object.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_attr_delete | ( | lbmsdm_msg_attr_t * | Attributes | ) |

Delete an SDM message attribute object.

The attribute object is cleaned up and deleted.

Parameters

  Attributes | Pointer to an SDM message attribute structure as returned by lbmsdm_msg_attr_create or lbmsdm_msg_attr_dup.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_attr_dup | ( | lbmsdm_msg_attr_t ** | Attributes,
|  | lbmsdm_msg_attr_t * | Original
| ) |  |

Duplicate an SDM message attribute object.

A new attribute object is created as a copy of an existing object.

Parameters

  Attributes | Pointer to a pointer to an SDM message attribute structure. Will be filled in by this function to point to the newly created lbmsdm_msg_attr_t object.
  Original | Pointer to an SDM message attribute structure as returned by lbmsdm_msg_attr_create or lbmsdm_msg_attr_dup, from which Attributes is initialized.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_attr_getopt | ( | lbmsdm_msg_attr_t * | Attributes,
|  | const char * | Option,
|  | void * | Value,
|  | size_t * | Length
| ) |  |

Retrieve the value of an option for the given SDM message attribute.

Parameters

  Attributes | Pointer to an SDM message attribute structure.
  Option | String containing the option name.
  Value | Pointer to the option value structure to be filled. The structure of the option value is specific to the option itself.
  Length | Length (in bytes) of the Value structure when passed in. Upon return, this is set to the actual size of the filled-in structure.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_attr_setopt | ( | lbmsdm_msg_attr_t * | Attributes,
|  | const char * | Option,
|  | void * | Value,
|  | size_t | Length
| ) |  |

Set an option for the given SDM message attribute object.

Used before the message is created. NOTE: the attribute object must first be created with lbmsdm_msg_attr_create or lbmsdm_msg_attr_dup.

Parameters

  Attributes | Pointer to an SDM message attribute structure.
  Option | String containing the option name.
  Value | Pointer to the option value structure. The structure of the option value is specific to the option itself.
  Length | Length (in bytes) of the Value structure.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_attr_str_getopt | ( | lbmsdm_msg_attr_t * | Attributes,
|  | const char * | Option,
|  | char * | Value,
|  | size_t * | Length
| ) |  |

Retrieve the value of an option for the given SDM message attribute as a string.

Parameters

  Attributes | Pointer to an SDM message attribute structure.
  Option | String containing the option name.
  Value | Pointer to the string to be filled in.
  Length | Maximum length (in bytes) of the Value string when passed in. Upon return, this is set to the size of the formatted string.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_attr_str_setopt | ( | lbmsdm_msg_attr_t * | Attributes,
|  | const char * | Option,
|  | const char * | Value
| ) |  |

Set an option for the given SDM message attribute object using a string.

Used before the message is created. NOTE: the attribute object must first be created with lbmsdm_msg_attr_create or lbmsdm_msg_attr_dup.

Parameters

  Attributes | Pointer to an SDM message attribute structure.
  Option | String containing the option name.
  Value | String containing the option value. The format of the string is specific to the option itself.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_clear | ( | lbmsdm_msg_t * | Message | ) |

Clear an SDM message, deleting all fields in the message.

Parameters

  Message | The SDM message to clear.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_clone | ( | lbmsdm_msg_t ** | Message,
|  | const lbmsdm_msg_t * | Original
| ) |  |

Clone an existing SDM message. This function is not thread safe.

Parameters

  Message | A pointer to a pointer to an SDM message object. Will be filled in by this function to point to the newly created lbmsdm_msg_t object.
  Original | The SDM message to be cloned.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_create | ( | lbmsdm_msg_t ** | Message | ) |

Create an SDM message to be filled in and sent.

Parameters

  Message | A pointer to a pointer to an SDM message object. Will be filled in by this function to point to the newly created lbmsdm_msg_t object.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_create_ex | ( | lbmsdm_msg_t ** | Message,
|  | const lbmsdm_msg_attr_t * | Attributes
| ) |  |

Create an SDM message to be filled in and sent, with options.

Parameters

  Message | A pointer to a pointer to an SDM message object. Will be filled in by this function to point to the newly created lbmsdm_msg_t object.
  Attributes | A pointer to an lbmsdm_msg_attr_t structure used to initialize the message options.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_del_elem_idx | ( | lbmsdm_msg_t * | Message,
|  | size_t | Index,
|  | size_t | Element
| ) |  |

Delete an element from an array field by field index.

Parameters

  Message | The SDM message containing the field.
  Index | Field index.
  Element | Element to be deleted.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_del_elem_name | ( | lbmsdm_msg_t * | Message,
|  | const char * | Name,
|  | size_t | Element
| ) |  |

Delete an element from an array field by field name.

Parameters

  Message | The SDM message containing the field.
  Name | Field name.
  Element | Element to be deleted.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_del_idx | ( | lbmsdm_msg_t * | Message,
|  | size_t | Index
| ) |  |

Delete a field from a message by field index.

Parameters

  Message | The SDM message containing the field.
  Index | Field index.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_del_name | ( | lbmsdm_msg_t * | Message,
|  | const char * | Name
| ) |  |

Delete a field from a message by field name.

Parameters

  Message | The SDM message containing the field.
  Name | Field name.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_destroy | ( | lbmsdm_msg_t * | Message | ) |

Destroy an SDM message object.

Parameters

  Message | The SDM message to destroy.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_dump | ( | lbmsdm_msg_t * | Message,
|  | char * | Buffer,
|  | size_t | Size
| ) |  |

Dump a message into a printable string.

Parameters

  Message | The SDM message to dump.
  Buffer | Buffer into which to dump the message.
  Size | Maximum size of Buffer.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

Note
  Buffer will be null-terminated. If Buffer isn't large enough to contain the entire message, it will be truncated to fit the available space. The values for unicode and BLOB fields will not formatted.

LBMSDMExpDLL const char* lbmsdm_msg_get_data | ( | lbmsdm_msg_t * | Message | ) |

Get the data buffer for a constructed message, after all fields have been added to the message.

Parameters

  Message | The SDM message.

Returns
  A pointer to the data buffer, or `NULL` if any error occurs.

Note
  The pointer returned by lbmsdm_msg_get_data is invalidated when the message is deleted (via lbmsdm_msg_destroy), any field is added to the message, any field is deleted from the message, or any field in the message is changed (either the field value or type). In other words, any time the message is changed, the pointer returned is no longer valid.

LBMSDMExpDLL size_t lbmsdm_msg_get_datalen | ( | lbmsdm_msg_t * | Message | ) |

Get the length of the data buffer for a constructed message, after all fields have been added to the message.

Parameters

  Message | The SDM message.

Returns
  The length of the data buffer, or 0 if any error occurs.

LBMSDMExpDLL int lbmsdm_msg_get_elemcnt_idx | ( | lbmsdm_msg_t * | Message,
|  | size_t | Index
| ) |  |

Get the number of elements in an array field by field index.

Parameters

  Message | The SDM message from which the array size is to be fetched.
  Index | Field index.

Returns
  The number of elements in the array, or -1 if an error occurred.

Note
  Calling this function for a non-array field will return 1 for the number of elements.

LBMSDMExpDLL int lbmsdm_msg_get_elemcnt_name | ( | lbmsdm_msg_t * | Message,
|  | const char * | Name
| ) |  |

Get the number of elements in an array field in a message by field name.

Parameters

  Message | The SDM message from which the array size is to be fetched.
  Name | Field name.

Returns
  The number of elements in the array, or -1 if an error occurred.

Note
  Calling this function for a non-array field will return 1 for the number of elements.

LBMSDMExpDLL int lbmsdm_msg_get_elemlen_idx | ( | lbmsdm_msg_t * | Message,
|  | size_t | Index,
|  | size_t | Element
| ) |  |

Get the length (in bytes) required for an array field element in a message by field index.

Parameters

  Message | The SDM message containing the field.
  Index | Field index.
  Element | Element index (zero-based).

Returns
  The number of bytes required to store the field, or -1 if an error occurred.

LBMSDMExpDLL int lbmsdm_msg_get_elemlen_name | ( | lbmsdm_msg_t * | Message,
|  | const char * | Name,
|  | size_t | Element
| ) |  |

Get the length (in bytes) required for an array field element in a message by field name.

Parameters

  Message | The SDM message containing the field.
  Name | Field name.
  Element | Element index (zero-based).

Returns
  The number of bytes required to store the field, or -1 if an error occurred.

LBMSDMExpDLL int lbmsdm_msg_get_fldcnt | ( | lbmsdm_msg_t * | Message | ) |

Get the number of fields in a message.

Parameters

  Message | The SDM message.

Returns
  The number of fields in the message, or -1 if an error occurs.

Note
  Only top-level fields are counted. If a message field exists within the message, the number of fields in the contained message are not counted. Instead, the message field counts as one field. Likewise, array fields contribute only 1 to the field count, not the number of elements in the field.

LBMSDMExpDLL int lbmsdm_msg_get_idx_name | ( | lbmsdm_msg_t * | Message,
|  | const char * | Name
| ) |  |

Get the index of a field in a message by field name.

Parameters

  Message | The SDM message from which the field name is to be fetched.
  Name | Field name.

Returns
  The field index, or `-1` if an error occurred.

LBMSDMExpDLL int lbmsdm_msg_get_len_idx | ( | lbmsdm_msg_t * | Message,
|  | size_t | Index
| ) |  |

Get the length (in bytes) required for a field in a message by field index.

Parameters

  Message | The SDM message containing the field.
  Index | Field index.

Returns
  The number of bytes required to store the field, or -1 if an error occurred.

Note
  Calling this function for an array field will return -1.

See also
  lbmsdm_msg_get_field_array_size_index_elem()

LBMSDMExpDLL int lbmsdm_msg_get_len_name | ( | lbmsdm_msg_t * | Message,
|  | const char * | Name
| ) |  |

Get the length (in bytes) required for a field in a message by field name.

Parameters

  Message | The SDM message containing the field.
  Name | Field name.

Returns
  The number of bytes required to store the field, or -1 if an error occurred.

Note
  Calling this function for an array field will return -1.

See also
  lbmsdm_msg_get_field_array_size_name_elem()

LBMSDMExpDLL const char* lbmsdm_msg_get_name_idx | ( | lbmsdm_msg_t * | Message,
|  | size_t | Index
| ) |  |

Get the name of a field in a message by field index.

Parameters

  Message | The SDM message from which the field name is to be fetched.
  Index | Field index.

Returns
  The field name, or `NULL` if an error occurred.

LBMSDMExpDLL lbmsdm_field_type_t lbmsdm_msg_get_type_idx | ( | lbmsdm_msg_t * | Message,
|  | size_t | Index
| ) |  |

Get the type of a field in a message by field index.

Parameters

  Message | The SDM message from which the field type is to be fetched.
  Index | Field index.

Returns
  The field type, or LBMSDM_TYPE_INVALID if an error occurred.

LBMSDMExpDLL lbmsdm_field_type_t lbmsdm_msg_get_type_name | ( | lbmsdm_msg_t * | Message,
|  | const char * | Name
| ) |  |

Get the type of a field in a message by field name.

Parameters

  Message | The SDM message from which the field type is to be fetched.
  Name | Field name.

Returns
  The field type, or LBMSDM_TYPE_INVALID if an error occurred.

LBMSDMExpDLL int lbmsdm_msg_is_null_idx | ( | lbmsdm_msg_t * | Message,
|  | size_t | Index
| ) |  |

Determine if a field in a message is null, by field index.

Parameters

  Message | The SDM message containing the field.
  Index | Field index.

Return values

  1 | if the field is null.
  0 | if the field is present and not null.
  LBMSDM_FAILURE | if an error occurred.

LBMSDMExpDLL int lbmsdm_msg_is_null_name | ( | lbmsdm_msg_t * | Message,
|  | const char * | Name
| ) |  |

Determine if a field in a message is null, by field name.

Parameters

  Message | The SDM message containing the field.
  Name | Field name.

Return values

  1 | if the field is null.
  0 | if the field is present and not null.
  LBMSDM_FAILURE | if an error occurred.

LBMSDMExpDLL int lbmsdm_msg_parse | ( | lbmsdm_msg_t ** | Message,
|  | const char * | Data,
|  | size_t | Length
| ) |  |

Create an SDM message to be parsed and processed from an existing buffer.

Parameters

  Message | A pointer to a pointer to an SDM message object. Will be filled in by this function to point to the newly created lbmsdm_msg_t object.
  Data | A pointer to the buffer from which the message should be constructed.
  Length | Length of Data.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_parse_ex | ( | lbmsdm_msg_t ** | Message,
|  | const char * | Data,
|  | size_t | Length,
|  | const lbmsdm_msg_attr_t * | Attributes
| ) |  |

Create an SDM message to be parsed and processed from an existing buffer, with options.

Parameters

  Message | A pointer to a pointer to an SDM message object. Will be filled in by this function to point to the newly created lbmsdm_msg_t object.
  Data | A pointer to the buffer from which the message should be constructed.
  Length | Length of Data.
  Attributes | A pointer to an lbmsdm_msg_attr_t structure used to initialize the message options.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_parse_reuse | ( | lbmsdm_msg_t * | Message,
|  | const char * | Data,
|  | size_t | Length
| ) |  |

Create an SDM message to be parsed and processed from an existing buffer, using an already-existing lbmsdm_msg_t structure.

Parameters

  Message | A pointer to an existing SDM message object, into which the message buffer is parsed. The message will be cleared before parsing.
  Data | A pointer to the buffer from which the message should be constructed.
  Length | Length of Data.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_set_null_idx | ( | lbmsdm_msg_t * | Message,
|  | size_t | Index
| ) |  |

Set a field in a message to null, by field index.

Parameters

  Message | The SDM message containing the field.
  Index | Field index.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_msg_set_null_name | ( | lbmsdm_msg_t * | Message,
|  | const char * | Name
| ) |  |

Set a field in a message to null, by field name.

Parameters

  Message | The SDM message containing the field.
  Name | Field name.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.

LBMSDMExpDLL int lbmsdm_win32_static_init | ( | void |  | ) |

Perform required initialization under Windows. This function needs to be called before any other LBM SDM API function, but only when using the static version of the LBM SDM library on Windows.

Returns
  LBMSDM_SUCCESS if successful, LBMSDM_FAILURE otherwise.