UM C API 6.17.1

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

- File List
- Globals

lbmsdm.h
Go to the documentation of this file.
1
17 /*
18 $Id: //UMprod/REL_6_17_1/29West/lbm/src/sdm/lbm/lbmsdm.h#1 $
19 All of the documentation and software included in this and any
20 other Informatica Inc. Ultra Messaging Releases
21 Copyright (C) Informatica Inc. All rights reserved.
22
23 Redistribution and use in source and binary forms, with or without
24 modification, are permitted only as covered by the terms of a
25 valid software license agreement with Informatica Inc.
26
27 (C) Copyright 2007,2025 Informatica Inc. All Rights Reserved.
28
29 THE SOFTWARE IS PROVIDED "AS IS" AND INFORMATICA DISCLAIMS ALL WARRANTIES
30 EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF
31 NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
32 PURPOSE. INFORMATICA DOES NOT WARRANT THAT USE OF THE SOFTWARE WILL BE
33 UNINTERRUPTED OR ERROR-FREE. INFORMATICA SHALL NOT, UNDER ANY CIRCUMSTANCES, BE
34 LIABLE TO LICENSEE FOR LOST PROFITS, CONSEQUENTIAL, INCIDENTAL, SPECIAL OR
35 INDIRECT DAMAGES ARISING OUT OF OR RELATED TO THIS AGREEMENT OR THE
36 TRANSACTIONS CONTEMPLATED HEREUNDER, EVEN IF INFORMATICA HAS BEEN APPRISED OF
37 THE LIKELIHOOD OF SUCH DAMAGES.
38
39 The LBM Self-Describing Message (SDM) API provides a framework for applications
40 to create and use messages containing self-describing data (name and type).
41 An SDM message contains one or more \b fields. Each field consists of:
42 - A name, limited to 255 characters in length. Field names are \em not case-sensitive.
43 So, "price" is the same as "Price" is the same as "PRICE".
44 - A type (discussed below).
45 - A value (particular to the field type).
46 Each named field may only appear once in a message. If multiple fields of the same name
47 and type are needed, create an array field. A field in a nested message \b may have the
48 same name as a field in the outer message, though.
49
50 \par Field types
51 The following field types (and arrays thereof) are supported by SDM:
52 <table>
53 <tr>
54 <td>Description</td>
55 <td>SDM Type</td>
56 <td>C Type</td>
57 </tr>
58 <tr>
59 <td>Boolean</td>
60 <td>::LBMSDM_TYPE_BOOLEAN</td>
61 <td><tt>uint8_t</tt></td>
62 </tr>
63 <tr>
64 <td>8-bit signed integer</td>
65 <td>::LBMSDM_TYPE_INT8</td>
66 <td><tt>int8_t</tt></td>
67 </tr>
68 <tr>
69 <td>8-bit unsigned integer</td>
70 <td>::LBMSDM_TYPE_UINT8</td>
71 <td><tt>uint8_t</tt></td>
72 </tr>
73 <tr>
74 <td>16-bit signed integer</td>
75 <td>::LBMSDM_TYPE_INT16</td>
76 <td><tt>int16_t</tt></td>
77 </tr>
78 <tr>
79 <td>16-bit unsigned integer</td>
80 <td>::LBMSDM_TYPE_UINT16</td>
81 <td><tt>uint16_t</tt></td>
82 </tr>
83 <tr>
84 <td>32-bit signed integer</td>
85 <td>::LBMSDM_TYPE_INT32</td>
86 <td><tt>int32_t</tt></td>
87 </tr>
88 <tr>
89 <td>32-bit unsigned integer</td>
90 <td>::LBMSDM_TYPE_UINT32</td>
91 <td><tt>uint32_t</tt></td>
92 </tr>
93 <tr>
94 <td>64-bit signed integer</td>
95 <td>::LBMSDM_TYPE_INT64</td>
96 <td><tt>int64_t</tt></td>
97 </tr>
98 <tr>
99 <td>64-bit unsigned integer</td>
100 <td>::LBMSDM_TYPE_UINT64</td>
101 <td><tt>uint64_t</tt></td>
102 </tr>
103 <tr>
104 <td>Single-precision floating point</td>
105 <td>::LBMSDM_TYPE_FLOAT</td>
106 <td><tt>float</tt></td>
107 </tr>
108 <tr>
109 <td>Double-precision floating point</td>
110 <td>::LBMSDM_TYPE_DOUBLE</td>
111 <td><tt>double</tt></td>
112 </tr>
113 <tr>
114 <td>String</td>
115 <td>::LBMSDM_TYPE_STRING</td>
116 <td><tt>char *</tt></td>
117 </tr>
118 <tr>
119 <td>Scaled decimal</td>
120 <td>::LBMSDM_TYPE_DECIMAL</td>
121 <td>::lbmsdm_decimal_t</td>
122 </tr>
123 <tr>
124 <td>Timestamp</td>
125 <td>::LBMSDM_TYPE_TIMESTAMP</td>
126 <td><tt>struct timeval</tt></td>
127 </tr>
128 <tr>
129 <td>Nested message</td>
130 <td>::LBMSDM_TYPE_MESSAGE</td>
131 <td>::lbmsdm_msg_t <tt>*</tt></td>
132 </tr>
133 <tr>
134 <td>Binary large object (BLOB)</td>
135 <td>::LBMSDM_TYPE_BLOB</td>
136 <td><tt>void *</tt></td>
137 </tr>
138 <tr>
139 <td>Unicode string</td>
140 <td>::LBMSDM_TYPE_UNICODE</td>
141 <td><tt>wchar_t *</tt></td>
142 </tr>
143 </table>
144 \par
145 Note that arrays are homogeneous.
146 All elements of an array must be of the same type.
147 An error is reported if an attempt is made to add an element of one type to
148 an array containing elements of a different type.
149 \par Building a message
150 A message must be created (via ::lbmsdm_msg_create() or ::lbmsdm_msg_parse())
151 before fields can be added.
152 \par
153 Once a field exists within a message,
154 it can be referenced in one of three ways:
155 - By the name associated with the field.
156 - By index. This refers to the sequential position of the field within a message.
157 The first field has index 0, the second has index 1, and so forth.
158 - By iterator. See below for more information on iterators.
159 \par Adding fields to a message
160 Scalar (non-array) fields are added to a message via the <tt>lbmsdm_msg_add_xxx()</tt>
161 API functions,
162 where <tt>xxx</tt> is the type of the field being added.
163 See the module \ref add for information on these functions.
164 \par
165 When adding a field, data of the appropriate type must be supplied.
166 As an example, to add a 32-bit signed integer field named "quantity" to a message:
167 \code
168 int32_t quant = 50;
169 int rc;
170 rc = lbmsdm_msg_add_int32(msg, "quantity", quant);
171 \endcode
172 \par
173 Alternatively,
174 literals may be used to specify the value.
175 The above example could also be coded as:
176 \code
177 rc = lbmsdm_msg_add_int32(msg, "quantity", 50);
178 \endcode
179 \par Adding array fields to a message
180 Array fields are added to a message in two steps.
181 First, the field itself is added via the <tt>lbmsdm_msg_add_xxx_array()</tt> API functions,
182 where <tt>xxx</tt> is the type of the field being added.
183 This does not provide a value for the field.
184 See the module \ref add_array for information on these functions.
185 \par
186 Second,
187 individual elements are added to the array field.
188 This is done via the <tt>lbmsdm_msg_add_xxx_elem_idx()</tt>,
189 <tt>lbmsdm_msg_add_xxx_elem_name()</tt>,
190 and <tt>lbmsdm_iter_add_xxx_elem()</tt> API functions.
191 See the modules \ref add_elem_idx, \ref add_elem_name, and \ref add_elem_iter
192 for detailed information on these functions.
193 \par
194 As an example,
195 the following code illustrates how to create a string array field,
196 and add 3 elements to it.
197 \code
198 rc = lbmsdm_msg_add_string_array(msg, "string_array");
199 rc = lbmsdm_msg_add_string_elem_name(msg, "string_array", "String1");
200 rc = lbmsdm_msg_add_string_elem_name(msg, "string_array", "String2");
201 rc = lbmsdm_msg_add_string_elem_name(msg, "string_array", "String3");
202 \endcode
203 \par Serializing the message
204 Once the SDM message is constructed, it must be serialized for transmission.
205 The API function ::lbmsdm_msg_get_data() returns a static pointer to a buffer
206 containing the serialized form of the message, suitable for transmission.
207 The length of the serialized data may be obtained via the API function
208 ::lbmsdm_msg_get_datalen().
209 For example, a constructed message may be sent by:
210 \code
211 rc = lbm_src_send(src, lbmsdm_msg_get_data(msg), lbmsdm_msg_get_length(msg), 0);
212 \endcode
213 \par
214 The pointer returned by ::lbmsdm_msg_get_data() is owned by the SDM API,
215 and will automatically be freed when the message is destroyed.
216 \par Deserializing a message
217 When a message is received, it must be deserialized so that individual fields can be
218 accessed. This is done via the ::lbmsdm_msg_parse() API function:
219 \code
220 lbmsdm_msg_t * sdmmsg;
221 rc = lbmsdm_msg_parse(&sdmmsg, lbmmsg->data, lbmmsg->len);
222 \endcode
223 \par Disposing of a message
224 Once an SDM message (created by either the ::lbmsdm_msg_create() or ::lbmsdm_msg_parse()
225 API calls) is no longer needed, it must be disposed of to avoid a resource leak.
226 This is done via the ::lbmsdm_msg_destroy() API call.
227 \par Retrieving field information
228 A number of API functions are available to retrieve information about individual fields.
229 - ::lbmsdm_msg_get_fldcnt() returns the number of fields in the message.
230 - ::lbmsdm_msg_get_name_idx() and ::lbmsdm_iter_get_name() return the field name
231 associated with the referenced field.
232 - ::lbmsdm_msg_get_type_name(), ::lbmsdm_msg_get_type_idx(), and
233 ::lbmsdm_iter_get_type() return the type of the referenced field.
234 - ::lbmsdm_msg_get_elemcnt_name(), ::lbmsdm_msg_get_elemcnt_idx(),
235 and ::lbmsdm_iter_get_elemcnt() return the number of elements in an
236 array field.
237 - ::lbmsdm_msg_get_len_name(), ::lbmsdm_msg_get_len_idx(), and
238 ::lbmsdm_iter_get_len() return the length (in bytes) required for a field.
239 - ::lbmsdm_msg_get_elemlen_name(), ::lbmsdm_msg_get_elemlen_idx(),
240 and ::lbmsdm_iter_get_elemlen() return the length (in bytes) for a specific
241 element in an array field.
242 \par Fetching fields from a message
243 When fetching a field from a message, the field may be referenced by name, by index,
244 or via an iterator.
245 \par
246 Scalar (non-array) fields may be retrieved via the <tt>lbmsdm_msg_get_xxx_name()</tt>,
247 <tt>lbmsdm_msg_get_xxx_idx()</tt>, or <tt>lbmsdm_iter_get_xxx()</tt> functions,
248 where <tt>xxx</tt> is the type the field value should be retrieved as.
249 The sections \ref get_scalar_name, \ref get_scalar_idx, and \ref get_scalar_iter contain
250 detailed information on these functions.
251 \par
252 Array field elements may be retrieved via the <tt>lbmsdm_msg_get_xxx_elem_name()</tt>,
253 <tt>lbmsdm_msg_get_xxx_elem_idx()</tt>, or <tt>lbmsdm_iter_get_xxx_elem()</tt> functions,
254 where <tt>xxx</tt> is the type the field element value should be retrieved as.
255 The sections \ref get_elem_name, \ref get_elem_idx, and \ref get_elem_iter contain
256 detailed information on these functions.
257 \par Type conversion
258 A limited form of automatic type conversion is provided.
259 Numeric-based fields are convertable to other numeric-based fields.
260 For example, a field defined as <tt>::LBMSDM_TYPE_BOOLEAN</tt> may be retrieved as
261 an <tt>::LBMSDM_TYPE_FLOAT</tt>.
262 The numeric types are:
263 <ul>
264 <li>boolean</li>
265 <li>int8</li>
266 <li>uint8</li>
267 <li>int16</li>
268 <li>uint16</li>
269 <li>int32</li>
270 <li>uint32</li>
271 <li>int64</li>
272 <li>uint64</li>
273 <li>float</li>
274 <li>double</li>
275 <li>decimal</li>
276 </ul>
277 Note that if the value being retrieved cannot be represented in the
278 type it is retrieved as, the result is not defined, but no error is
279 indicated. For example if a uint32 field with the value 300 is retrieved
280 as an int8, the result is not defined.
281 \par
282 Non-numeric types may not be converted to other types. The non-numeric types are:
283 <ul>
284 <li>string</li>
285 <li>unicode</li>
286 <li>timestamp</li>
287 <li>BLOB</li>
288 <li>message</li>
289 </ul>
290 \par
291 The above conversion rules apply also when retrieving array elements.
292 \par Fetching string, unicode, and BLOB values
293 When fetching a field or array element value as a string, unicode, or BLOB,
294 the data is copied into a buffer provided by the application.
295 In addition to the buffer,
296 the size of the buffer must be given.
297 The size is specified in bytes for string and BLOB fields,
298 and in <tt>wchar_t</tt>s for unicode fields.
299 If the size specified is too small for the data,
300 the error code ::LBMSDM_INSUFFICIENT_BUFFER_LENGTH is returned.
301 \par
302 \par Fetching message fields
303 When fetching the value of a message field,
304 a copy of the message is created (via ::lbmsdm_msg_clone()) and returned.
305 It is the application's responsibility to destroy the message (via ::lbmsdm_msg_destroy())
306 when it is no longer needed.
307 \par Modifying fields in a message
308 Existing fields in a message may be modified, both in terms of the field type and
309 field value.
310 For scalar (non-array) fields,
311 the <tt>lbmsdm_msg_set_xxx_idx()</tt>, <tt>lbmsdm_msg_set_xxx_name()</tt>,
312 and <tt>lbmsdm_iter_set_xxx()</tt> API functions may be used,
313 where <tt>xxx</tt> is the type to be assigned to the field.
314 See the sections \ref set_idx, \ref set_name, and \ref set_iter for information
315 on these functions.
316 \par
317 For array fields,
318 the <tt>lbmsdm_msg_set_xxx_array_idx()</tt>, <tt>lbmsdm_msg_set_xxx_array_name()</tt>,
319 and <tt>lbmsdm_iter_set_xxx_array()</tt> API functions may be used,
320 where <tt>xxx</tt> is the type to be assigned to the field.
321 See the sections \ref set_array_idx, \ref set_array_name, and \ref set_array_iter
322 for information on these functions.
323 As when adding an array field to a message,
324 once the field type has been set to an array type,
325 individual elements must be added to the array field.
326 \par
327 Individual elements of an array field may be modified via the <tt>lbmsdm_msg_set_xxx_elem_idx()</tt>,
328 <tt>lbmsdm_msg_set_xxx_elem_name()</tt>, and <tt>lbmsdm_iter_set_xxx_elem()</tt> API functions.
329 See the sections \ref set_elem_idx, \ref set_elem_name, and \ref set_elem_iter for
330 information on these functions.
331 Note that arrays must contain homogeneous elements,
332 so the type of an array element may not be changed,
333 and is considered an error.
334 \par Deleting fields from a message
335 A field may be deleted from a message via the ::lbmsdm_msg_del_idx(),
336 ::lbmsdm_msg_del_name(), and ::lbmsdm_iter_del() API calls.
337 Deleting a field will cause any fields following it to be moved down one position,
338 changing the index of those fields and potentially invalidating any iterators for
339 that message.
340 \par Deleting elements from an array field
341 Individual elements may be deleted from an array field via the ::lbmsdm_msg_del_elem_idx(),
342 ::lbmsdm_msg_del_elem_name(), and ::lbmsdm_iter_del_elem() API functions.
343 \par Null fields
344 SDM supports the concept of a \b null field.
345 A null field is present in the message,
346 but has no value associated with it.
347 Once added to a message,
348 a field may be set to null via the ::lbmsdm_msg_set_null_idx(), ::lbmsdm_msg_set_null_name(),
349 or ::lbmsdm_iter_set_null() API functions.
350 Setting the field (which may be either a scalar or array field) to null
351 removes any values currently associated with the field.
352 \par
353 The ::lbmsdm_msg_is_null_idx(), ::lbmsdm_msg_is_null_name(), and ::lbmsdm_iter_is_null()
354 API functions allow an application to determine if a given field is null.
355 \par
356 Attempting to retrieve a value or element value from a null field is not allowed,
357 and will return an error.
358 \par Iterators
359 A field iterator allows sequential operation on the fields of a message without requiring
360 the field name or index.
361 An iterator is created via ::lbmsdm_iter_create(),
362 the first field in a message is located via ::lbmsdm_iter_first(),
363 and the next field is located via ::lbmsdm_iter_next().
364 An iterator should be destroyed when no longer needed, using the ::lbmsdm_iter_destroy()
365 API call.
366 \par
367 Message fields may be queried, fetched, modified, and deleted via an iterator.
368 In each case,
369 the operation applies to the field currently referenced by the iterator.
370 \par Error information
371 All functions return a value to indicate the success of failure of the operation.
372 Most return ::LBMSDM_SUCCESS to indicate success, or ::LBMSDM_FAILURE otherwise.
373 Consult the individual function documentation for exceptions.
374 \par
375 The function ::lbmsdm_errnum() can be used to retrieve a detailed error code for the last
376 error encountered, while ::lbmsdm_errmsg() will return a descriptive error message.
377 \par Message Options
378 The performance of SDM can be tuned through the use of message options.
379 Options are contained within an attributes object (::lbmsdm_msg_attr_t),
380 which is created via ::lbmsdm_msg_attr_create().
381 When no longer needed,
382 an attributes object can be discarded by calling ::lbmsdm_msg_attr_delete().
383 Individual options within an attributes object can be set via ::lbmsdm_msg_attr_setopt()
384 and ::lbmsdm_msg_attr_str_setopt(),
385 and can be queried via ::lbmsdm_msg_attr_getopt() and ::lbmsdm_msg_attr_str_getopt().
386 A set of options can be specified at message creation time using ::lbmsdm_msg_create_ex()
387 and ::lbmsdm_msg_parse_ex().
388 \par
389 The following table lists the supported message options.
390 <table>
391 <tr>
392 <th>Option</th>
393 <th>Data type</th>
394 <th>Allowed values</th>
395 <th>Default</th>
396 <th>Description</th>
397 </tr>
398 <tr>
399 <th align="left"><tt>field_array_allocation</tt></th>
400 <td align="center"><tt>int</tt></td>
401 <td align="center">Any integer >= 0</td>
402 <td align="center">32</td>
403 <td>
404 Internally, SDM maintains an array of field entries within a message.
405 This option controls both the number of field entries initially allocated
406 when the message is created,
407 and the increment used when the array must be expanded when a field is added
408 but the array is full.
409 <p>
410 If it is known that a large number of fields will be added to a message,
411 setting this option to a larger value will result in a slight performance
412 boost,
413 since reallocation of the field array will occur less frequently.
414 </p>
415 <p>
416 Similarly,
417 if the number of fields to be added is small,
418 setting this option to a smaller value will effect a small savings in memory
419 usage (as well as reducing memory fragmentation).
420 </p>
421 </td>
422 </tr>
423 <tr>
424 <th align="left"><tt>name_tree</tt></th>
425 <td align="center"><tt>int</tt></td>
426 <td align="center">1 (enable) or 0 (disable)</td>
427 <td align="center">1</td>
428 <td>
429 In order to speed up access to fields by name,
430 a tree of field names is maintained for each message.
431 Maintenance of this tree
432 (such as when fields are added or deleted)
433 does incur some overhead.
434 <p>
435 In situations where fields are only added to a message
436 (and not retrieved),
437 this overhead can be eliminated by setting this option to <TT>0</TT>.
438 Be aware,
439 however,
440 that retrieving a field by name from a message for which the name
441 tree is disabled,
442 will degenerate to using a linear search of the field array to
443 locate the named field.
444 This can incur much more overhead than was saved by not using
445 the name tree.
446 </p>
447 <p>
448 In addition,
449 the use of the name tree allows SDM to detect
450 (and prevent)
451 the attempt to add two fields with the same name.
452 Disabling the name tree also disables this safeguard.
453 Further,
454 any attempts to parse a message with duplicate field names using
455 ::lbmsdm_msg_parse() or ::lbmsdm_msg_parse_ex() will fail
456 and return an error.
457 </p>
458 </td>
459 </tr>
460 <tr>
461 <th align="left"><tt>integer_index</tt></th>
462 <td align="center"><tt>int</tt></td>
463 <td align="center">1 (enable) or 0 (disable)</td>
464 <td align="center">0</td>
465 <td>
466 Some optimizations can be done within SDM if it is known that each field
467 name will be the string representation of a non-negative integer.
468 Rather than looking up by name,
469 each field name is used as the index of the field,
470 and name lookups can be faster.
471 <p>
472 This option requires each field name to be a string representation of a
473 non-negative integer.
474 Any attempts to add a field or parse a message containing a field name which
475 is not the string representation of a non-negative integer,
476 when this option is set,
477 will fail and return an error.
478 </p>
479 </td>
480 </tr>
481 </table>
482 \par
483 As an example,
484 the following code fragment creates an attributes object,
485 sets options,
486 get the options,
487 creates a message using the attributes object,
488 then destroys the attributes object.
489 For the sake of brevity,
490 error checking has been omitted,
491 as has the code to add fields to the message.
492 \code
493 lbmsdm_msg_attr_t * attr;
494 lbmsdm_msg_t * msg;
495 int name_tree;
496 int alloc_size;
497 char val_buf[256];
498 size_t val_len;
499
500 lbmsdm_msg_attr_create(&attr);
501
502 name_tree = 0;
503 lbmsdm_msg_attr_setopt(attr, "name_tree", (void *)&name_tree, sizeof(name_tree));
504 lbmsdm_msg_attr_str_setopt(attr, "field_array_allocation", "128");
505
506 val_len = sizeof(val_buf);
507 lbmsdm_msg_attr_str_getopt(attr, "name_tree", val_buf, &val_len);
508 printf("name_tree=%s\n", val_buf);
509 val_len = sizeof(alloc_size);
510 lbmsdm_msg_attr_getopt(attr, "field_array_allocation", (void *)&alloc_size, &val_len);
511 printf("field_array_allocation=%d\n", alloc_size);
512
513 lbmsdm_msg_create_ex(&msg, attr);
514
515 lbmsdm_msg_attr_delete(attr);
516 \endcode
517 */
518
519 #if !defined(LBMSDM_H_INCLUDED)
520 #define LBMSDM_H_INCLUDED
521
522 #if defined(__cplusplus)
523 extern "C" {
524 #endif
525
526 #include <stdlib.h>
527 #if defined(_WIN32)
528 #include <windows.h>
529 #include <winsock2.h>
530 #if !defined(DONT_TYPEDEF_INT_T)
531 typedef __int8 int8_t;
532 typedef __int16 int16_t;
533 typedef __int32 int32_t;
534 typedef __int64 int64_t;
535 #endif
536 typedef unsigned __int8 uint8_t;
537 typedef unsigned __int16 uint16_t;
538 typedef unsigned __int32 uint32_t;
539 typedef unsigned __int64 uint64_t;
540
541 #if (_MSC_VER < 1900)
542 /* C99 printf format macros missing from VC. */
543 #define PRId8 "d"
544 #define PRId16 "d"
545 #define PRId32 "d"
546 #define PRId64 "I64d"
547 #define PRIu8 "u"
548 #define PRIu16 "u"
549 #define PRIu32 "u"
550 #define PRIu64 "I64u"
551 #endif
552
553 #elif defined(__VMS)
554 #include <inttypes.h>
555 #define PRId8 "d"
556 #define PRId16 "d"
557 #define PRId32 "d"
558 #define PRId64 "lld"
559 #define PRIu8 "u"
560 #define PRIu16 "u"
561 #define PRIu32 "u"
562 #define PRIu64 "llu"
563 #else
564 #include <inttypes.h>
565 #include <sys/time.h>
566 #endif
567
568 /* Directives to show how we treat exporting functions with Windows from the DLL */
569 #if defined(_WIN32)
570 #if defined(_DLL) && defined(LBM_EXPORT_SYMS)
571 #define LBMSDMExpDLL __declspec(dllexport)
572 #elif defined(LBM_STATIC_LIB)
573 #define LBMSDMExpDLL
574 #else
575 #define LBMSDMExpDLL __declspec(dllimport)
576 #endif
577 #elif defined(__TANDEM)
578 #if defined(LBM_EXPORT_SYMS)
579 #define LBMSDMExpDLL export$
580 #else
581 #define LBMSDMExpDLL import$
582 #endif
583 #else
584 #define LBMSDMExpDLL
585 #endif
586
589 #define LBMSDM_MAX_FIELD_NAME_LENGTH 255
590
591 struct lbmsdm_msg_attr_t_stct;
594 typedef struct lbmsdm_msg_attr_t_stct lbmsdm_msg_attr_t;
595
596 struct lbmsdm_msg_t_stct;
599 typedef struct lbmsdm_msg_t_stct lbmsdm_msg_t;
600
603 typedef uint16_t lbmsdm_field_type_t;
604
605 struct lbmsdm_iter_t_stct;
608 typedef struct lbmsdm_iter_t_stct lbmsdm_iter_t;
609
610 #define LBMSDM_TYPE_MODIFIER_ARRAY 0x0100
611
613 enum
614 {
616 LBMSDM_TYPE_INVALID = 0,
618 LBMSDM_TYPE_BOOLEAN = 1,
620 LBMSDM_TYPE_INT8 = 2,
622 LBMSDM_TYPE_UINT8 = 3,
624 LBMSDM_TYPE_INT16 = 4,
626 LBMSDM_TYPE_UINT16 = 5,
628 LBMSDM_TYPE_INT32 = 6,
630 LBMSDM_TYPE_UINT32 = 7,
632 LBMSDM_TYPE_INT64 = 8,
634 LBMSDM_TYPE_UINT64 = 9,
636 LBMSDM_TYPE_FLOAT = 10,
638 LBMSDM_TYPE_DOUBLE = 11,
640 LBMSDM_TYPE_DECIMAL = 12,
642 LBMSDM_TYPE_TIMESTAMP = 13,
644 LBMSDM_TYPE_MESSAGE = 14,
646 LBMSDM_TYPE_STRING = 15,
648 LBMSDM_TYPE_UNICODE = 16,
650 LBMSDM_TYPE_BLOB = 17,
652 LBMSDM_TYPE_ARRAY_BOOLEAN = LBMSDM_TYPE_BOOLEAN | LBMSDM_TYPE_MODIFIER_ARRAY,
654 LBMSDM_TYPE_ARRAY_INT8 = LBMSDM_TYPE_INT8 | LBMSDM_TYPE_MODIFIER_ARRAY,
656 LBMSDM_TYPE_ARRAY_UINT8 = (LBMSDM_TYPE_UINT8 | LBMSDM_TYPE_MODIFIER_ARRAY),
658 LBMSDM_TYPE_ARRAY_INT16 = (LBMSDM_TYPE_INT16 | LBMSDM_TYPE_MODIFIER_ARRAY),
660 LBMSDM_TYPE_ARRAY_UINT16 = (LBMSDM_TYPE_UINT16 | LBMSDM_TYPE_MODIFIER_ARRAY),
662 LBMSDM_TYPE_ARRAY_INT32 = (LBMSDM_TYPE_INT32 | LBMSDM_TYPE_MODIFIER_ARRAY),
664 LBMSDM_TYPE_ARRAY_UINT32 = (LBMSDM_TYPE_UINT32 | LBMSDM_TYPE_MODIFIER_ARRAY),
666 LBMSDM_TYPE_ARRAY_INT64 = (LBMSDM_TYPE_INT64 | LBMSDM_TYPE_MODIFIER_ARRAY),
668 LBMSDM_TYPE_ARRAY_UINT64 = (LBMSDM_TYPE_UINT64 | LBMSDM_TYPE_MODIFIER_ARRAY),
670 LBMSDM_TYPE_ARRAY_FLOAT = (LBMSDM_TYPE_FLOAT | LBMSDM_TYPE_MODIFIER_ARRAY),
672 LBMSDM_TYPE_ARRAY_DOUBLE = (LBMSDM_TYPE_DOUBLE | LBMSDM_TYPE_MODIFIER_ARRAY),
674 LBMSDM_TYPE_ARRAY_DECIMAL = (LBMSDM_TYPE_DECIMAL | LBMSDM_TYPE_MODIFIER_ARRAY),
676 LBMSDM_TYPE_ARRAY_TIMESTAMP = (LBMSDM_TYPE_TIMESTAMP | LBMSDM_TYPE_MODIFIER_ARRAY),
678 LBMSDM_TYPE_ARRAY_MESSAGE = (LBMSDM_TYPE_MESSAGE | LBMSDM_TYPE_MODIFIER_ARRAY),
680 LBMSDM_TYPE_ARRAY_STRING = (LBMSDM_TYPE_STRING | LBMSDM_TYPE_MODIFIER_ARRAY),
682 LBMSDM_TYPE_ARRAY_UNICODE = (LBMSDM_TYPE_UNICODE | LBMSDM_TYPE_MODIFIER_ARRAY),
684 LBMSDM_TYPE_ARRAY_BLOB = (LBMSDM_TYPE_BLOB | LBMSDM_TYPE_MODIFIER_ARRAY)
685 };
686
689 enum
690 {
692 LBMSDM_SUCCESS = 0,
694 LBMSDM_FAILURE = -1,
696 LBMSDM_FIELD_IS_NULL = 1,
698 LBMSDM_NO_MORE_FIELDS = 2,
700 LBMSDM_INSUFFICIENT_BUFFER_LENGTH = 3
701 };
702
705 enum
706 {
708 LBMSDM_ERR_EINVAL = 1,
710 LBMSDM_ERR_ENOMEM,
712 LBMSDM_ERR_NAMETOOLONG,
714 LBMSDM_ERR_DUPLICATE_FIELD,
716 LBMSDM_ERR_BAD_TYPE,
718 LBMSDM_ERR_FIELD_NOT_FOUND,
720 LBMSDM_ERR_MSG_INVALID,
722 LBMSDM_ERR_CANNOT_CONVERT,
724 LBMSDM_ERR_NOT_ARRAY,
726 LBMSDM_ERR_NOT_SCALAR,
728 LBMSDM_ERR_ELEMENT_NOT_FOUND,
730 LBMSDM_ERR_TYPE_NOT_SUPPORTED,
732 LBMSDM_ERR_TYPE_MISMATCH,
734 LBMSDM_ERR_UNICODE_CONVERSION,
736 LBMSDM_ERR_FIELD_IS_NULL,
738 LBMSDM_ERR_ADDING_FIELD,
740 LBMSDM_ERR_ITERATOR_INVALID,
742 LBMSDM_ERR_DELETING_FIELD,
744 LBMSDM_ERR_INVALID_FIELD_NAME
745 };
746
755 typedef struct lbmsdm_decimal_t_stct
756 {
758 int64_t mant;
760 int8_t exp;
761 } lbmsdm_decimal_t;
762
766 LBMSDMExpDLL int lbmsdm_errnum(void);
767
772 LBMSDMExpDLL const char * lbmsdm_errmsg(void);
773
774 #if defined(_WIN32) || defined(DOXYGEN)
775
780 LBMSDMExpDLL int lbmsdm_win32_static_init(void);
781 #endif
782
789 LBMSDMExpDLL int lbmsdm_msg_create(lbmsdm_msg_t * * Message);
790
799 LBMSDMExpDLL int lbmsdm_msg_create_ex(lbmsdm_msg_t * * Message, const lbmsdm_msg_attr_t * Attributes);
800
809 LBMSDMExpDLL int lbmsdm_msg_parse(lbmsdm_msg_t * * Message, const char * Data, size_t Length);
810
821 LBMSDMExpDLL int lbmsdm_msg_parse_ex(lbmsdm_msg_t * * Message, const char * Data, size_t Length, const lbmsdm_msg_attr_t * Attributes);
822
832 LBMSDMExpDLL int lbmsdm_msg_parse_reuse(lbmsdm_msg_t * Message, const char * Data, size_t Length);
833
841 LBMSDMExpDLL int lbmsdm_msg_clone(lbmsdm_msg_t * * Message, const lbmsdm_msg_t * Original);
842
847 LBMSDMExpDLL int lbmsdm_msg_clear(lbmsdm_msg_t * Message);
848
853 LBMSDMExpDLL int lbmsdm_msg_destroy(lbmsdm_msg_t * Message);
854
864 LBMSDMExpDLL int lbmsdm_msg_dump(lbmsdm_msg_t * Message, char * Buffer, size_t Size);
865
877 LBMSDMExpDLL int lbmsdm_msg_add_boolean(lbmsdm_msg_t * Message, const char * Name, uint8_t Value);
878
882 LBMSDMExpDLL int lbmsdm_msg_add_int8(lbmsdm_msg_t * Message, const char * Name, int8_t Value);
883
887 LBMSDMExpDLL int lbmsdm_msg_add_uint8(lbmsdm_msg_t * Message, const char * Name, uint8_t Value);
888
892 LBMSDMExpDLL int lbmsdm_msg_add_int16(lbmsdm_msg_t * Message, const char * Name, int16_t Value);
893
897 LBMSDMExpDLL int lbmsdm_msg_add_uint16(lbmsdm_msg_t * Message, const char * Name, uint16_t Value);
898
902 LBMSDMExpDLL int lbmsdm_msg_add_int32(lbmsdm_msg_t * Message, const char * Name, int32_t Value);
903
907 LBMSDMExpDLL int lbmsdm_msg_add_uint32(lbmsdm_msg_t * Message, const char * Name, uint32_t Value);
908
912 LBMSDMExpDLL int lbmsdm_msg_add_int64(lbmsdm_msg_t * Message, const char * Name, int64_t Value);
913
917 LBMSDMExpDLL int lbmsdm_msg_add_uint64(lbmsdm_msg_t * Message, const char * Name, uint64_t Value);
918
922 LBMSDMExpDLL int lbmsdm_msg_add_float(lbmsdm_msg_t * Message, const char * Name, float Value);
923
927 LBMSDMExpDLL int lbmsdm_msg_add_double(lbmsdm_msg_t * Message, const char * Name, double Value);
928
932 LBMSDMExpDLL int lbmsdm_msg_add_decimal(lbmsdm_msg_t * Message, const char * Name, const lbmsdm_decimal_t * Value);
933
937 LBMSDMExpDLL int lbmsdm_msg_add_timestamp(lbmsdm_msg_t * Message, const char * Name, const struct timeval * Value);
938
942 LBMSDMExpDLL int lbmsdm_msg_add_message(lbmsdm_msg_t * Message, const char * Name, const lbmsdm_msg_t * Value);
943
947 LBMSDMExpDLL int lbmsdm_msg_add_string(lbmsdm_msg_t * Message, const char * Name, const char * Value);
948
957 LBMSDMExpDLL int lbmsdm_msg_add_unicode(lbmsdm_msg_t * Message, const char * Name, const wchar_t * Value, size_t Length);
958
967 LBMSDMExpDLL int lbmsdm_msg_add_blob(lbmsdm_msg_t * Message, const char * Name, const void * Value, size_t Length);
968
978 LBMSDMExpDLL int lbmsdm_msg_add_boolean_array(lbmsdm_msg_t * Message, const char * Name);
979
983 LBMSDMExpDLL int lbmsdm_msg_add_int8_array(lbmsdm_msg_t * Message, const char * Name);
984
988 LBMSDMExpDLL int lbmsdm_msg_add_uint8_array(lbmsdm_msg_t * Message, const char * Name);
989
993 LBMSDMExpDLL int lbmsdm_msg_add_int16_array(lbmsdm_msg_t * Message, const char * Name);
994
998 LBMSDMExpDLL int lbmsdm_msg_add_uint16_array(lbmsdm_msg_t * Message, const char * Name);
999
1003 LBMSDMExpDLL int lbmsdm_msg_add_int32_array(lbmsdm_msg_t * Message, const char * Name);
1004
1008 LBMSDMExpDLL int lbmsdm_msg_add_uint32_array(lbmsdm_msg_t * Message, const char * Name);
1009
1013 LBMSDMExpDLL int lbmsdm_msg_add_int64_array(lbmsdm_msg_t * Message, const char * Name);
1014
1018 LBMSDMExpDLL int lbmsdm_msg_add_uint64_array(lbmsdm_msg_t * Message, const char * Name);
1019
1023 LBMSDMExpDLL int lbmsdm_msg_add_float_array(lbmsdm_msg_t * Message, const char * Name);
1024
1028 LBMSDMExpDLL int lbmsdm_msg_add_double_array(lbmsdm_msg_t * Message, const char * Name);
1029
1033 LBMSDMExpDLL int lbmsdm_msg_add_decimal_array(lbmsdm_msg_t * Message, const char * Name);
1034
1038 LBMSDMExpDLL int lbmsdm_msg_add_timestamp_array(lbmsdm_msg_t * Message, const char * Name);
1039
1043 LBMSDMExpDLL int lbmsdm_msg_add_message_array(lbmsdm_msg_t * Message, const char * Name);
1044
1048 LBMSDMExpDLL int lbmsdm_msg_add_string_array(lbmsdm_msg_t * Message, const char * Name);
1049
1053 LBMSDMExpDLL int lbmsdm_msg_add_unicode_array(lbmsdm_msg_t * Message, const char * Name);
1054
1058 LBMSDMExpDLL int lbmsdm_msg_add_blob_array(lbmsdm_msg_t * Message, const char * Name);
1059
1071 LBMSDMExpDLL int lbmsdm_msg_add_boolean_elem_idx(lbmsdm_msg_t * Message, size_t Index, uint8_t Value);
1072
1076 LBMSDMExpDLL int lbmsdm_msg_add_int8_elem_idx(lbmsdm_msg_t * Message, size_t Index, int8_t Value);
1077
1081 LBMSDMExpDLL int lbmsdm_msg_add_uint8_elem_idx(lbmsdm_msg_t * Message, size_t Index, uint8_t Value);
1082
1086 LBMSDMExpDLL int lbmsdm_msg_add_int16_elem_idx(lbmsdm_msg_t * Message, size_t Index, int16_t Value);
1087
1091 LBMSDMExpDLL int lbmsdm_msg_add_uint16_elem_idx(lbmsdm_msg_t * Message, size_t Index, uint16_t Value);
1092
1096 LBMSDMExpDLL int lbmsdm_msg_add_int32_elem_idx(lbmsdm_msg_t * Message, size_t Index, int32_t Value);
1097
1101 LBMSDMExpDLL int lbmsdm_msg_add_uint32_elem_idx(lbmsdm_msg_t * Message, size_t Index, uint32_t Value);
1102
1106 LBMSDMExpDLL int lbmsdm_msg_add_int64_elem_idx(lbmsdm_msg_t * Message, size_t Index, int64_t Value);
1107
1111 LBMSDMExpDLL int lbmsdm_msg_add_uint64_elem_idx(lbmsdm_msg_t * Message, size_t Index, uint64_t Value);
1112
1116 LBMSDMExpDLL int lbmsdm_msg_add_float_elem_idx(lbmsdm_msg_t * Message, size_t Index, float Value);
1117
1121 LBMSDMExpDLL int lbmsdm_msg_add_double_elem_idx(lbmsdm_msg_t * Message, size_t Index, double Value);
1122
1126 LBMSDMExpDLL int lbmsdm_msg_add_decimal_elem_idx(lbmsdm_msg_t * Message, size_t Index, const lbmsdm_decimal_t * Value);
1127
1131 LBMSDMExpDLL int lbmsdm_msg_add_timestamp_elem_idx(lbmsdm_msg_t * Message, size_t Index, const struct timeval * Value);
1132
1136 LBMSDMExpDLL int lbmsdm_msg_add_message_elem_idx(lbmsdm_msg_t * Message, size_t Index, const lbmsdm_msg_t * Value);
1137
1141 LBMSDMExpDLL int lbmsdm_msg_add_string_elem_idx(lbmsdm_msg_t * Message, size_t Index, const char * Value);
1142
1151 LBMSDMExpDLL int lbmsdm_msg_add_unicode_elem_idx(lbmsdm_msg_t * Message, size_t Index, const wchar_t * Value, size_t Length);
1152
1161 LBMSDMExpDLL int lbmsdm_msg_add_blob_elem_idx(lbmsdm_msg_t * Message, size_t Index, const void * Value, size_t Length);
1162
1174 LBMSDMExpDLL int lbmsdm_msg_add_boolean_elem_name(lbmsdm_msg_t * Message, const char * Name, uint8_t Value);
1175
1179 LBMSDMExpDLL int lbmsdm_msg_add_int8_elem_name(lbmsdm_msg_t * Message, const char * Name, int8_t Value);
1180
1184 LBMSDMExpDLL int lbmsdm_msg_add_uint8_elem_name(lbmsdm_msg_t * Message, const char * Name, uint8_t Value);
1185
1189 LBMSDMExpDLL int lbmsdm_msg_add_int16_elem_name(lbmsdm_msg_t * Message, const char * Name, int16_t Value);
1190
1194 LBMSDMExpDLL int lbmsdm_msg_add_uint16_elem_name(lbmsdm_msg_t * Message, const char * Name, uint16_t Value);
1195
1199 LBMSDMExpDLL int lbmsdm_msg_add_int32_elem_name(lbmsdm_msg_t * Message, const char * Name, int32_t Value);
1200
1204 LBMSDMExpDLL int lbmsdm_msg_add_uint32_elem_name(lbmsdm_msg_t * Message, const char * Name, uint32_t Value);
1205
1209 LBMSDMExpDLL int lbmsdm_msg_add_int64_elem_name(lbmsdm_msg_t * Message, const char * Name, int64_t Value);
1210
1214 LBMSDMExpDLL int lbmsdm_msg_add_uint64_elem_name(lbmsdm_msg_t * Message, const char * Name, uint64_t Value);
1215
1219 LBMSDMExpDLL int lbmsdm_msg_add_float_elem_name(lbmsdm_msg_t * Message, const char * Name, float Value);
1220
1224 LBMSDMExpDLL int lbmsdm_msg_add_double_elem_name(lbmsdm_msg_t * Message, const char * Name, double Value);
1225
1229 LBMSDMExpDLL int lbmsdm_msg_add_decimal_elem_name(lbmsdm_msg_t * Message, const char * Name, const lbmsdm_decimal_t * Value);
1230
1234 LBMSDMExpDLL int lbmsdm_msg_add_timestamp_elem_name(lbmsdm_msg_t * Message, const char * Name, const struct timeval * Value);
1235
1239 LBMSDMExpDLL int lbmsdm_msg_add_message_elem_name(lbmsdm_msg_t * Message, const char * Name, const lbmsdm_msg_t * Value);
1240
1244 LBMSDMExpDLL int lbmsdm_msg_add_string_elem_name(lbmsdm_msg_t * Message, const char * Name, const char * Value);
1245
1254 LBMSDMExpDLL int lbmsdm_msg_add_unicode_elem_name(lbmsdm_msg_t * Message, const char * Name, const wchar_t * Value, size_t Length);
1255
1264 LBMSDMExpDLL int lbmsdm_msg_add_blob_elem_name(lbmsdm_msg_t * Message, const char * Name, const void * Value, size_t Length);
1265
1276 LBMSDMExpDLL int lbmsdm_iter_add_boolean_elem(lbmsdm_iter_t * Iterator, uint8_t Value);
1277
1281 LBMSDMExpDLL int lbmsdm_iter_add_int8_elem(lbmsdm_iter_t * Iterator, int8_t Value);
1282
1286 LBMSDMExpDLL int lbmsdm_iter_add_uint8_elem(lbmsdm_iter_t * Iterator, uint8_t Value);
1287
1291 LBMSDMExpDLL int lbmsdm_iter_add_int16_elem(lbmsdm_iter_t * Iterator, int16_t Value);
1292
1296 LBMSDMExpDLL int lbmsdm_iter_add_uint16_elem(lbmsdm_iter_t * Iterator, uint16_t Value);
1297
1301 LBMSDMExpDLL int lbmsdm_iter_add_int32_elem(lbmsdm_iter_t * Iterator, int32_t Value);
1302
1306 LBMSDMExpDLL int lbmsdm_iter_add_uint32_elem(lbmsdm_iter_t * Iterator, uint32_t Value);
1307
1311 LBMSDMExpDLL int lbmsdm_iter_add_int64_elem(lbmsdm_iter_t * Iterator, int64_t Value);
1312
1316 LBMSDMExpDLL int lbmsdm_iter_add_uint64_elem(lbmsdm_iter_t * Iterator, uint64_t Value);
1317
1321 LBMSDMExpDLL int lbmsdm_iter_add_float_elem(lbmsdm_iter_t * Iterator, float Value);
1322
1326 LBMSDMExpDLL int lbmsdm_iter_add_double_elem(lbmsdm_iter_t * Iterator, double Value);
1327
1331 LBMSDMExpDLL int lbmsdm_iter_add_decimal_elem(lbmsdm_iter_t * Iterator, const lbmsdm_decimal_t * Value);
1332
1336 LBMSDMExpDLL int lbmsdm_iter_add_timestamp_elem(lbmsdm_iter_t * Iterator, const struct timeval * Value);
1337
1341 LBMSDMExpDLL int lbmsdm_iter_add_message_elem(lbmsdm_iter_t * Iterator, const lbmsdm_msg_t * Value);
1342
1346 LBMSDMExpDLL int lbmsdm_iter_add_string_elem(lbmsdm_iter_t * Iterator, const char * Value);
1347
1355 LBMSDMExpDLL int lbmsdm_iter_add_unicode_elem(lbmsdm_iter_t * Iterator, const wchar_t * Value, size_t Length);
1356
1364 LBMSDMExpDLL int lbmsdm_iter_add_blob_elem(lbmsdm_iter_t * Iterator, const void * Value, size_t Length);
1365
1377 LBMSDMExpDLL const char * lbmsdm_msg_get_data(lbmsdm_msg_t * Message);
1378
1385 LBMSDMExpDLL size_t lbmsdm_msg_get_datalen(lbmsdm_msg_t * Message);
1386
1395 LBMSDMExpDLL int lbmsdm_msg_get_fldcnt(lbmsdm_msg_t * Message);
1396
1404 LBMSDMExpDLL int lbmsdm_iter_create(lbmsdm_iter_t * * Iterator, lbmsdm_msg_t * Message);
1405
1410 LBMSDMExpDLL int lbmsdm_iter_destroy(lbmsdm_iter_t * Iterator);
1411
1418 LBMSDMExpDLL int lbmsdm_iter_first(lbmsdm_iter_t * Iterator);
1419
1426 LBMSDMExpDLL int lbmsdm_iter_next(lbmsdm_iter_t * Iterator);
1427
1433 LBMSDMExpDLL const char * lbmsdm_msg_get_name_idx(lbmsdm_msg_t * Message, size_t Index);
1434
1440 LBMSDMExpDLL int lbmsdm_msg_get_idx_name(lbmsdm_msg_t * Message, const char * Name);
1441
1446 LBMSDMExpDLL const char * lbmsdm_iter_get_name(lbmsdm_iter_t * Iterator);
1447
1453 LBMSDMExpDLL lbmsdm_field_type_t lbmsdm_msg_get_type_name(lbmsdm_msg_t * Message, const char * Name);
1454
1460 LBMSDMExpDLL lbmsdm_field_type_t lbmsdm_msg_get_type_idx(lbmsdm_msg_t * Message, size_t Index);
1461
1466 LBMSDMExpDLL lbmsdm_field_type_t lbmsdm_iter_get_type(lbmsdm_iter_t * Iterator);
1467
1475 LBMSDMExpDLL int lbmsdm_msg_is_null_name(lbmsdm_msg_t * Message, const char * Name);
1476
1484 LBMSDMExpDLL int lbmsdm_msg_is_null_idx(lbmsdm_msg_t * Message, size_t Index);
1485
1492 LBMSDMExpDLL int lbmsdm_iter_is_null(lbmsdm_iter_t * Iterator);
1493
1501 LBMSDMExpDLL int lbmsdm_msg_get_elemcnt_name(lbmsdm_msg_t * Message, const char * Name);
1502
1510 LBMSDMExpDLL int lbmsdm_msg_get_elemcnt_idx(lbmsdm_msg_t * Message, size_t Index);
1511
1518 LBMSDMExpDLL int lbmsdm_iter_get_elemcnt(lbmsdm_iter_t * Iterator);
1519
1527 LBMSDMExpDLL int lbmsdm_msg_get_len_name(lbmsdm_msg_t * Message, const char * Name);
1528
1536 LBMSDMExpDLL int lbmsdm_msg_get_len_idx(lbmsdm_msg_t * Message, size_t Index);
1537
1544 LBMSDMExpDLL int lbmsdm_iter_get_len(lbmsdm_iter_t * Iterator);
1545
1552 LBMSDMExpDLL int lbmsdm_msg_get_elemlen_name(lbmsdm_msg_t * Message, const char * Name, size_t Element);
1553
1560 LBMSDMExpDLL int lbmsdm_msg_get_elemlen_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element);
1561
1567 LBMSDMExpDLL int lbmsdm_iter_get_elemlen(lbmsdm_iter_t * Iterator, size_t Element);
1568
1580 LBMSDMExpDLL int lbmsdm_msg_get_boolean_idx(lbmsdm_msg_t * Message, size_t Index, uint8_t * Value);
1581
1585 LBMSDMExpDLL int lbmsdm_msg_get_int8_idx(lbmsdm_msg_t * Message, size_t Index, int8_t * Value);
1586
1590 LBMSDMExpDLL int lbmsdm_msg_get_uint8_idx(lbmsdm_msg_t * Message, size_t Index, uint8_t * Value);
1591
1595 LBMSDMExpDLL int lbmsdm_msg_get_int16_idx(lbmsdm_msg_t * Message, size_t Index, int16_t * Value);
1596
1600 LBMSDMExpDLL int lbmsdm_msg_get_uint16_idx(lbmsdm_msg_t * Message, size_t Index, uint16_t * Value);
1601
1605 LBMSDMExpDLL int lbmsdm_msg_get_int32_idx(lbmsdm_msg_t * Message, size_t Index, int32_t * Value);
1606
1610 LBMSDMExpDLL int lbmsdm_msg_get_uint32_idx(lbmsdm_msg_t * Message, size_t Index, uint32_t * Value);
1611
1615 LBMSDMExpDLL int lbmsdm_msg_get_int64_idx(lbmsdm_msg_t * Message, size_t Index, int64_t * Value);
1616
1620 LBMSDMExpDLL int lbmsdm_msg_get_uint64_idx(lbmsdm_msg_t * Message, size_t Index, uint64_t * Value);
1621
1625 LBMSDMExpDLL int lbmsdm_msg_get_float_idx(lbmsdm_msg_t * Message, size_t Index, float * Value);
1626
1630 LBMSDMExpDLL int lbmsdm_msg_get_double_idx(lbmsdm_msg_t * Message, size_t Index, double * Value);
1631
1635 LBMSDMExpDLL int lbmsdm_msg_get_decimal_idx(lbmsdm_msg_t * Message, size_t Index, lbmsdm_decimal_t * Value);
1636
1640 LBMSDMExpDLL int lbmsdm_msg_get_timestamp_idx(lbmsdm_msg_t * Message, size_t Index, struct timeval * Value);
1641
1645 LBMSDMExpDLL int lbmsdm_msg_get_message_idx(lbmsdm_msg_t * Message, size_t Index, lbmsdm_msg_t * * Value);
1646
1661 LBMSDMExpDLL int lbmsdm_msg_get_string_idx(lbmsdm_msg_t * Message, size_t Index, char * Value, size_t * Size);
1662
1675 LBMSDMExpDLL int lbmsdm_msg_get_unicode_idx(lbmsdm_msg_t * Message, size_t Index, wchar_t * Value, size_t * Size);
1676
1689 LBMSDMExpDLL int lbmsdm_msg_get_blob_idx(lbmsdm_msg_t * Message, size_t Index, void * Value, size_t * Size);
1690
1702 LBMSDMExpDLL int lbmsdm_msg_get_boolean_name(lbmsdm_msg_t * Message, const char * Name, uint8_t * Value);
1703
1707 LBMSDMExpDLL int lbmsdm_msg_get_int8_name(lbmsdm_msg_t * Message, const char * Name, int8_t * Value);
1708
1712 LBMSDMExpDLL int lbmsdm_msg_get_uint8_name(lbmsdm_msg_t * Message, const char * Name, uint8_t * Value);
1713
1717 LBMSDMExpDLL int lbmsdm_msg_get_int16_name(lbmsdm_msg_t * Message, const char * Name, int16_t * Value);
1718
1722 LBMSDMExpDLL int lbmsdm_msg_get_uint16_name(lbmsdm_msg_t * Message, const char * Name, uint16_t * Value);
1723
1727 LBMSDMExpDLL int lbmsdm_msg_get_int32_name(lbmsdm_msg_t * Message, const char * Name, int32_t * Value);
1728
1732 LBMSDMExpDLL int lbmsdm_msg_get_uint32_name(lbmsdm_msg_t * Message, const char * Name, uint32_t * Value);
1733
1737 LBMSDMExpDLL int lbmsdm_msg_get_int64_name(lbmsdm_msg_t * Message, const char * Name, int64_t * Value);
1738
1742 LBMSDMExpDLL int lbmsdm_msg_get_uint64_name(lbmsdm_msg_t * Message, const char * Name, uint64_t * Value);
1743
1747 LBMSDMExpDLL int lbmsdm_msg_get_float_name(lbmsdm_msg_t * Message, const char * Name, float * Value);
1748
1752 LBMSDMExpDLL int lbmsdm_msg_get_double_name(lbmsdm_msg_t * Message, const char * Name, double * Value);
1753
1757 LBMSDMExpDLL int lbmsdm_msg_get_decimal_name(lbmsdm_msg_t * Message, const char * Name, lbmsdm_decimal_t * Value);
1758
1762 LBMSDMExpDLL int lbmsdm_msg_get_timestamp_name(lbmsdm_msg_t * Message, const char * Name, struct timeval * Value);
1763
1767 LBMSDMExpDLL int lbmsdm_msg_get_message_name(lbmsdm_msg_t * Message, const char * Name, lbmsdm_msg_t * * Value);
1768
1783 LBMSDMExpDLL int lbmsdm_msg_get_string_name(lbmsdm_msg_t * Message, const char * Name, char * Value, size_t * Size);
1784
1797 LBMSDMExpDLL int lbmsdm_msg_get_unicode_name(lbmsdm_msg_t * Message, const char * Name, wchar_t * Value, size_t * Size);
1798
1811 LBMSDMExpDLL int lbmsdm_msg_get_blob_name(lbmsdm_msg_t * Message, const char * Name, void * Value, size_t * Size);
1812
1823 LBMSDMExpDLL int lbmsdm_iter_get_boolean(lbmsdm_iter_t * Iterator, uint8_t * Value);
1824
1828 LBMSDMExpDLL int lbmsdm_iter_get_int8(lbmsdm_iter_t * Iterator, int8_t * Value);
1829
1833 LBMSDMExpDLL int lbmsdm_iter_get_uint8(lbmsdm_iter_t * Iterator, uint8_t * Value);
1834
1838 LBMSDMExpDLL int lbmsdm_iter_get_int16(lbmsdm_iter_t * Iterator, int16_t * Value);
1839
1843 LBMSDMExpDLL int lbmsdm_iter_get_uint16(lbmsdm_iter_t * Iterator, uint16_t * Value);
1844
1848 LBMSDMExpDLL int lbmsdm_iter_get_int32(lbmsdm_iter_t * Iterator, int32_t * Value);
1849
1853 LBMSDMExpDLL int lbmsdm_iter_get_uint32(lbmsdm_iter_t * Iterator, uint32_t * Value);
1854
1858 LBMSDMExpDLL int lbmsdm_iter_get_int64(lbmsdm_iter_t * Iterator, int64_t * Value);
1859
1863 LBMSDMExpDLL int lbmsdm_iter_get_uint64(lbmsdm_iter_t * Iterator, uint64_t * Value);
1864
1868 LBMSDMExpDLL int lbmsdm_iter_get_float(lbmsdm_iter_t * Iterator, float * Value);
1869
1873 LBMSDMExpDLL int lbmsdm_iter_get_double(lbmsdm_iter_t * Iterator, double * Value);
1874
1878 LBMSDMExpDLL int lbmsdm_iter_get_decimal(lbmsdm_iter_t * Iterator, lbmsdm_decimal_t * Value);
1879
1883 LBMSDMExpDLL int lbmsdm_iter_get_timestamp(lbmsdm_iter_t * Iterator, struct timeval * Value);
1884
1888 LBMSDMExpDLL int lbmsdm_iter_get_message(lbmsdm_iter_t * Iterator, lbmsdm_msg_t * * Value);
1889
1903 LBMSDMExpDLL int lbmsdm_iter_get_string(lbmsdm_iter_t * Iterator, char * Value, size_t * Size);
1904
1916 LBMSDMExpDLL int lbmsdm_iter_get_unicode(lbmsdm_iter_t * Iterator, wchar_t * Value, size_t * Size);
1917
1929 LBMSDMExpDLL int lbmsdm_iter_get_blob(lbmsdm_iter_t * Iterator, void * Value, size_t * Size);
1930
1943 LBMSDMExpDLL int lbmsdm_msg_get_boolean_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, uint8_t * Value);
1944
1948 LBMSDMExpDLL int lbmsdm_msg_get_int8_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, int8_t * Value);
1949
1953 LBMSDMExpDLL int lbmsdm_msg_get_uint8_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, uint8_t * Value);
1954
1958 LBMSDMExpDLL int lbmsdm_msg_get_int16_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, int16_t * Value);
1959
1963 LBMSDMExpDLL int lbmsdm_msg_get_uint16_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, uint16_t * Value);
1964
1968 LBMSDMExpDLL int lbmsdm_msg_get_int32_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, int32_t * Value);
1969
1973 LBMSDMExpDLL int lbmsdm_msg_get_uint32_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, uint32_t * Value);
1974
1978 LBMSDMExpDLL int lbmsdm_msg_get_int64_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, int64_t * Value);
1979
1983 LBMSDMExpDLL int lbmsdm_msg_get_uint64_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, uint64_t * Value);
1984
1988 LBMSDMExpDLL int lbmsdm_msg_get_float_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, float * Value);
1989
1993 LBMSDMExpDLL int lbmsdm_msg_get_double_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, double * Value);
1994
1998 LBMSDMExpDLL int lbmsdm_msg_get_decimal_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, lbmsdm_decimal_t * Value);
1999
2003 LBMSDMExpDLL int lbmsdm_msg_get_timestamp_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, struct timeval * Value);
2004
2008 LBMSDMExpDLL int lbmsdm_msg_get_message_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, lbmsdm_msg_t * * Value);
2009
2025 LBMSDMExpDLL int lbmsdm_msg_get_string_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, char * Value, size_t * Size);
2026
2040 LBMSDMExpDLL int lbmsdm_msg_get_unicode_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, wchar_t * Value, size_t * Size);
2041
2055 LBMSDMExpDLL int lbmsdm_msg_get_blob_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, void * Value, size_t * Size);
2056
2069 LBMSDMExpDLL int lbmsdm_msg_get_boolean_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, uint8_t * Value);
2070
2074 LBMSDMExpDLL int lbmsdm_msg_get_int8_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, int8_t * Value);
2075
2079 LBMSDMExpDLL int lbmsdm_msg_get_uint8_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, uint8_t * Value);
2080
2084 LBMSDMExpDLL int lbmsdm_msg_get_int16_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, int16_t * Value);
2085
2089 LBMSDMExpDLL int lbmsdm_msg_get_uint16_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, uint16_t * Value);
2090
2094 LBMSDMExpDLL int lbmsdm_msg_get_int32_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, int32_t * Value);
2095
2099 LBMSDMExpDLL int lbmsdm_msg_get_uint32_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, uint32_t * Value);
2100
2104 LBMSDMExpDLL int lbmsdm_msg_get_int64_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, int64_t * Value);
2105
2109 LBMSDMExpDLL int lbmsdm_msg_get_uint64_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, uint64_t * Value);
2110
2114 LBMSDMExpDLL int lbmsdm_msg_get_float_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, float * Value);
2115
2119 LBMSDMExpDLL int lbmsdm_msg_get_double_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, double * Value);
2120
2124 LBMSDMExpDLL int lbmsdm_msg_get_decimal_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, lbmsdm_decimal_t * Value);
2125
2129 LBMSDMExpDLL int lbmsdm_msg_get_timestamp_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, struct timeval * Value);
2130
2134 LBMSDMExpDLL int lbmsdm_msg_get_message_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, lbmsdm_msg_t * * Value);
2135
2151 LBMSDMExpDLL int lbmsdm_msg_get_string_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, char * Value, size_t * Size);
2152
2166 LBMSDMExpDLL int lbmsdm_msg_get_unicode_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, wchar_t * Value, size_t * Size);
2167
2181 LBMSDMExpDLL int lbmsdm_msg_get_blob_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, void * Value, size_t * Size);
2182
2183
2195 LBMSDMExpDLL int lbmsdm_iter_get_boolean_elem(lbmsdm_iter_t * Iterator, size_t Element, uint8_t * Value);
2196
2200 LBMSDMExpDLL int lbmsdm_iter_get_int8_elem(lbmsdm_iter_t * Iterator, size_t Element, int8_t * Value);
2201
2205 LBMSDMExpDLL int lbmsdm_iter_get_uint8_elem(lbmsdm_iter_t * Iterator, size_t Element, uint8_t * Value);
2206
2210 LBMSDMExpDLL int lbmsdm_iter_get_int16_elem(lbmsdm_iter_t * Iterator, size_t Element, int16_t * Value);
2211
2215 LBMSDMExpDLL int lbmsdm_iter_get_uint16_elem(lbmsdm_iter_t * Iterator, size_t Element, uint16_t * Value);
2216
2220 LBMSDMExpDLL int lbmsdm_iter_get_int32_elem(lbmsdm_iter_t * Iterator, size_t Element, int32_t * Value);
2221
2225 LBMSDMExpDLL int lbmsdm_iter_get_uint32_elem(lbmsdm_iter_t * Iterator, size_t Element, uint32_t * Value);
2226
2230 LBMSDMExpDLL int lbmsdm_iter_get_int64_elem(lbmsdm_iter_t * Iterator, size_t Element, int64_t * Value);
2231
2235 LBMSDMExpDLL int lbmsdm_iter_get_uint64_elem(lbmsdm_iter_t * Iterator, size_t Element, uint64_t * Value);
2236
2240 LBMSDMExpDLL int lbmsdm_iter_get_float_elem(lbmsdm_iter_t * Iterator, size_t Element, float * Value);
2241
2245 LBMSDMExpDLL int lbmsdm_iter_get_double_elem(lbmsdm_iter_t * Iterator, size_t Element, double * Value);
2246
2250 LBMSDMExpDLL int lbmsdm_iter_get_decimal_elem(lbmsdm_iter_t * Iterator, size_t Element, lbmsdm_decimal_t * Value);
2251
2255 LBMSDMExpDLL int lbmsdm_iter_get_timestamp_elem(lbmsdm_iter_t * Iterator, size_t Element, struct timeval * Value);
2256
2260 LBMSDMExpDLL int lbmsdm_iter_get_message_elem(lbmsdm_iter_t * Iterator, size_t Element, lbmsdm_msg_t * * Value);
2261
2276 LBMSDMExpDLL int lbmsdm_iter_get_string_elem(lbmsdm_iter_t * Iterator, size_t Element, char * Value, size_t * Size);
2277
2290 LBMSDMExpDLL int lbmsdm_iter_get_unicode_elem(lbmsdm_iter_t * Iterator, size_t Element, wchar_t * Value, size_t * Size);
2291
2304 LBMSDMExpDLL int lbmsdm_iter_get_blob_elem(lbmsdm_iter_t * Iterator, size_t Element, void * Value, size_t * Size);
2305
2311 LBMSDMExpDLL int lbmsdm_msg_set_null_name(lbmsdm_msg_t * Message, const char * Name);
2312
2318 LBMSDMExpDLL int lbmsdm_msg_set_null_idx(lbmsdm_msg_t * Message, size_t Index);
2319
2324 LBMSDMExpDLL int lbmsdm_iter_set_null(lbmsdm_iter_t * Iterator);
2325
2326
2339 LBMSDMExpDLL int lbmsdm_msg_set_boolean_idx(lbmsdm_msg_t * Message, size_t Index, uint8_t Value);
2340
2344 LBMSDMExpDLL int lbmsdm_msg_set_int8_idx(lbmsdm_msg_t * Message, size_t Index, int8_t Value);
2345
2349 LBMSDMExpDLL int lbmsdm_msg_set_uint8_idx(lbmsdm_msg_t * Message, size_t Index, uint8_t Value);
2350
2354 LBMSDMExpDLL int lbmsdm_msg_set_int16_idx(lbmsdm_msg_t * Message, size_t Index, int16_t Value);
2355
2359 LBMSDMExpDLL int lbmsdm_msg_set_uint16_idx(lbmsdm_msg_t * Message, size_t Index, uint16_t Value);
2360
2364 LBMSDMExpDLL int lbmsdm_msg_set_int32_idx(lbmsdm_msg_t * Message, size_t Index, int32_t Value);
2365
2369 LBMSDMExpDLL int lbmsdm_msg_set_uint32_idx(lbmsdm_msg_t * Message, size_t Index, uint32_t Value);
2370
2374 LBMSDMExpDLL int lbmsdm_msg_set_int64_idx(lbmsdm_msg_t * Message, size_t Index, int64_t Value);
2375
2379 LBMSDMExpDLL int lbmsdm_msg_set_uint64_idx(lbmsdm_msg_t * Message, size_t Index, uint64_t Value);
2380
2384 LBMSDMExpDLL int lbmsdm_msg_set_float_idx(lbmsdm_msg_t * Message, size_t Index, float Value);
2385
2389 LBMSDMExpDLL int lbmsdm_msg_set_double_idx(lbmsdm_msg_t * Message, size_t Index, double Value);
2390
2394 LBMSDMExpDLL int lbmsdm_msg_set_decimal_idx(lbmsdm_msg_t * Message, size_t Index, const lbmsdm_decimal_t * Value);
2395
2399 LBMSDMExpDLL int lbmsdm_msg_set_timestamp_idx(lbmsdm_msg_t * Message, size_t Index, const struct timeval * Value);
2400
2404 LBMSDMExpDLL int lbmsdm_msg_set_message_idx(lbmsdm_msg_t * Message, size_t Index, const lbmsdm_msg_t * Value);
2405
2409 LBMSDMExpDLL int lbmsdm_msg_set_string_idx(lbmsdm_msg_t * Message, size_t Index, const char * Value);
2410
2419 LBMSDMExpDLL int lbmsdm_msg_set_unicode_idx(lbmsdm_msg_t * Message, size_t Index, const wchar_t * Value, size_t Length);
2420
2429 LBMSDMExpDLL int lbmsdm_msg_set_blob_idx(lbmsdm_msg_t * Message, size_t Index, const void * Value, size_t Length);
2430
2443 LBMSDMExpDLL int lbmsdm_msg_set_boolean_name(lbmsdm_msg_t * Message, const char * Name, uint8_t Value);
2444
2448 LBMSDMExpDLL int lbmsdm_msg_set_int8_name(lbmsdm_msg_t * Message, const char * Name, int8_t Value);
2449
2453 LBMSDMExpDLL int lbmsdm_msg_set_uint8_name(lbmsdm_msg_t * Message, const char * Name, uint8_t Value);
2454
2458 LBMSDMExpDLL int lbmsdm_msg_set_int16_name(lbmsdm_msg_t * Message, const char * Name, int16_t Value);
2459
2463 LBMSDMExpDLL int lbmsdm_msg_set_uint16_name(lbmsdm_msg_t * Message, const char * Name, uint16_t Value);
2464
2468 LBMSDMExpDLL int lbmsdm_msg_set_int32_name(lbmsdm_msg_t * Message, const char * Name, int32_t Value);
2469
2473 LBMSDMExpDLL int lbmsdm_msg_set_uint32_name(lbmsdm_msg_t * Message, const char * Name, uint32_t Value);
2474
2478 LBMSDMExpDLL int lbmsdm_msg_set_int64_name(lbmsdm_msg_t * Message, const char * Name, int64_t Value);
2479
2483 LBMSDMExpDLL int lbmsdm_msg_set_uint64_name(lbmsdm_msg_t * Message, const char * Name, uint64_t Value);
2484
2488 LBMSDMExpDLL int lbmsdm_msg_set_float_name(lbmsdm_msg_t * Message, const char * Name, float Value);
2489
2493 LBMSDMExpDLL int lbmsdm_msg_set_double_name(lbmsdm_msg_t * Message, const char * Name, double Value);
2494
2498 LBMSDMExpDLL int lbmsdm_msg_set_decimal_name(lbmsdm_msg_t * Message, const char * Name, const lbmsdm_decimal_t * Value);
2499
2503 LBMSDMExpDLL int lbmsdm_msg_set_timestamp_name(lbmsdm_msg_t * Message, const char * Name, const struct timeval * Value);
2504
2508 LBMSDMExpDLL int lbmsdm_msg_set_message_name(lbmsdm_msg_t * Message, const char * Name, const lbmsdm_msg_t * Value);
2509
2513 LBMSDMExpDLL int lbmsdm_msg_set_string_name(lbmsdm_msg_t * Message, const char * Name, const char * Value);
2514
2523 LBMSDMExpDLL int lbmsdm_msg_set_unicode_name(lbmsdm_msg_t * Message, const char * Name, const wchar_t * Value, size_t Length);
2524
2533 LBMSDMExpDLL int lbmsdm_msg_set_blob_name(lbmsdm_msg_t * Message, const char * Name, const void * Value, size_t Length);
2534
2546 LBMSDMExpDLL int lbmsdm_iter_set_boolean(lbmsdm_iter_t * Iterator, uint8_t Value);
2547
2551 LBMSDMExpDLL int lbmsdm_iter_set_int8(lbmsdm_iter_t * Iterator, int8_t Value);
2552
2556 LBMSDMExpDLL int lbmsdm_iter_set_uint8(lbmsdm_iter_t * Iterator, uint8_t Value);
2557
2561 LBMSDMExpDLL int lbmsdm_iter_set_int16(lbmsdm_iter_t * Iterator, int16_t Value);
2562
2566 LBMSDMExpDLL int lbmsdm_iter_set_uint16(lbmsdm_iter_t * Iterator, uint16_t Value);
2567
2571 LBMSDMExpDLL int lbmsdm_iter_set_int32(lbmsdm_iter_t * Iterator, int32_t Value);
2572
2576 LBMSDMExpDLL int lbmsdm_iter_set_uint32(lbmsdm_iter_t * Iterator, uint32_t Value);
2577
2581 LBMSDMExpDLL int lbmsdm_iter_set_int64(lbmsdm_iter_t * Iterator, int64_t Value);
2582
2586 LBMSDMExpDLL int lbmsdm_iter_set_uint64(lbmsdm_iter_t * Iterator, uint64_t Value);
2587
2591 LBMSDMExpDLL int lbmsdm_iter_set_float(lbmsdm_iter_t * Iterator, float Value);
2592
2596 LBMSDMExpDLL int lbmsdm_iter_set_double(lbmsdm_iter_t * Iterator, double Value);
2597
2601 LBMSDMExpDLL int lbmsdm_iter_set_decimal(lbmsdm_iter_t * Iterator, const lbmsdm_decimal_t * Value);
2602
2606 LBMSDMExpDLL int lbmsdm_iter_set_timestamp(lbmsdm_iter_t * Iterator, const struct timeval * Value);
2607
2611 LBMSDMExpDLL int lbmsdm_iter_set_message(lbmsdm_iter_t * Iterator, const lbmsdm_msg_t * Value);
2612
2616 LBMSDMExpDLL int lbmsdm_iter_set_string(lbmsdm_iter_t * Iterator, const char * Value);
2617
2625 LBMSDMExpDLL int lbmsdm_iter_set_unicode(lbmsdm_iter_t * Iterator, const wchar_t * Value, size_t Length);
2626
2634 LBMSDMExpDLL int lbmsdm_iter_set_blob(lbmsdm_iter_t * Iterator, const void * Value, size_t Length);
2635
2646 LBMSDMExpDLL int lbmsdm_msg_set_boolean_array_idx(lbmsdm_msg_t * Message, size_t Index);
2647
2651 LBMSDMExpDLL int lbmsdm_msg_set_int8_array_idx(lbmsdm_msg_t * Message, size_t Index);
2652
2656 LBMSDMExpDLL int lbmsdm_msg_set_uint8_array_idx(lbmsdm_msg_t * Message, size_t Index);
2657
2661 LBMSDMExpDLL int lbmsdm_msg_set_int16_array_idx(lbmsdm_msg_t * Message, size_t Index);
2662
2666 LBMSDMExpDLL int lbmsdm_msg_set_uint16_array_idx(lbmsdm_msg_t * Message, size_t Index);
2667
2671 LBMSDMExpDLL int lbmsdm_msg_set_int32_array_idx(lbmsdm_msg_t * Message, size_t Index);
2672
2676 LBMSDMExpDLL int lbmsdm_msg_set_uint32_array_idx(lbmsdm_msg_t * Message, size_t Index);
2677
2681 LBMSDMExpDLL int lbmsdm_msg_set_int64_array_idx(lbmsdm_msg_t * Message, size_t Index);
2682
2686 LBMSDMExpDLL int lbmsdm_msg_set_uint64_array_idx(lbmsdm_msg_t * Message, size_t Index);
2687
2691 LBMSDMExpDLL int lbmsdm_msg_set_float_array_idx(lbmsdm_msg_t * Message, size_t Index);
2692
2696 LBMSDMExpDLL int lbmsdm_msg_set_double_array_idx(lbmsdm_msg_t * Message, size_t Index);
2697
2701 LBMSDMExpDLL int lbmsdm_msg_set_decimal_array_idx(lbmsdm_msg_t * Message, size_t Index);
2702
2706 LBMSDMExpDLL int lbmsdm_msg_set_timestamp_array_idx(lbmsdm_msg_t * Message, size_t Index);
2707
2711 LBMSDMExpDLL int lbmsdm_msg_set_message_array_idx(lbmsdm_msg_t * Message, size_t Index);
2712
2716 LBMSDMExpDLL int lbmsdm_msg_set_string_array_idx(lbmsdm_msg_t * Message, size_t Index);
2717
2721 LBMSDMExpDLL int lbmsdm_msg_set_unicode_array_idx(lbmsdm_msg_t * Message, size_t Index);
2722
2726 LBMSDMExpDLL int lbmsdm_msg_set_blob_array_idx(lbmsdm_msg_t * Message, size_t Index);
2727
2738 LBMSDMExpDLL int lbmsdm_msg_set_boolean_array_name(lbmsdm_msg_t * Message, const char * Name);
2739
2743 LBMSDMExpDLL int lbmsdm_msg_set_int8_array_name(lbmsdm_msg_t * Message, const char * Name);
2744
2748 LBMSDMExpDLL int lbmsdm_msg_set_uint8_array_name(lbmsdm_msg_t * Message, const char * Name);
2749
2753 LBMSDMExpDLL int lbmsdm_msg_set_int16_array_name(lbmsdm_msg_t * Message, const char * Name);
2754
2758 LBMSDMExpDLL int lbmsdm_msg_set_uint16_array_name(lbmsdm_msg_t * Message, const char * Name);
2759
2763 LBMSDMExpDLL int lbmsdm_msg_set_int32_array_name(lbmsdm_msg_t * Message, const char * Name);
2764
2768 LBMSDMExpDLL int lbmsdm_msg_set_uint32_array_name(lbmsdm_msg_t * Message, const char * Name);
2769
2773 LBMSDMExpDLL int lbmsdm_msg_set_int64_array_name(lbmsdm_msg_t * Message, const char * Name);
2774
2778 LBMSDMExpDLL int lbmsdm_msg_set_uint64_array_name(lbmsdm_msg_t * Message, const char * Name);
2779
2783 LBMSDMExpDLL int lbmsdm_msg_set_float_array_name(lbmsdm_msg_t * Message, const char * Name);
2784
2788 LBMSDMExpDLL int lbmsdm_msg_set_double_array_name(lbmsdm_msg_t * Message, const char * Name);
2789
2793 LBMSDMExpDLL int lbmsdm_msg_set_decimal_array_name(lbmsdm_msg_t * Message, const char * Name);
2794
2798 LBMSDMExpDLL int lbmsdm_msg_set_timestamp_array_name(lbmsdm_msg_t * Message, const char * Name);
2799
2803 LBMSDMExpDLL int lbmsdm_msg_set_message_array_name(lbmsdm_msg_t * Message, const char * Name);
2804
2808 LBMSDMExpDLL int lbmsdm_msg_set_string_array_name(lbmsdm_msg_t * Message, const char * Name);
2809
2813 LBMSDMExpDLL int lbmsdm_msg_set_unicode_array_name(lbmsdm_msg_t * Message, const char * Name);
2814
2818 LBMSDMExpDLL int lbmsdm_msg_set_blob_array_name(lbmsdm_msg_t * Message, const char * Name);
2819
2829 LBMSDMExpDLL int lbmsdm_iter_set_boolean_array(lbmsdm_iter_t * Iterator);
2830
2834 LBMSDMExpDLL int lbmsdm_iter_set_int8_array(lbmsdm_iter_t * Iterator);
2835
2839 LBMSDMExpDLL int lbmsdm_iter_set_uint8_array(lbmsdm_iter_t * Iterator);
2840
2844 LBMSDMExpDLL int lbmsdm_iter_set_int16_array(lbmsdm_iter_t * Iterator);
2845
2849 LBMSDMExpDLL int lbmsdm_iter_set_uint16_array(lbmsdm_iter_t * Iterator);
2850
2854 LBMSDMExpDLL int lbmsdm_iter_set_int32_array(lbmsdm_iter_t * Iterator);
2855
2859 LBMSDMExpDLL int lbmsdm_iter_set_uint32_array(lbmsdm_iter_t * Iterator);
2860
2864 LBMSDMExpDLL int lbmsdm_iter_set_int64_array(lbmsdm_iter_t * Iterator);
2865
2869 LBMSDMExpDLL int lbmsdm_iter_set_uint64_array(lbmsdm_iter_t * Iterator);
2870
2874 LBMSDMExpDLL int lbmsdm_iter_set_float_array(lbmsdm_iter_t * Iterator);
2875
2879 LBMSDMExpDLL int lbmsdm_iter_set_double_array(lbmsdm_iter_t * Iterator);
2880
2884 LBMSDMExpDLL int lbmsdm_iter_set_decimal_array(lbmsdm_iter_t * Iterator);
2885
2889 LBMSDMExpDLL int lbmsdm_iter_set_timestamp_array(lbmsdm_iter_t * Iterator);
2890
2894 LBMSDMExpDLL int lbmsdm_iter_set_message_array(lbmsdm_iter_t * Iterator);
2895
2899 LBMSDMExpDLL int lbmsdm_iter_set_string_array(lbmsdm_iter_t * Iterator);
2900
2904 LBMSDMExpDLL int lbmsdm_iter_set_unicode_array(lbmsdm_iter_t * Iterator);
2905
2909 LBMSDMExpDLL int lbmsdm_iter_set_blob_array(lbmsdm_iter_t * Iterator);
2910
2923 LBMSDMExpDLL int lbmsdm_msg_set_boolean_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, uint8_t Value);
2924
2928 LBMSDMExpDLL int lbmsdm_msg_set_int8_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, int8_t Value);
2929
2933 LBMSDMExpDLL int lbmsdm_msg_set_uint8_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, uint8_t Value);
2934
2938 LBMSDMExpDLL int lbmsdm_msg_set_int16_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, int16_t Value);
2939
2943 LBMSDMExpDLL int lbmsdm_msg_set_uint16_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, uint16_t Value);
2944
2948 LBMSDMExpDLL int lbmsdm_msg_set_int32_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, int32_t Value);
2949
2953 LBMSDMExpDLL int lbmsdm_msg_set_uint32_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, uint32_t Value);
2954
2958 LBMSDMExpDLL int lbmsdm_msg_set_int64_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, int64_t Value);
2959
2963 LBMSDMExpDLL int lbmsdm_msg_set_uint64_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, uint64_t Value);
2964
2968 LBMSDMExpDLL int lbmsdm_msg_set_float_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, float Value);
2969
2973 LBMSDMExpDLL int lbmsdm_msg_set_double_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, double Value);
2974
2978 LBMSDMExpDLL int lbmsdm_msg_set_decimal_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, const lbmsdm_decimal_t * Value);
2979
2983 LBMSDMExpDLL int lbmsdm_msg_set_timestamp_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, const struct timeval * Value);
2984
2988 LBMSDMExpDLL int lbmsdm_msg_set_message_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, const lbmsdm_msg_t * Value);
2989
2993 LBMSDMExpDLL int lbmsdm_msg_set_string_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, const char * Value);
2994
3004 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);
3005
3015 LBMSDMExpDLL int lbmsdm_msg_set_blob_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element, const void * Value, size_t Length);
3016
3029 LBMSDMExpDLL int lbmsdm_msg_set_boolean_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, uint8_t Value);
3030
3034 LBMSDMExpDLL int lbmsdm_msg_set_int8_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, int8_t Value);
3035
3039 LBMSDMExpDLL int lbmsdm_msg_set_uint8_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, uint8_t Value);
3040
3044 LBMSDMExpDLL int lbmsdm_msg_set_int16_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, int16_t Value);
3045
3049 LBMSDMExpDLL int lbmsdm_msg_set_uint16_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, uint16_t Value);
3050
3054 LBMSDMExpDLL int lbmsdm_msg_set_int32_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, int32_t Value);
3055
3059 LBMSDMExpDLL int lbmsdm_msg_set_uint32_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, uint32_t Value);
3060
3064 LBMSDMExpDLL int lbmsdm_msg_set_int64_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, int64_t Value);
3065
3069 LBMSDMExpDLL int lbmsdm_msg_set_uint64_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, uint64_t Value);
3070
3074 LBMSDMExpDLL int lbmsdm_msg_set_float_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, float Value);
3075
3079 LBMSDMExpDLL int lbmsdm_msg_set_double_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, double Value);
3080
3084 LBMSDMExpDLL int lbmsdm_msg_set_decimal_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, const lbmsdm_decimal_t * Value);
3085
3089 LBMSDMExpDLL int lbmsdm_msg_set_timestamp_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, const struct timeval * Value);
3090
3094 LBMSDMExpDLL int lbmsdm_msg_set_message_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, const lbmsdm_msg_t * Value);
3095
3099 LBMSDMExpDLL int lbmsdm_msg_set_string_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, const char * Value);
3100
3110 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);
3111
3121 LBMSDMExpDLL int lbmsdm_msg_set_blob_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element, const void * Value, size_t Length);
3122
3134 LBMSDMExpDLL int lbmsdm_iter_set_boolean_elem(lbmsdm_iter_t * Iterator, size_t Element, uint8_t Value);
3135
3139 LBMSDMExpDLL int lbmsdm_iter_set_int8_elem(lbmsdm_iter_t * Iterator, size_t Element, int8_t Value);
3140
3144 LBMSDMExpDLL int lbmsdm_iter_set_uint8_elem(lbmsdm_iter_t * Iterator, size_t Element, uint8_t Value);
3145
3149 LBMSDMExpDLL int lbmsdm_iter_set_int16_elem(lbmsdm_iter_t * Iterator, size_t Element, int16_t Value);
3150
3154 LBMSDMExpDLL int lbmsdm_iter_set_uint16_elem(lbmsdm_iter_t * Iterator, size_t Element, uint16_t Value);
3155
3159 LBMSDMExpDLL int lbmsdm_iter_set_int32_elem(lbmsdm_iter_t * Iterator, size_t Element, int32_t Value);
3160
3164 LBMSDMExpDLL int lbmsdm_iter_set_uint32_elem(lbmsdm_iter_t * Iterator, size_t Element, uint32_t Value);
3165
3169 LBMSDMExpDLL int lbmsdm_iter_set_int64_elem(lbmsdm_iter_t * Iterator, size_t Element, int64_t Value);
3170
3174 LBMSDMExpDLL int lbmsdm_iter_set_uint64_elem(lbmsdm_iter_t * Iterator, size_t Element, uint64_t Value);
3175
3179 LBMSDMExpDLL int lbmsdm_iter_set_float_elem(lbmsdm_iter_t * Iterator, size_t Element, float Value);
3180
3184 LBMSDMExpDLL int lbmsdm_iter_set_double_elem(lbmsdm_iter_t * Iterator, size_t Element, double Value);
3185
3189 LBMSDMExpDLL int lbmsdm_iter_set_decimal_elem(lbmsdm_iter_t * Iterator, size_t Element, const lbmsdm_decimal_t * Value);
3190
3194 LBMSDMExpDLL int lbmsdm_iter_set_timestamp_elem(lbmsdm_iter_t * Iterator, size_t Element, const struct timeval * Value);
3195
3199 LBMSDMExpDLL int lbmsdm_iter_set_message_elem(lbmsdm_iter_t * Iterator, size_t Element, const lbmsdm_msg_t * Value);
3200
3204 LBMSDMExpDLL int lbmsdm_iter_set_string_elem(lbmsdm_iter_t * Iterator, size_t Element, const char * Value);
3205
3214 LBMSDMExpDLL int lbmsdm_iter_set_unicode_elem(lbmsdm_iter_t * Iterator, size_t Element, const wchar_t * Value, size_t Length);
3215
3224 LBMSDMExpDLL int lbmsdm_iter_set_blob_elem(lbmsdm_iter_t * Iterator, size_t Element, const void * Value, size_t Length);
3225
3231 LBMSDMExpDLL int lbmsdm_msg_del_idx(lbmsdm_msg_t * Message, size_t Index);
3232
3238 LBMSDMExpDLL int lbmsdm_msg_del_name(lbmsdm_msg_t * Message, const char * Name);
3239
3244 LBMSDMExpDLL int lbmsdm_iter_del(lbmsdm_iter_t * Iterator);
3245
3252 LBMSDMExpDLL int lbmsdm_msg_del_elem_idx(lbmsdm_msg_t * Message, size_t Index, size_t Element);
3253
3260 LBMSDMExpDLL int lbmsdm_msg_del_elem_name(lbmsdm_msg_t * Message, const char * Name, size_t Element);
3261
3267 LBMSDMExpDLL int lbmsdm_iter_del_elem(lbmsdm_iter_t * Iterator, size_t Element);
3268
3279 LBMSDMExpDLL int lbmsdm_msg_attr_create(lbmsdm_msg_attr_t * * Attributes);
3280
3289 LBMSDMExpDLL int lbmsdm_msg_attr_delete(lbmsdm_msg_attr_t * Attributes);
3290
3303 LBMSDMExpDLL int lbmsdm_msg_attr_dup(lbmsdm_msg_attr_t * * Attributes, lbmsdm_msg_attr_t * Original);
3304
3318 LBMSDMExpDLL int lbmsdm_msg_attr_setopt(lbmsdm_msg_attr_t * Attributes, const char * Option, void * Value, size_t Length);
3319
3332 LBMSDMExpDLL int lbmsdm_msg_attr_str_setopt(lbmsdm_msg_attr_t * Attributes, const char * Option, const char * Value);
3333
3344 LBMSDMExpDLL int lbmsdm_msg_attr_getopt(lbmsdm_msg_attr_t * Attributes, const char * Option, void * Value, size_t * Length);
3345
3355 LBMSDMExpDLL int lbmsdm_msg_attr_str_getopt(lbmsdm_msg_attr_t * Attributes, const char * Option, char * Value, size_t * Length);
3356
3357 #if defined(__cplusplus)
3358 }
3359 #endif
3360
3361 #endif
3362
lbmsdm_iter_get_boolean
LBMSDMExpDLL int lbmsdm_iter_get_boolean(lbmsdm_iter_t *Iterator, uint8_t *Value)
Fetch a field value from the field referenced by an iterator.
lbmsdm_msg_create_ex
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.
lbmsdm_msg_set_message_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_message_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, const lbmsdm_msg_t *Value)
lbmsdm_iter_add_message_elem
LBMSDMExpDLL int lbmsdm_iter_add_message_elem(lbmsdm_iter_t *Iterator, const lbmsdm_msg_t *Value)
lbmsdm_msg_add_message_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_message_elem_name(lbmsdm_msg_t *Message, const char *Name, const lbmsdm_msg_t *Value)
lbmsdm_msg_set_int32_array_name
LBMSDMExpDLL int lbmsdm_msg_set_int32_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_iter_set_blob
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.
lbmsdm_msg_set_timestamp_name
LBMSDMExpDLL int lbmsdm_msg_set_timestamp_name(lbmsdm_msg_t *Message, const char *Name, const struct timeval *Value)
lbmsdm_msg_add_int32
LBMSDMExpDLL int lbmsdm_msg_add_int32(lbmsdm_msg_t *Message, const char *Name, int32_t Value)
lbmsdm_msg_add_decimal_array
LBMSDMExpDLL int lbmsdm_msg_add_decimal_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_add_message_array
LBMSDMExpDLL int lbmsdm_msg_add_message_array(lbmsdm_msg_t *Message, const char *Name)
LBMSDM_ERR_NAMETOOLONG
Definition: lbmsdm.h:712
lbmsdm_msg_add_uint64
LBMSDMExpDLL int lbmsdm_msg_add_uint64(lbmsdm_msg_t *Message, const char *Name, uint64_t Value)
lbmsdm_iter_get_len
LBMSDMExpDLL int lbmsdm_iter_get_len(lbmsdm_iter_t *Iterator)
Get the length (in bytes) required for the current field for an iterator.
lbmsdm_msg_set_timestamp_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_timestamp_array_idx(lbmsdm_msg_t *Message, size_t Index)
LBMSDM_ERR_BAD_TYPE
Definition: lbmsdm.h:716
lbmsdm_iter_get_int8
LBMSDMExpDLL int lbmsdm_iter_get_int8(lbmsdm_iter_t *Iterator, int8_t *Value)
lbmsdm_iter_set_decimal
LBMSDMExpDLL int lbmsdm_iter_set_decimal(lbmsdm_iter_t *Iterator, const lbmsdm_decimal_t *Value)
lbmsdm_msg_set_blob_array_name
LBMSDMExpDLL int lbmsdm_msg_set_blob_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_iter_get_int64_elem
LBMSDMExpDLL int lbmsdm_iter_get_int64_elem(lbmsdm_iter_t *Iterator, size_t Element, int64_t *Value)
lbmsdm_msg_get_double_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_double_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, double *Value)
lbmsdm_msg_get_int8_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_int8_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, int8_t *Value)
lbmsdm_iter_get_string
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.
lbmsdm_iter_set_blob_array
LBMSDMExpDLL int lbmsdm_iter_set_blob_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_set_uint16_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_uint16_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, uint16_t Value)
LBMSDM_TYPE_DOUBLE
Definition: lbmsdm.h:638
lbmsdm_msg_get_int64_idx
LBMSDMExpDLL int lbmsdm_msg_get_int64_idx(lbmsdm_msg_t *Message, size_t Index, int64_t *Value)
LBMSDM_ERR_ELEMENT_NOT_FOUND
Definition: lbmsdm.h:728
lbmsdm_msg_parse_ex
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.
lbmsdm_msg_set_boolean_elem_idx
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.
lbmsdm_msg_get_string_name
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.
lbmsdm_msg_add_message
LBMSDMExpDLL int lbmsdm_msg_add_message(lbmsdm_msg_t *Message, const char *Name, const lbmsdm_msg_t *Value)
LBMSDM_TYPE_UINT8
Definition: lbmsdm.h:622
lbmsdm_msg_set_int8_name
LBMSDMExpDLL int lbmsdm_msg_set_int8_name(lbmsdm_msg_t *Message, const char *Name, int8_t Value)
LBMSDM_ERR_DELETING_FIELD
Definition: lbmsdm.h:742
lbmsdm_msg_set_string_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_string_array_idx(lbmsdm_msg_t *Message, size_t Index)
LBMSDM_ERR_INVALID_FIELD_NAME
Definition: lbmsdm.h:744
LBMSDM_ERR_NOT_SCALAR
Definition: lbmsdm.h:726
lbmsdm_iter_set_decimal_elem
LBMSDMExpDLL int lbmsdm_iter_set_decimal_elem(lbmsdm_iter_t *Iterator, size_t Element, const lbmsdm_decimal_t *Value)
lbmsdm_msg_get_blob_idx
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.
lbmsdm_msg_add_uint32_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_uint32_elem_idx(lbmsdm_msg_t *Message, size_t Index, uint32_t Value)
lbmsdm_msg_attr_getopt
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.
lbmsdm_msg_get_float_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_float_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, float *Value)
lbmsdm_msg_add_int16_array
LBMSDMExpDLL int lbmsdm_msg_add_int16_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_iter_add_double_elem
LBMSDMExpDLL int lbmsdm_iter_add_double_elem(lbmsdm_iter_t *Iterator, double Value)
lbmsdm_msg_add_timestamp_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_timestamp_elem_name(lbmsdm_msg_t *Message, const char *Name, const struct timeval *Value)
lbmsdm_msg_set_uint16_array_name
LBMSDMExpDLL int lbmsdm_msg_set_uint16_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_set_int8_idx
LBMSDMExpDLL int lbmsdm_msg_set_int8_idx(lbmsdm_msg_t *Message, size_t Index, int8_t Value)
lbmsdm_msg_get_message_idx
LBMSDMExpDLL int lbmsdm_msg_get_message_idx(lbmsdm_msg_t *Message, size_t Index, lbmsdm_msg_t **Value)
lbmsdm_iter_set_message
LBMSDMExpDLL int lbmsdm_iter_set_message(lbmsdm_iter_t *Iterator, const lbmsdm_msg_t *Value)
lbmsdm_msg_add_int8_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_int8_elem_idx(lbmsdm_msg_t *Message, size_t Index, int8_t Value)
LBMSDM_TYPE_INT64
Definition: lbmsdm.h:632
lbmsdm_iter_add_uint8_elem
LBMSDMExpDLL int lbmsdm_iter_add_uint8_elem(lbmsdm_iter_t *Iterator, uint8_t Value)
lbmsdm_msg_set_decimal_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_decimal_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, const lbmsdm_decimal_t *Value)
lbmsdm_msg_set_unicode_elem_name
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.
lbmsdm_msg_get_int32_name
LBMSDMExpDLL int lbmsdm_msg_get_int32_name(lbmsdm_msg_t *Message, const char *Name, int32_t *Value)
lbmsdm_errmsg
LBMSDMExpDLL const char * lbmsdm_errmsg(void)
Return an ASCII string containing the error message last encountered by this thread.
lbmsdm_msg_set_double_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_double_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_iter_get_type
LBMSDMExpDLL lbmsdm_field_type_t lbmsdm_iter_get_type(lbmsdm_iter_t *Iterator)
Get the type of the current field for an iterator.
lbmsdm_msg_attr_setopt
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.
lbmsdm_msg_set_boolean_array_idx
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.
lbmsdm_msg_create
LBMSDMExpDLL int lbmsdm_msg_create(lbmsdm_msg_t **Message)
Create an SDM message to be filled in and sent.
lbmsdm_msg_get_int16_idx
LBMSDMExpDLL int lbmsdm_msg_get_int16_idx(lbmsdm_msg_t *Message, size_t Index, int16_t *Value)
lbmsdm_msg_set_double_idx
LBMSDMExpDLL int lbmsdm_msg_set_double_idx(lbmsdm_msg_t *Message, size_t Index, double Value)
LBMSDM_TYPE_INT16
Definition: lbmsdm.h:624
lbmsdm_iter_get_uint8_elem
LBMSDMExpDLL int lbmsdm_iter_get_uint8_elem(lbmsdm_iter_t *Iterator, size_t Element, uint8_t *Value)
lbmsdm_msg_add_float
LBMSDMExpDLL int lbmsdm_msg_add_float(lbmsdm_msg_t *Message, const char *Name, float Value)
lbmsdm_iter_set_timestamp_elem
LBMSDMExpDLL int lbmsdm_iter_set_timestamp_elem(lbmsdm_iter_t *Iterator, size_t Element, const struct timeval *Value)
lbmsdm_iter_set_timestamp_array
LBMSDMExpDLL int lbmsdm_iter_set_timestamp_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_set_unicode_idx
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.
lbmsdm_msg_set_uint32_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint32_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_iter_set_boolean
LBMSDMExpDLL int lbmsdm_iter_set_boolean(lbmsdm_iter_t *Iterator, uint8_t Value)
Set a field value in the field referenced by an iterator.
lbmsdm_msg_add_double_array
LBMSDMExpDLL int lbmsdm_msg_add_double_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_add_blob_elem_name
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.
lbmsdm_msg_get_decimal_idx
LBMSDMExpDLL int lbmsdm_msg_get_decimal_idx(lbmsdm_msg_t *Message, size_t Index, lbmsdm_decimal_t *Value)
lbmsdm_iter_add_unicode_elem
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.
lbmsdm_msg_get_string_elem_idx
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.
lbmsdm_msg_add_uint32
LBMSDMExpDLL int lbmsdm_msg_add_uint32(lbmsdm_msg_t *Message, const char *Name, uint32_t Value)
lbmsdm_iter_set_null
LBMSDMExpDLL int lbmsdm_iter_set_null(lbmsdm_iter_t *Iterator)
Set the field referenced by an iterator to null.
lbmsdm_msg_set_int64_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_int64_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_msg_add_int8
LBMSDMExpDLL int lbmsdm_msg_add_int8(lbmsdm_msg_t *Message, const char *Name, int8_t Value)
lbmsdm_msg_set_message_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_message_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_msg_get_timestamp_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_timestamp_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, struct timeval *Value)
LBMSDM_ERR_FIELD_NOT_FOUND
Definition: lbmsdm.h:718
lbmsdm_msg_set_int8_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_int8_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_msg_get_uint8_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_uint8_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, uint8_t *Value)
lbmsdm_msg_add_string_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_string_elem_idx(lbmsdm_msg_t *Message, size_t Index, const char *Value)
LBMSDM_TYPE_ARRAY_UINT8
Definition: lbmsdm.h:656
lbmsdm_msg_get_uint64_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_uint64_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, uint64_t *Value)
lbmsdm_iter_get_int32_elem
LBMSDMExpDLL int lbmsdm_iter_get_int32_elem(lbmsdm_iter_t *Iterator, size_t Element, int32_t *Value)
lbmsdm_msg_get_uint64_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_uint64_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, uint64_t *Value)
lbmsdm_msg_add_uint8_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_uint8_elem_idx(lbmsdm_msg_t *Message, size_t Index, uint8_t Value)
lbmsdm_iter_set_string_elem
LBMSDMExpDLL int lbmsdm_iter_set_string_elem(lbmsdm_iter_t *Iterator, size_t Element, const char *Value)
lbmsdm_msg_add_uint64_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_uint64_elem_name(lbmsdm_msg_t *Message, const char *Name, uint64_t Value)
lbmsdm_iter_set_int16_elem
LBMSDMExpDLL int lbmsdm_iter_set_int16_elem(lbmsdm_iter_t *Iterator, size_t Element, int16_t Value)
lbmsdm_msg_set_uint32_name
LBMSDMExpDLL int lbmsdm_msg_set_uint32_name(lbmsdm_msg_t *Message, const char *Name, uint32_t Value)
lbmsdm_msg_set_unicode_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_unicode_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_iter_get_blob_elem
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.
lbmsdm_decimal_t_stct
Structure to hold a scaled decimal number. A scaled decimal number consists of a mantissa and an exp...
Definition: lbmsdm.h:755
lbmsdm_iter_set_int32_array
LBMSDMExpDLL int lbmsdm_iter_set_int32_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_add_uint8
LBMSDMExpDLL int lbmsdm_msg_add_uint8(lbmsdm_msg_t *Message, const char *Name, uint8_t Value)
lbmsdm_msg_get_boolean_name
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.
lbmsdm_iter_set_int8
LBMSDMExpDLL int lbmsdm_iter_set_int8(lbmsdm_iter_t *Iterator, int8_t Value)
lbmsdm_msg_set_boolean_array_name
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.
lbmsdm_iter_destroy
LBMSDMExpDLL int lbmsdm_iter_destroy(lbmsdm_iter_t *Iterator)
Destroy an SDM message iterator.
lbmsdm_msg_add_int16_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_int16_elem_name(lbmsdm_msg_t *Message, const char *Name, int16_t Value)
lbmsdm_iter_set_uint8
LBMSDMExpDLL int lbmsdm_iter_set_uint8(lbmsdm_iter_t *Iterator, uint8_t Value)
lbmsdm_iter_get_uint16
LBMSDMExpDLL int lbmsdm_iter_get_uint16(lbmsdm_iter_t *Iterator, uint16_t *Value)
lbmsdm_iter_get_int16_elem
LBMSDMExpDLL int lbmsdm_iter_get_int16_elem(lbmsdm_iter_t *Iterator, size_t Element, int16_t *Value)
LBMSDM_ERR_TYPE_MISMATCH
Definition: lbmsdm.h:732
lbmsdm_iter_set_int16_array
LBMSDMExpDLL int lbmsdm_iter_set_int16_array(lbmsdm_iter_t *Iterator)
lbmsdm_iter_set_int32_elem
LBMSDMExpDLL int lbmsdm_iter_set_int32_elem(lbmsdm_iter_t *Iterator, size_t Element, int32_t Value)
lbmsdm_msg_get_unicode_idx
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.
lbmsdm_msg_set_blob_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_blob_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_msg_clear
LBMSDMExpDLL int lbmsdm_msg_clear(lbmsdm_msg_t *Message)
Clear an SDM message, deleting all fields in the message.
LBMSDM_TYPE_INT32
Definition: lbmsdm.h:628
lbmsdm_iter_get_message
LBMSDMExpDLL int lbmsdm_iter_get_message(lbmsdm_iter_t *Iterator, lbmsdm_msg_t **Value)
lbmsdm_iter_get_uint32
LBMSDMExpDLL int lbmsdm_iter_get_uint32(lbmsdm_iter_t *Iterator, uint32_t *Value)
lbmsdm_iter_get_unicode_elem
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.
lbmsdm_msg_add_blob_array
LBMSDMExpDLL int lbmsdm_msg_add_blob_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_set_decimal_array_name
LBMSDMExpDLL int lbmsdm_msg_set_decimal_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_get_uint16_name
LBMSDMExpDLL int lbmsdm_msg_get_uint16_name(lbmsdm_msg_t *Message, const char *Name, uint16_t *Value)
lbmsdm_msg_get_int16_name
LBMSDMExpDLL int lbmsdm_msg_get_int16_name(lbmsdm_msg_t *Message, const char *Name, int16_t *Value)
lbmsdm_msg_get_uint64_idx
LBMSDMExpDLL int lbmsdm_msg_get_uint64_idx(lbmsdm_msg_t *Message, size_t Index, uint64_t *Value)
lbmsdm_iter_get_timestamp
LBMSDMExpDLL int lbmsdm_iter_get_timestamp(lbmsdm_iter_t *Iterator, struct timeval *Value)
lbmsdm_msg_get_elemcnt_idx
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.
lbmsdm_msg_get_type_idx
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.
lbmsdm_iter_get_boolean_elem
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.
lbmsdm_msg_add_uint32_array
LBMSDMExpDLL int lbmsdm_msg_add_uint32_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_add_unicode_array
LBMSDMExpDLL int lbmsdm_msg_add_unicode_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_iter_add_int64_elem
LBMSDMExpDLL int lbmsdm_iter_add_int64_elem(lbmsdm_iter_t *Iterator, int64_t Value)
lbmsdm_msg_attr_t
struct lbmsdm_msg_attr_t_stct lbmsdm_msg_attr_t
Message attributes object for SDM (opaque).
Definition: lbmsdm.h:594
lbmsdm_iter_set_uint16_elem
LBMSDMExpDLL int lbmsdm_iter_set_uint16_elem(lbmsdm_iter_t *Iterator, size_t Element, uint16_t Value)
lbmsdm_iter_set_int32
LBMSDMExpDLL int lbmsdm_iter_set_int32(lbmsdm_iter_t *Iterator, int32_t Value)
LBMSDM_TYPE_UINT32
Definition: lbmsdm.h:630
lbmsdm_decimal_t_stct::mant
int64_t mant
Definition: lbmsdm.h:758
lbmsdm_iter_set_double_elem
LBMSDMExpDLL int lbmsdm_iter_set_double_elem(lbmsdm_iter_t *Iterator, size_t Element, double Value)
LBMSDM_TYPE_BLOB
Definition: lbmsdm.h:650
lbmsdm_msg_get_timestamp_idx
LBMSDMExpDLL int lbmsdm_msg_get_timestamp_idx(lbmsdm_msg_t *Message, size_t Index, struct timeval *Value)
LBMSDM_TYPE_DECIMAL
Definition: lbmsdm.h:640
lbmsdm_msg_set_timestamp_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_timestamp_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, const struct timeval *Value)
lbmsdm_msg_get_uint8_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_uint8_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, uint8_t *Value)
LBMSDM_TYPE_ARRAY_INT32
Definition: lbmsdm.h:662
lbmsdm_iter_get_uint8
LBMSDMExpDLL int lbmsdm_iter_get_uint8(lbmsdm_iter_t *Iterator, uint8_t *Value)
lbmsdm_iter_set_blob_elem
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.
lbmsdm_msg_set_string_array_name
LBMSDMExpDLL int lbmsdm_msg_set_string_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_set_blob_idx
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.
lbmsdm_iter_set_unicode
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.
lbmsdm_iter_add_float_elem
LBMSDMExpDLL int lbmsdm_iter_add_float_elem(lbmsdm_iter_t *Iterator, float Value)
lbmsdm_msg_get_int64_name
LBMSDMExpDLL int lbmsdm_msg_get_int64_name(lbmsdm_msg_t *Message, const char *Name, int64_t *Value)
LBMSDM_TYPE_ARRAY_MESSAGE
Definition: lbmsdm.h:678
lbmsdm_msg_get_message_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_message_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, lbmsdm_msg_t **Value)
lbmsdm_msg_add_int8_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_int8_elem_name(lbmsdm_msg_t *Message, const char *Name, int8_t Value)
lbmsdm_iter_t
struct lbmsdm_iter_t_stct lbmsdm_iter_t
Message iterator object for SDM (opaque).
Definition: lbmsdm.h:608
lbmsdm_msg_set_int64_name
LBMSDMExpDLL int lbmsdm_msg_set_int64_name(lbmsdm_msg_t *Message, const char *Name, int64_t Value)
lbmsdm_iter_set_unicode_array
LBMSDMExpDLL int lbmsdm_iter_set_unicode_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_set_int8_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_int8_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, int8_t Value)
lbmsdm_msg_get_int16_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_int16_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, int16_t *Value)
lbmsdm_iter_add_decimal_elem
LBMSDMExpDLL int lbmsdm_iter_add_decimal_elem(lbmsdm_iter_t *Iterator, const lbmsdm_decimal_t *Value)
lbmsdm_iter_set_unicode_elem
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.
lbmsdm_msg_set_decimal_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_decimal_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_msg_set_uint8_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_uint8_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, uint8_t Value)
LBMSDM_TYPE_INVALID
Definition: lbmsdm.h:616
LBMSDM_FIELD_IS_NULL
Definition: lbmsdm.h:696
lbmsdm_msg_get_decimal_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_decimal_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, lbmsdm_decimal_t *Value)
lbmsdm_msg_set_uint16_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint16_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_msg_set_float_array_name
LBMSDMExpDLL int lbmsdm_msg_set_float_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_set_uint16_name
LBMSDMExpDLL int lbmsdm_msg_set_uint16_name(lbmsdm_msg_t *Message, const char *Name, uint16_t Value)
lbmsdm_msg_get_int32_idx
LBMSDMExpDLL int lbmsdm_msg_get_int32_idx(lbmsdm_msg_t *Message, size_t Index, int32_t *Value)
lbmsdm_iter_get_float
LBMSDMExpDLL int lbmsdm_iter_get_float(lbmsdm_iter_t *Iterator, float *Value)
lbmsdm_iter_get_uint16_elem
LBMSDMExpDLL int lbmsdm_iter_get_uint16_elem(lbmsdm_iter_t *Iterator, size_t Element, uint16_t *Value)
LBMSDM_TYPE_BOOLEAN
Definition: lbmsdm.h:618
LBMSDM_TYPE_ARRAY_STRING
Definition: lbmsdm.h:680
LBMSDM_ERR_DUPLICATE_FIELD
Definition: lbmsdm.h:714
LBMSDM_ERR_ITERATOR_INVALID
Definition: lbmsdm.h:740
lbmsdm_msg_set_uint8_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint8_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, uint8_t Value)
lbmsdm_msg_set_boolean_elem_name
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.
lbmsdm_msg_get_int8_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_int8_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, int8_t *Value)
lbmsdm_msg_get_datalen
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 ...
lbmsdm_msg_attr_str_setopt
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.
lbmsdm_msg_add_boolean_elem_name
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.
lbmsdm_iter_get_double
LBMSDMExpDLL int lbmsdm_iter_get_double(lbmsdm_iter_t *Iterator, double *Value)
lbmsdm_msg_get_message_name
LBMSDMExpDLL int lbmsdm_msg_get_message_name(lbmsdm_msg_t *Message, const char *Name, lbmsdm_msg_t **Value)
lbmsdm_msg_get_timestamp_name
LBMSDMExpDLL int lbmsdm_msg_get_timestamp_name(lbmsdm_msg_t *Message, const char *Name, struct timeval *Value)
lbmsdm_win32_static_init
LBMSDMExpDLL int lbmsdm_win32_static_init(void)
Perform required initialization under Windows. This function needs to be called before any other LBM ...
lbmsdm_msg_get_double_idx
LBMSDMExpDLL int lbmsdm_msg_get_double_idx(lbmsdm_msg_t *Message, size_t Index, double *Value)
lbmsdm_iter_add_uint64_elem
LBMSDMExpDLL int lbmsdm_iter_add_uint64_elem(lbmsdm_iter_t *Iterator, uint64_t Value)
lbmsdm_iter_set_uint16_array
LBMSDMExpDLL int lbmsdm_iter_set_uint16_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_get_int16_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_int16_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, int16_t *Value)
lbmsdm_msg_set_int32_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_int32_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, int32_t Value)
lbmsdm_iter_get_uint32_elem
LBMSDMExpDLL int lbmsdm_iter_get_uint32_elem(lbmsdm_iter_t *Iterator, size_t Element, uint32_t *Value)
lbmsdm_field_type_t
uint16_t lbmsdm_field_type_t
Type definition for an SDM field type.
Definition: lbmsdm.h:603
lbmsdm_msg_set_message_idx
LBMSDMExpDLL int lbmsdm_msg_set_message_idx(lbmsdm_msg_t *Message, size_t Index, const lbmsdm_msg_t *Value)
lbmsdm_msg_get_int32_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_int32_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, int32_t *Value)
lbmsdm_msg_set_double_array_name
LBMSDMExpDLL int lbmsdm_msg_set_double_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_add_timestamp_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_timestamp_elem_idx(lbmsdm_msg_t *Message, size_t Index, const struct timeval *Value)
lbmsdm_msg_get_idx_name
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.
lbmsdm_msg_set_uint8_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint8_idx(lbmsdm_msg_t *Message, size_t Index, uint8_t Value)
lbmsdm_msg_get_double_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_double_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, double *Value)
lbmsdm_msg_set_uint64_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_uint64_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, uint64_t Value)
lbmsdm_msg_set_int64_array_name
LBMSDMExpDLL int lbmsdm_msg_set_int64_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_iter_create
LBMSDMExpDLL int lbmsdm_iter_create(lbmsdm_iter_t **Iterator, lbmsdm_msg_t *Message)
Create an SDM message iterator.
lbmsdm_msg_add_decimal_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_decimal_elem_idx(lbmsdm_msg_t *Message, size_t Index, const lbmsdm_decimal_t *Value)
lbmsdm_msg_get_boolean_elem_name
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.
lbmsdm_msg_add_string_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_string_elem_name(lbmsdm_msg_t *Message, const char *Name, const char *Value)
lbmsdm_msg_set_int64_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_int64_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, int64_t Value)
lbmsdm_iter_set_uint64_elem
LBMSDMExpDLL int lbmsdm_iter_set_uint64_elem(lbmsdm_iter_t *Iterator, size_t Element, uint64_t Value)
lbmsdm_iter_set_int64
LBMSDMExpDLL int lbmsdm_iter_set_int64(lbmsdm_iter_t *Iterator, int64_t Value)
LBMSDM_TYPE_STRING
Definition: lbmsdm.h:646
lbmsdm_iter_set_uint32_elem
LBMSDMExpDLL int lbmsdm_iter_set_uint32_elem(lbmsdm_iter_t *Iterator, size_t Element, uint32_t Value)
lbmsdm_msg_get_uint16_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_uint16_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, uint16_t *Value)
lbmsdm_iter_get_int32
LBMSDMExpDLL int lbmsdm_iter_get_int32(lbmsdm_iter_t *Iterator, int32_t *Value)
lbmsdm_iter_first
LBMSDMExpDLL int lbmsdm_iter_first(lbmsdm_iter_t *Iterator)
Position an iterator to the first field in the message.
lbmsdm_msg_attr_dup
LBMSDMExpDLL int lbmsdm_msg_attr_dup(lbmsdm_msg_attr_t **Attributes, lbmsdm_msg_attr_t *Original)
Duplicate an SDM message attribute object.
lbmsdm_iter_del
LBMSDMExpDLL int lbmsdm_iter_del(lbmsdm_iter_t *Iterator)
Delete a field referenced by an iterator.
lbmsdm_msg_add_float_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_float_elem_idx(lbmsdm_msg_t *Message, size_t Index, float Value)
lbmsdm_msg_get_type_name
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.
lbmsdm_iter_next
LBMSDMExpDLL int lbmsdm_iter_next(lbmsdm_iter_t *Iterator)
Position an iterator to the next field in the message.
lbmsdm_msg_get_int64_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_int64_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, int64_t *Value)
lbmsdm_msg_get_decimal_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_decimal_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, lbmsdm_decimal_t *Value)
lbmsdm_iter_get_elemlen
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...
lbmsdm_msg_set_uint32_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_uint32_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, uint32_t Value)
lbmsdm_iter_get_uint64_elem
LBMSDMExpDLL int lbmsdm_iter_get_uint64_elem(lbmsdm_iter_t *Iterator, size_t Element, uint64_t *Value)
lbmsdm_msg_get_unicode_name
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.
lbmsdm_iter_set_uint32_array
LBMSDMExpDLL int lbmsdm_iter_set_uint32_array(lbmsdm_iter_t *Iterator)
lbmsdm_iter_set_double
LBMSDMExpDLL int lbmsdm_iter_set_double(lbmsdm_iter_t *Iterator, double Value)
lbmsdm_msg_set_null_idx
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.
lbmsdm_msg_set_int16_name
LBMSDMExpDLL int lbmsdm_msg_set_int16_name(lbmsdm_msg_t *Message, const char *Name, int16_t Value)
LBMSDM_TYPE_ARRAY_BLOB
Definition: lbmsdm.h:684
lbmsdm_msg_del_idx
LBMSDMExpDLL int lbmsdm_msg_del_idx(lbmsdm_msg_t *Message, size_t Index)
Delete a field from a message by field index.
lbmsdm_msg_t
struct lbmsdm_msg_t_stct lbmsdm_msg_t
Message object for SDM (opaque).
Definition: lbmsdm.h:599
lbmsdm_msg_set_decimal_idx
LBMSDMExpDLL int lbmsdm_msg_set_decimal_idx(lbmsdm_msg_t *Message, size_t Index, const lbmsdm_decimal_t *Value)
LBMSDM_ERR_TYPE_NOT_SUPPORTED
Definition: lbmsdm.h:730
lbmsdm_msg_add_int64
LBMSDMExpDLL int lbmsdm_msg_add_int64(lbmsdm_msg_t *Message, const char *Name, int64_t Value)
lbmsdm_msg_attr_create
LBMSDMExpDLL int lbmsdm_msg_attr_create(lbmsdm_msg_attr_t **Attributes)
Create and fill an SDM message attribute object with the default values.
lbmsdm_msg_get_float_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_float_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, float *Value)
LBMSDM_TYPE_ARRAY_INT16
Definition: lbmsdm.h:658
LBMSDM_ERR_ENOMEM
Definition: lbmsdm.h:710
lbmsdm_msg_add_boolean_elem_idx
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.
lbmsdm_iter_add_timestamp_elem
LBMSDMExpDLL int lbmsdm_iter_add_timestamp_elem(lbmsdm_iter_t *Iterator, const struct timeval *Value)
lbmsdm_msg_get_int8_name
LBMSDMExpDLL int lbmsdm_msg_get_int8_name(lbmsdm_msg_t *Message, const char *Name, int8_t *Value)
lbmsdm_iter_set_boolean_array
LBMSDMExpDLL int lbmsdm_iter_set_boolean_array(lbmsdm_iter_t *Iterator)
Set a field in a message by field name to an array field.
lbmsdm_msg_add_int16_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_int16_elem_idx(lbmsdm_msg_t *Message, size_t Index, int16_t Value)
lbmsdm_msg_add_float_array
LBMSDMExpDLL int lbmsdm_msg_add_float_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_get_string_idx
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.
LBMSDM_ERR_MSG_INVALID
Definition: lbmsdm.h:720
lbmsdm_msg_add_blob_elem_idx
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.
lbmsdm_iter_set_float_elem
LBMSDMExpDLL int lbmsdm_iter_set_float_elem(lbmsdm_iter_t *Iterator, size_t Element, float Value)
lbmsdm_msg_parse_reuse
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 l...
lbmsdm_iter_set_int8_array
LBMSDMExpDLL int lbmsdm_iter_set_int8_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_get_message_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_message_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, lbmsdm_msg_t **Value)
LBMSDM_TYPE_ARRAY_DECIMAL
Definition: lbmsdm.h:674
lbmsdm_msg_set_int64_idx
LBMSDMExpDLL int lbmsdm_msg_set_int64_idx(lbmsdm_msg_t *Message, size_t Index, int64_t Value)
lbmsdm_iter_del_elem
LBMSDMExpDLL int lbmsdm_iter_del_elem(lbmsdm_iter_t *Iterator, size_t Element)
Delete an element from an array field referenced by an iterator.
lbmsdm_msg_set_unicode_name
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.
lbmsdm_msg_get_uint8_idx
LBMSDMExpDLL int lbmsdm_msg_get_uint8_idx(lbmsdm_msg_t *Message, size_t Index, uint8_t *Value)
lbmsdm_msg_set_string_name
LBMSDMExpDLL int lbmsdm_msg_set_string_name(lbmsdm_msg_t *Message, const char *Name, const char *Value)
lbmsdm_iter_get_uint64
LBMSDMExpDLL int lbmsdm_iter_get_uint64(lbmsdm_iter_t *Iterator, uint64_t *Value)
LBMSDM_TYPE_MESSAGE
Definition: lbmsdm.h:644
LBMSDM_ERR_NOT_ARRAY
Definition: lbmsdm.h:724
lbmsdm_iter_set_timestamp
LBMSDMExpDLL int lbmsdm_iter_set_timestamp(lbmsdm_iter_t *Iterator, const struct timeval *Value)
lbmsdm_msg_del_elem_idx
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.
lbmsdm_msg_set_boolean_idx
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.
lbmsdm_msg_set_int16_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_int16_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, int16_t Value)
LBMSDM_ERR_FIELD_IS_NULL
Definition: lbmsdm.h:736
lbmsdm_msg_add_double_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_double_elem_name(lbmsdm_msg_t *Message, const char *Name, double Value)
lbmsdm_msg_add_boolean
LBMSDMExpDLL int lbmsdm_msg_add_boolean(lbmsdm_msg_t *Message, const char *Name, uint8_t Value)
Add a field to a message.
LBMSDM_TYPE_ARRAY_FLOAT
Definition: lbmsdm.h:670
lbmsdm_msg_set_uint64_name
LBMSDMExpDLL int lbmsdm_msg_set_uint64_name(lbmsdm_msg_t *Message, const char *Name, uint64_t Value)
lbmsdm_msg_destroy
LBMSDMExpDLL int lbmsdm_msg_destroy(lbmsdm_msg_t *Message)
Destroy an SDM message object.
lbmsdm_iter_add_boolean_elem
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.
lbmsdm_msg_set_blob_elem_idx
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.
lbmsdm_msg_get_blob_name
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.
lbmsdm_iter_get_unicode
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.
lbmsdm_msg_get_elemlen_name
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...
lbmsdm_msg_get_boolean_idx
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.
lbmsdm_iter_set_uint8_elem
LBMSDMExpDLL int lbmsdm_iter_set_uint8_elem(lbmsdm_iter_t *Iterator, size_t Element, uint8_t Value)
lbmsdm_msg_get_double_name
LBMSDMExpDLL int lbmsdm_msg_get_double_name(lbmsdm_msg_t *Message, const char *Name, double *Value)
LBMSDM_ERR_EINVAL
Definition: lbmsdm.h:708
lbmsdm_msg_set_uint64_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint64_idx(lbmsdm_msg_t *Message, size_t Index, uint64_t Value)
lbmsdm_msg_add_int64_array
LBMSDMExpDLL int lbmsdm_msg_add_int64_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_set_int8_array_name
LBMSDMExpDLL int lbmsdm_msg_set_int8_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_set_int32_name
LBMSDMExpDLL int lbmsdm_msg_set_int32_name(lbmsdm_msg_t *Message, const char *Name, int32_t Value)
lbmsdm_iter_get_decimal
LBMSDMExpDLL int lbmsdm_iter_get_decimal(lbmsdm_iter_t *Iterator, lbmsdm_decimal_t *Value)
lbmsdm_msg_set_message_name
LBMSDMExpDLL int lbmsdm_msg_set_message_name(lbmsdm_msg_t *Message, const char *Name, const lbmsdm_msg_t *Value)
lbmsdm_msg_get_len_idx
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.
lbmsdm_msg_set_timestamp_idx
LBMSDMExpDLL int lbmsdm_msg_set_timestamp_idx(lbmsdm_msg_t *Message, size_t Index, const struct timeval *Value)
lbmsdm_msg_add_unicode_elem_idx
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.
lbmsdm_iter_get_string_elem
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.
LBMSDM_TYPE_ARRAY_UNICODE
Definition: lbmsdm.h:682
LBMSDM_TYPE_TIMESTAMP
Definition: lbmsdm.h:642
lbmsdm_msg_add_decimal_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_decimal_elem_name(lbmsdm_msg_t *Message, const char *Name, const lbmsdm_decimal_t *Value)
lbmsdm_iter_get_double_elem
LBMSDMExpDLL int lbmsdm_iter_get_double_elem(lbmsdm_iter_t *Iterator, size_t Element, double *Value)
lbmsdm_msg_set_message_array_name
LBMSDMExpDLL int lbmsdm_msg_set_message_array_name(lbmsdm_msg_t *Message, const char *Name)
LBMSDM_TYPE_ARRAY_UINT32
Definition: lbmsdm.h:664
lbmsdm_msg_add_uint32_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_uint32_elem_name(lbmsdm_msg_t *Message, const char *Name, uint32_t Value)
lbmsdm_msg_set_int16_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_int16_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, int16_t Value)
lbmsdm_iter_add_uint16_elem
LBMSDMExpDLL int lbmsdm_iter_add_uint16_elem(lbmsdm_iter_t *Iterator, uint16_t Value)
lbmsdm_msg_set_uint64_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint64_array_idx(lbmsdm_msg_t *Message, size_t Index)
LBMSDM_TYPE_ARRAY_INT8
Definition: lbmsdm.h:654
lbmsdm_msg_set_int32_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_int32_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, int32_t Value)
LBMSDM_TYPE_ARRAY_BOOLEAN
Definition: lbmsdm.h:652
lbmsdm_msg_get_data
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...
lbmsdm_msg_get_name_idx
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.
lbmsdm_iter_set_uint64_array
LBMSDMExpDLL int lbmsdm_iter_set_uint64_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_add_int32_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_int32_elem_idx(lbmsdm_msg_t *Message, size_t Index, int32_t Value)
lbmsdm_iter_add_uint32_elem
LBMSDMExpDLL int lbmsdm_iter_add_uint32_elem(lbmsdm_iter_t *Iterator, uint32_t Value)
lbmsdm_msg_set_unicode_array_name
LBMSDMExpDLL int lbmsdm_msg_set_unicode_array_name(lbmsdm_msg_t *Message, const char *Name)
LBMSDM_TYPE_ARRAY_UINT16
Definition: lbmsdm.h:660
LBMSDM_TYPE_ARRAY_UINT64
Definition: lbmsdm.h:668
lbmsdm_msg_get_unicode_elem_name
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.
lbmsdm_iter_set_double_array
LBMSDMExpDLL int lbmsdm_iter_set_double_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_set_uint64_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint64_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, uint64_t Value)
lbmsdm_msg_add_timestamp
LBMSDMExpDLL int lbmsdm_msg_add_timestamp(lbmsdm_msg_t *Message, const char *Name, const struct timeval *Value)
lbmsdm_msg_set_float_idx
LBMSDMExpDLL int lbmsdm_msg_set_float_idx(lbmsdm_msg_t *Message, size_t Index, float Value)
lbmsdm_msg_set_uint64_array_name
LBMSDMExpDLL int lbmsdm_msg_set_uint64_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_set_uint32_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint32_idx(lbmsdm_msg_t *Message, size_t Index, uint32_t Value)
lbmsdm_msg_get_float_name
LBMSDMExpDLL int lbmsdm_msg_get_float_name(lbmsdm_msg_t *Message, const char *Name, float *Value)
lbmsdm_msg_set_timestamp_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_timestamp_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, const struct timeval *Value)
lbmsdm_msg_attr_str_getopt
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.
lbmsdm_iter_get_blob
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.
lbmsdm_iter_get_int8_elem
LBMSDMExpDLL int lbmsdm_iter_get_int8_elem(lbmsdm_iter_t *Iterator, size_t Element, int8_t *Value)
lbmsdm_msg_set_int32_idx
LBMSDMExpDLL int lbmsdm_msg_set_int32_idx(lbmsdm_msg_t *Message, size_t Index, int32_t Value)
lbmsdm_msg_set_decimal_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_decimal_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, const lbmsdm_decimal_t *Value)
lbmsdm_msg_get_uint32_idx
LBMSDMExpDLL int lbmsdm_msg_get_uint32_idx(lbmsdm_msg_t *Message, size_t Index, uint32_t *Value)
lbmsdm_msg_set_blob_name
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.
lbmsdm_msg_set_timestamp_array_name
LBMSDMExpDLL int lbmsdm_msg_set_timestamp_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_iter_set_int64_elem
LBMSDMExpDLL int lbmsdm_iter_set_int64_elem(lbmsdm_iter_t *Iterator, size_t Element, int64_t Value)
lbmsdm_iter_set_float_array
LBMSDMExpDLL int lbmsdm_iter_set_float_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_add_int8_array
LBMSDMExpDLL int lbmsdm_msg_add_int8_array(lbmsdm_msg_t *Message, const char *Name)
LBMSDM_TYPE_UNICODE
Definition: lbmsdm.h:648
lbmsdm_msg_add_uint8_array
LBMSDMExpDLL int lbmsdm_msg_add_uint8_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_is_null_name
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.
lbmsdm_msg_clone
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.
lbmsdm_msg_is_null_idx
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.
lbmsdm_msg_add_unicode
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.
lbmsdm_msg_set_string_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_string_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, const char *Value)
lbmsdm_msg_set_int32_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_int32_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_msg_get_uint16_idx
LBMSDMExpDLL int lbmsdm_msg_get_uint16_idx(lbmsdm_msg_t *Message, size_t Index, uint16_t *Value)
lbmsdm_msg_set_uint16_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint16_idx(lbmsdm_msg_t *Message, size_t Index, uint16_t Value)
lbmsdm_iter_set_float
LBMSDMExpDLL int lbmsdm_iter_set_float(lbmsdm_iter_t *Iterator, float Value)
lbmsdm_iter_set_string_array
LBMSDMExpDLL int lbmsdm_iter_set_string_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_get_blob_elem_idx
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.
lbmsdm_msg_set_float_name
LBMSDMExpDLL int lbmsdm_msg_set_float_name(lbmsdm_msg_t *Message, const char *Name, float Value)
LBMSDM_ERR_CANNOT_CONVERT
Definition: lbmsdm.h:722
lbmsdm_iter_get_elemcnt
LBMSDMExpDLL int lbmsdm_iter_get_elemcnt(lbmsdm_iter_t *Iterator)
Get the number of elements in the current array field for an iterator.
lbmsdm_msg_get_int8_idx
LBMSDMExpDLL int lbmsdm_msg_get_int8_idx(lbmsdm_msg_t *Message, size_t Index, int8_t *Value)
lbmsdm_msg_get_uint8_name
LBMSDMExpDLL int lbmsdm_msg_get_uint8_name(lbmsdm_msg_t *Message, const char *Name, uint8_t *Value)
LBMSDM_TYPE_UINT64
Definition: lbmsdm.h:634
lbmsdm_decimal_t
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 exp...
lbmsdm_iter_set_uint64
LBMSDMExpDLL int lbmsdm_iter_set_uint64(lbmsdm_iter_t *Iterator, uint64_t Value)
lbmsdm_iter_set_message_elem
LBMSDMExpDLL int lbmsdm_iter_set_message_elem(lbmsdm_iter_t *Iterator, size_t Element, const lbmsdm_msg_t *Value)
lbmsdm_msg_set_decimal_name
LBMSDMExpDLL int lbmsdm_msg_set_decimal_name(lbmsdm_msg_t *Message, const char *Name, const lbmsdm_decimal_t *Value)
lbmsdm_iter_add_int32_elem
LBMSDMExpDLL int lbmsdm_iter_add_int32_elem(lbmsdm_iter_t *Iterator, int32_t Value)
lbmsdm_msg_set_uint8_name
LBMSDMExpDLL int lbmsdm_msg_set_uint8_name(lbmsdm_msg_t *Message, const char *Name, uint8_t Value)
LBMSDM_TYPE_FLOAT
Definition: lbmsdm.h:636
lbmsdm_iter_get_decimal_elem
LBMSDMExpDLL int lbmsdm_iter_get_decimal_elem(lbmsdm_iter_t *Iterator, size_t Element, lbmsdm_decimal_t *Value)
lbmsdm_msg_set_uint8_array_name
LBMSDMExpDLL int lbmsdm_msg_set_uint8_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_add_int64_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_int64_elem_name(lbmsdm_msg_t *Message, const char *Name, int64_t Value)
lbmsdm_iter_set_int16
LBMSDMExpDLL int lbmsdm_iter_set_int16(lbmsdm_iter_t *Iterator, int16_t Value)
lbmsdm_msg_add_float_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_float_elem_name(lbmsdm_msg_t *Message, const char *Name, float Value)
lbmsdm_msg_set_double_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_double_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, double Value)
lbmsdm_msg_get_uint32_name
LBMSDMExpDLL int lbmsdm_msg_get_uint32_name(lbmsdm_msg_t *Message, const char *Name, uint32_t *Value)
lbmsdm_msg_set_unicode_elem_idx
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.
lbmsdm_msg_get_int64_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_int64_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, int64_t *Value)
lbmsdm_msg_set_string_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_string_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, const char *Value)
lbmsdm_msg_set_float_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_float_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, float Value)
LBMSDM_TYPE_ARRAY_TIMESTAMP
Definition: lbmsdm.h:676
lbmsdm_iter_add_int16_elem
LBMSDMExpDLL int lbmsdm_iter_add_int16_elem(lbmsdm_iter_t *Iterator, int16_t Value)
lbmsdm_iter_get_float_elem
LBMSDMExpDLL int lbmsdm_iter_get_float_elem(lbmsdm_iter_t *Iterator, size_t Element, float *Value)
lbmsdm_msg_add_int32_array
LBMSDMExpDLL int lbmsdm_msg_add_int32_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_set_boolean_name
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.
lbmsdm_msg_get_float_idx
LBMSDMExpDLL int lbmsdm_msg_get_float_idx(lbmsdm_msg_t *Message, size_t Index, float *Value)
lbmsdm_msg_set_uint8_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint8_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_iter_is_null
LBMSDMExpDLL int lbmsdm_iter_is_null(lbmsdm_iter_t *Iterator)
Determine if the field referenced by an iterator is null.
lbmsdm_msg_set_double_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_double_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, double Value)
lbmsdm_decimal_t_stct::exp
int8_t exp
Definition: lbmsdm.h:760
lbmsdm_msg_set_uint32_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint32_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, uint32_t Value)
lbmsdm_msg_set_float_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_float_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, float Value)
lbmsdm_msg_add_int32_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_int32_elem_name(lbmsdm_msg_t *Message, const char *Name, int32_t Value)
lbmsdm_errnum
LBMSDMExpDLL int lbmsdm_errnum(void)
Return the error number last encountered by this thread.
lbmsdm_msg_add_boolean_array
LBMSDMExpDLL int lbmsdm_msg_add_boolean_array(lbmsdm_msg_t *Message, const char *Name)
Add an array field to a message.
lbmsdm_msg_add_string
LBMSDMExpDLL int lbmsdm_msg_add_string(lbmsdm_msg_t *Message, const char *Name, const char *Value)
lbmsdm_iter_set_uint32
LBMSDMExpDLL int lbmsdm_iter_set_uint32(lbmsdm_iter_t *Iterator, uint32_t Value)
LBMSDM_INSUFFICIENT_BUFFER_LENGTH
Definition: lbmsdm.h:700
lbmsdm_iter_add_int8_elem
LBMSDMExpDLL int lbmsdm_iter_add_int8_elem(lbmsdm_iter_t *Iterator, int8_t Value)
lbmsdm_msg_set_string_idx
LBMSDMExpDLL int lbmsdm_msg_set_string_idx(lbmsdm_msg_t *Message, size_t Index, const char *Value)
lbmsdm_msg_del_elem_name
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.
lbmsdm_msg_set_message_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_message_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, const lbmsdm_msg_t *Value)
lbmsdm_msg_add_double
LBMSDMExpDLL int lbmsdm_msg_add_double(lbmsdm_msg_t *Message, const char *Name, double Value)
lbmsdm_iter_set_message_array
LBMSDMExpDLL int lbmsdm_iter_set_message_array(lbmsdm_iter_t *Iterator)
lbmsdm_iter_set_uint8_array
LBMSDMExpDLL int lbmsdm_iter_set_uint8_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_add_int16
LBMSDMExpDLL int lbmsdm_msg_add_int16(lbmsdm_msg_t *Message, const char *Name, int16_t Value)
lbmsdm_msg_add_blob
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.
lbmsdm_iter_set_boolean_elem
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.
lbmsdm_msg_add_uint64_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_uint64_elem_idx(lbmsdm_msg_t *Message, size_t Index, uint64_t Value)
LBMSDM_ERR_ADDING_FIELD
Definition: lbmsdm.h:738
lbmsdm_msg_get_boolean_elem_idx
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.
LBMSDM_TYPE_UINT16
Definition: lbmsdm.h:626
lbmsdm_msg_set_null_name
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.
lbmsdm_iter_set_int8_elem
LBMSDMExpDLL int lbmsdm_iter_set_int8_elem(lbmsdm_iter_t *Iterator, size_t Element, int8_t Value)
lbmsdm_iter_set_int64_array
LBMSDMExpDLL int lbmsdm_iter_set_int64_array(lbmsdm_iter_t *Iterator)
lbmsdm_iter_set_decimal_array
LBMSDMExpDLL int lbmsdm_iter_set_decimal_array(lbmsdm_iter_t *Iterator)
lbmsdm_msg_get_decimal_name
LBMSDMExpDLL int lbmsdm_msg_get_decimal_name(lbmsdm_msg_t *Message, const char *Name, lbmsdm_decimal_t *Value)
lbmsdm_msg_add_uint64_array
LBMSDMExpDLL int lbmsdm_msg_add_uint64_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_get_fldcnt
LBMSDMExpDLL int lbmsdm_msg_get_fldcnt(lbmsdm_msg_t *Message)
Get the number of fields in a message.
lbmsdm_msg_add_uint16_array
LBMSDMExpDLL int lbmsdm_msg_add_uint16_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_iter_get_name
LBMSDMExpDLL const char * lbmsdm_iter_get_name(lbmsdm_iter_t *Iterator)
Get the name of the current field for an iterator.
lbmsdm_msg_set_int16_idx
LBMSDMExpDLL int lbmsdm_msg_set_int16_idx(lbmsdm_msg_t *Message, size_t Index, int16_t Value)
lbmsdm_msg_set_int16_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_int16_array_idx(lbmsdm_msg_t *Message, size_t Index)
LBMSDM_ERR_UNICODE_CONVERSION
Definition: lbmsdm.h:734
lbmsdm_msg_get_elemlen_idx
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...
lbmsdm_msg_dump
LBMSDMExpDLL int lbmsdm_msg_dump(lbmsdm_msg_t *Message, char *Buffer, size_t Size)
Dump a message into a printable string.
lbmsdm_iter_add_string_elem
LBMSDMExpDLL int lbmsdm_iter_add_string_elem(lbmsdm_iter_t *Iterator, const char *Value)
lbmsdm_msg_get_int32_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_int32_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, int32_t *Value)
LBMSDM_FAILURE
Definition: lbmsdm.h:694
lbmsdm_msg_get_unicode_elem_idx
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.
LBMSDM_TYPE_INT8
Definition: lbmsdm.h:620
lbmsdm_msg_add_double_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_double_elem_idx(lbmsdm_msg_t *Message, size_t Index, double Value)
lbmsdm_iter_get_timestamp_elem
LBMSDMExpDLL int lbmsdm_iter_get_timestamp_elem(lbmsdm_iter_t *Iterator, size_t Element, struct timeval *Value)
LBMSDM_TYPE_ARRAY_INT64
Definition: lbmsdm.h:666
lbmsdm_msg_add_decimal
LBMSDMExpDLL int lbmsdm_msg_add_decimal(lbmsdm_msg_t *Message, const char *Name, const lbmsdm_decimal_t *Value)
lbmsdm_msg_get_uint32_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_uint32_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, uint32_t *Value)
lbmsdm_msg_add_timestamp_array
LBMSDMExpDLL int lbmsdm_msg_add_timestamp_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_get_uint64_name
LBMSDMExpDLL int lbmsdm_msg_get_uint64_name(lbmsdm_msg_t *Message, const char *Name, uint64_t *Value)
lbmsdm_msg_get_blob_elem_name
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.
lbmsdm_msg_add_unicode_elem_name
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.
lbmsdm_msg_parse
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.
lbmsdm_msg_get_len_name
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.
lbmsdm_msg_add_string_array
LBMSDMExpDLL int lbmsdm_msg_add_string_array(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_set_int64_elem_name
LBMSDMExpDLL int lbmsdm_msg_set_int64_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, int64_t Value)
LBMSDM_SUCCESS
Definition: lbmsdm.h:692
lbmsdm_msg_get_string_elem_name
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.
LBMSDM_TYPE_ARRAY_DOUBLE
Definition: lbmsdm.h:672
lbmsdm_msg_add_uint16_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_uint16_elem_name(lbmsdm_msg_t *Message, const char *Name, uint16_t Value)
lbmsdm_msg_set_float_array_idx
LBMSDMExpDLL int lbmsdm_msg_set_float_array_idx(lbmsdm_msg_t *Message, size_t Index)
lbmsdm_msg_del_name
LBMSDMExpDLL int lbmsdm_msg_del_name(lbmsdm_msg_t *Message, const char *Name)
Delete a field from a message by field name.
lbmsdm_msg_set_uint16_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_uint16_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, uint16_t Value)
lbmsdm_msg_add_uint16_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_uint16_elem_idx(lbmsdm_msg_t *Message, size_t Index, uint16_t Value)
lbmsdm_iter_add_blob_elem
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.
lbmsdm_iter_set_uint16
LBMSDMExpDLL int lbmsdm_iter_set_uint16(lbmsdm_iter_t *Iterator, uint16_t Value)
lbmsdm_msg_add_uint8_elem_name
LBMSDMExpDLL int lbmsdm_msg_add_uint8_elem_name(lbmsdm_msg_t *Message, const char *Name, uint8_t Value)
lbmsdm_msg_set_uint32_array_name
LBMSDMExpDLL int lbmsdm_msg_set_uint32_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_iter_get_int64
LBMSDMExpDLL int lbmsdm_iter_get_int64(lbmsdm_iter_t *Iterator, int64_t *Value)
lbmsdm_msg_set_int8_elem_idx
LBMSDMExpDLL int lbmsdm_msg_set_int8_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, int8_t Value)
lbmsdm_iter_get_message_elem
LBMSDMExpDLL int lbmsdm_iter_get_message_elem(lbmsdm_iter_t *Iterator, size_t Element, lbmsdm_msg_t **Value)
lbmsdm_msg_set_int16_array_name
LBMSDMExpDLL int lbmsdm_msg_set_int16_array_name(lbmsdm_msg_t *Message, const char *Name)
lbmsdm_msg_set_blob_elem_name
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.
lbmsdm_msg_add_int64_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_int64_elem_idx(lbmsdm_msg_t *Message, size_t Index, int64_t Value)
lbmsdm_msg_add_message_elem_idx
LBMSDMExpDLL int lbmsdm_msg_add_message_elem_idx(lbmsdm_msg_t *Message, size_t Index, const lbmsdm_msg_t *Value)
lbmsdm_msg_get_uint16_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_uint16_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, uint16_t *Value)
lbmsdm_iter_set_string
LBMSDMExpDLL int lbmsdm_iter_set_string(lbmsdm_iter_t *Iterator, const char *Value)
LBMSDM_NO_MORE_FIELDS
Definition: lbmsdm.h:698
lbmsdm_msg_attr_delete
LBMSDMExpDLL int lbmsdm_msg_attr_delete(lbmsdm_msg_attr_t *Attributes)
Delete an SDM message attribute object.
lbmsdm_msg_get_timestamp_elem_name
LBMSDMExpDLL int lbmsdm_msg_get_timestamp_elem_name(lbmsdm_msg_t *Message, const char *Name, size_t Element, struct timeval *Value)
lbmsdm_msg_get_elemcnt_name
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.
lbmsdm_msg_get_uint32_elem_idx
LBMSDMExpDLL int lbmsdm_msg_get_uint32_elem_idx(lbmsdm_msg_t *Message, size_t Index, size_t Element, uint32_t *Value)
lbmsdm_iter_get_int16
LBMSDMExpDLL int lbmsdm_iter_get_int16(lbmsdm_iter_t *Iterator, int16_t *Value)
lbmsdm_msg_set_double_name
LBMSDMExpDLL int lbmsdm_msg_set_double_name(lbmsdm_msg_t *Message, const char *Name, double Value)
lbmsdm_msg_add_uint16
LBMSDMExpDLL int lbmsdm_msg_add_uint16(lbmsdm_msg_t *Message, const char *Name, uint16_t Value)