UM C API  6.13
lbm.h
Go to the documentation of this file.
1 
4 /*
5  $Id: //UMprod/DEV_HF_6_13/29West/lbm/src/lib/lbm/lbm.h#7 $
6 
7  All of the documentation and software included in this and any
8  other Informatica Ultra Messaging Releases
9  Copyright (C) Informatica. All rights reserved.
10 
11  Redistribution and use in source and binary forms, with or without
12  modification, are permitted only as covered by the terms of a
13  valid software license agreement with Informatica.
14 
15  Copyright (C) 2004-2020, Informatica Corporation. All Rights Reserved.
16 
17  THE SOFTWARE IS PROVIDED "AS IS" AND INFORMATICA DISCLAIMS ALL WARRANTIES
18  EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF
19  NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
20  PURPOSE. INFORMATICA DOES NOT WARRANT THAT USE OF THE SOFTWARE WILL BE
21  UNINTERRUPTED OR ERROR-FREE. INFORMATICA SHALL NOT, UNDER ANY CIRCUMSTANCES, BE
22  LIABLE TO LICENSEE FOR LOST PROFITS, CONSEQUENTIAL, INCIDENTAL, SPECIAL OR
23  INDIRECT DAMAGES ARISING OUT OF OR RELATED TO THIS AGREEMENT OR THE
24  TRANSACTIONS CONTEMPLATED HEREUNDER, EVEN IF INFORMATICA HAS BEEN APPRISED OF
25  THE LIKELIHOOD OF SUCH DAMAGES.
26 */
27 #ifndef LBM_H
28 #define LBM_H
29 
30 #if defined(__cplusplus)
31 extern "C" {
32 #endif /* __cplusplus */
33 
34 #define LBM_VERS_MAJOR 6
35 #define LBM_VERS_MINOR 13
36 #define LBM_VERS_MAINT 0
37 #define LBM_VERS_SFX 0
38 #define LBM_VERS_TAG ""
39 #define LBM_VERS (LBM_VERS_MAJOR*10000+LBM_VERS_MINOR*100+LBM_VERS_MAINT)
40 
41 #if defined(_WIN32)
42 #if !defined(DONT_TYPEDEF_INT_T)
43  /*
44  typedef __int8 int8_t;
45  */
46  typedef signed char int8_t;
47  typedef __int16 int16_t;
48  typedef __int32 int32_t;
49  typedef __int64 int64_t;
50 #endif
51  typedef unsigned __int8 uint8_t;
52  typedef unsigned __int16 uint16_t;
53  typedef unsigned __int32 uint32_t;
54  typedef unsigned __int64 uint64_t;
55  /* C99 printf format macros missing from VC. */
56  #define PRId8 "d"
57  #define PRId16 "d"
58  #define PRId32 "d"
59  #define PRId64 "I64d"
60  #define PRIu8 "u"
61  #define PRIu16 "u"
62  #define PRIu32 "u"
63  #define PRIu64 "I64u"
64  #define PRIx8 "x"
65  #define PRIx16 "x"
66  #define PRIx32 "x"
67  #define PRIx64 "I64x"
68  #define PRIuSZ "Iu"
69  /* C99 scanf format macros missing from VC. */
70  #define SCNd8 "d"
71  #define SCNd16 "hd"
72  #define SCNd32 "ld"
73  #define SCNd64 "I64d"
74  #define SCNu8 "u"
75  #define SCNu16 "hu"
76  #define SCNu32 "lu"
77  #define SCNu64 "I64u"
78  #define SCNx64 "I64x"
79  #define SCNuSZ "Iu"
80  #define SCNuSZcast(x) (size_t * )(x)
81 #elif defined(__VMS)
82  #include <inttypes.h>
83  /* C99 printf format macros missing from OpenVMS. */
84  #define PRId8 "d"
85  #define PRId16 "d"
86  #define PRId32 "d"
87  #define PRId64 "lld"
88  #define PRIu8 "u"
89  #define PRIu16 "u"
90  #define PRIu32 "u"
91  #define PRIu64 "llu"
92  #define PRIuSZ "zu"
93  #define PRIx8 "x"
94  #define PRIx16 "x"
95  #define PRIx32 "x"
96  #define PRIx64 "llx"
97  #define PRIuSZcast(x) (size_t)(x)
98  /* C99 scanf format macros missing from OpenVMS. */
99  #define SCNd8 "hhd"
100  #define SCNd16 "hd"
101  #define SCNd32 "d"
102  #define SCNd64 "lld"
103  #define SCNu8 "hhu"
104  #define SCNu16 "hu"
105  #define SCNu32 "u"
106  #define SCNu64 "llu"
107  #define SCNx64 "llx"
108  #define SCNuSZ "lu"
109  #define SCNuSZcast(x) (size_t * )(x)
110 #else
111  #include <inttypes.h>
112  #ifndef PRIuSZ
113  #define PRIuSZ "zu"
114  #define PRIuSZcast(x) (size_t)(x)
115  #endif
116  #ifndef SCNuSZ
117  #define SCNuSZ "zu"
118  #define SCNuSZcast(x) (size_t * )(x)
119  #endif
120 #endif
121 
122 /* Directives to show how we treat exporting functions with Windows from the DLL */
123 #if defined(_WIN32)
124 # if defined(_DLL) && defined(LBM_EXPORT_SYMS)
125 # define LBMExpDLL __declspec(dllexport)
126 # elif defined(LBM_STATIC_LIB)
127 # define LBMExpDLL
128 # else
129 # define LBMExpDLL __declspec(dllimport)
130 # endif /* _DLL && LBM_EXPORT_SYMS */
131 #elif defined(__TANDEM)
132 # if defined(LBM_EXPORT_SYMS)
133 # define LBMExpDLL export$
134 # else
135 # define LBMExpDLL import$
136 # endif
137 #else
138 # define LBMExpDLL
139 #endif /* _WIN32 */
140 
141 /* Constants */
143 #define LBM_EINVAL 1
144 
146 #define LBM_EWOULDBLOCK 2
147 
148 #define LBM_ENOMEM 3
149 
150 #define LBM_EOP 4
151 
152 #define LBM_EOS 5
153 
154 #define LBM_ETIMEDOUT 6
155 
156 #define LBM_EDAEMONCONN 7
157 
158 #define LBM_EUMENOREG 8
159 
160 #define LBM_EOPNOTSUPP 9
161 
162 #define LBM_EINPROGRESS 10
163 
164 #define LBM_ENO_QUEUE_REG 11
165 
166 #define LBM_ENO_STORE_REG 12
167 
168 #define LBM_EMSG_SELECTOR 14
169 
170 /* lbm_msg_t types */
172 #define LBM_MSG_DATA 0
173 
174 #define LBM_MSG_EOS 1
175 
176 #define LBM_MSG_REQUEST 2
177 
178 #define LBM_MSG_RESPONSE 3
179 
180 #define LBM_MSG_UNRECOVERABLE_LOSS 4
181 
182 #define LBM_MSG_UNRECOVERABLE_LOSS_BURST 5
183 
184 #define LBM_MSG_NO_SOURCE_NOTIFICATION 6
185 
186 #define LBM_MSG_UME_REGISTRATION_ERROR 7
187 
188 #define LBM_MSG_UME_REGISTRATION_SUCCESS 8
189 
190 #define LBM_MSG_UME_REGISTRATION_CHANGE 9
191 
192 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX 10
193 
194 #define LBM_MSG_UME_REGISTRATION_COMPLETE_EX 11
195 
196 #define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX 12
197 
198 #define LBM_MSG_UME_DEREGISTRATION_COMPLETE_EX 13
199 
201 #define LBM_MSG_UMQ_REGISTRATION_ERROR 16
202 
203 #define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX 18
204 
205 #define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX 19
206 
207 #define LBM_MSG_BOS 20
208 
209 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_ERROR 21
210 
211 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX 22
212 
213 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX 23
214 
215 #define LBM_MSG_UMQ_INDEX_ASSIGNED_EX 24
216 
217 #define LBM_MSG_UMQ_INDEX_RELEASED_EX 25
218 
219 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ERROR 26
220 
221 #define LBM_MSG_HF_RESET 27
222 
223 #define LBM_MSG_RESERVED_1 28
224 
225 /* Flags to sending/receiving functions. */
227 #define LBM_MSG_START_BATCH 0x1
228 
229 #define LBM_MSG_END_BATCH 0x2
230 
232 #define LBM_MSG_COMPLETE_BATCH 0x3 /* same as START | END */
233 
235 #define LBM_MSG_FLUSH 0x4
236 
238 #define LBM_SRC_NONBLOCK 0x8
239 
240 #define LBM_SRC_BLOCK_TEMP 0x10
241 
244 #define LBM_SRC_BLOCK 0x20
245 
246 #define LBM_MSG_IOV_GATHER 0x40
247 
252 #define LBM_MSG_BUFF_ALLOC 0x100
253 
255 #define LBM_RCV_NONBLOCK 0x8
256 
257 #define LBM_RCV_BLOCK_TEMP 0x10
258 
259 #define LBM_RCV_BLOCK 0x20
260 
263 #define LBM_MSG_FLAG_START_BATCH 0x1
264 
265 #define LBM_MSG_FLAG_END_BATCH 0x2
266 
267 #define LBM_MSG_FLAG_HF_PASS_THROUGH 0x4
268 
269 #define LBM_MSG_FLAG_UME_RETRANSMIT 0x8
270 
271 #define LBM_MSG_FLAG_RETRANSMIT 0x8
272 
273 #define LBM_MSG_FLAG_IMMEDIATE 0x10
274 
275 #define LBM_MSG_FLAG_HF_DUPLICATE 0x20
276 
277 #define LBM_MSG_FLAG_UMQ_REASSIGNED 0x40
278 
279 #define LBM_MSG_FLAG_UMQ_RESUBMITTED 0x80
280 
281 #define LBM_MSG_FLAG_TOPICLESS 0x100
282 
284 #define LBM_MSG_FLAG_DELIVERY_LATENCY 0x200
285 
287 #define LBM_MSG_FLAG_HF_OPTIONAL 0x400
288 
289 #define LBM_MSG_FLAG_HF_32 0x800
290 
291 #define LBM_MSG_FLAG_HF_64 0x1000
292 
293 #define LBM_MSG_FLAG_OTR 0x2000
294 
295 #define LBM_MSG_FLAG_UME_SRC_REGID 0x4000
296 
297 
300 #define LBM_MSG_FLAG_NUMBERED_CHANNEL 0x1
301 
302 /* Flags to topic resolution request function. May be ORed together. */
304 #define LBM_TOPIC_RES_REQUEST_GW_REMOTE_INTEREST 0x40
305 
306 #define LBM_TOPIC_RES_REQUEST_CONTEXT_QUERY 0x20
307 
308 #define LBM_TOPIC_RES_REQUEST_CONTEXT_ADVERTISEMENT 0x10
309 
310 #define LBM_TOPIC_RES_REQUEST_RESERVED1 0x08
311 
312 #define LBM_TOPIC_RES_REQUEST_ADVERTISEMENT 0x04
313 
314 #define LBM_TOPIC_RES_REQUEST_QUERY 0x02
315 
316 #define LBM_TOPIC_RES_REQUEST_WILDCARD_QUERY 0x01
317 
318 /* event types for source callbacks */
321 #define LBM_SRC_EVENT_CONNECT 1
322 
323 #define LBM_SRC_EVENT_DISCONNECT 2
324 
325 #define LBM_SRC_EVENT_WAKEUP 3
326 
327 #define LBM_SRC_EVENT_DAEMON_CONFIRM 4
328 
329 #define LBM_SRC_EVENT_UME_REGISTRATION_ERROR 5
330 
331 #define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS 6
332 
333 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE 7
334 
335 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION 8
336 
337 #define LBM_SRC_EVENT_UME_STORE_UNRESPONSIVE 9
338 
339 #define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED 10
340 
341 #define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX 11
342 
343 #define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX 12
344 
345 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX 13
346 
347 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX 14
348 
349 #define LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO 15
350 
351 #define LBM_SRC_EVENT_UMQ_REGISTRATION_ERROR 16
352 
353 #define LBM_SRC_EVENT_UMQ_MESSAGE_ID_INFO 17
354 
355 #define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX 18
356 
357 #define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX 19
358 
359 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_ASSIGNED_EX 20
360 
361 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX 21
362 
363 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX 22
364 
365 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_COMPLETE_EX 23
366 
367 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_CONSUMED_EX 24
368 
369 #define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_REGISTRATION_EX 25
370 
371 #define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_DEREGISTRATION_EX 26
372 
373 #define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_READY_EX 27
374 
375 #define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_TIMEOUT_EX 28
376 
377 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION 29
378 
379 #define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX 30
380 
381 #define LBM_SRC_EVENT_UME_DEREGISTRATION_SUCCESS_EX 31
382 
383 #define LBM_SRC_EVENT_UME_DEREGISTRATION_COMPLETE_EX 32
384 
385 #define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE 33
386 
387 #define LBM_SRC_EVENT_TIMESTAMP 34
388 
389 /* event types for context event callbacks */
391 #define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX 1
392 
393 #define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_SUCCESS_EX 2
394 
395 #define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_ERROR 3
396 
397 #define LBM_CONTEXT_EVENT_UMQ_INSTANCE_LIST_NOTIFICATION 4
398 
399 /* UM Transport Types */
401 #define LBM_TRANSPORT_TYPE_TCP 0x00
402 
403 #define LBM_TRANSPORT_TYPE_LBTRU 0x01
404 
405 #define LBM_TRANSPORT_TYPE_LBTSMX 0x4
406 
407 #define LBM_TRANSPORT_TYPE_LBTRM 0x10
408 
409 #define LBM_TRANSPORT_TYPE_LBTIPC 0x40
410 
411 #define LBM_TRANSPORT_TYPE_LBTRDMA 0x20
412 
413 #define LBM_TRANSPORT_TYPE_BROKER 0x80
414 
415 /* Security protocols */
417 #define LBM_SECURITY_PROTOCOL_NONE 0x1
418 
419 #define LBM_SECURITY_PROTOCOL_TLS 0x2
420 
421 
422 /* TCP compression types. */
423 #define LBM_CTX_ATTR_COMPRESSION_NONE 0
424 #define LBM_CTX_ATTR_COMPRESSION_LZ4 1
425 
426 /* Context attr - Opmode */
428 #define LBM_CTX_ATTR_OP_EMBEDDED 1
429 
430 #define LBM_CTX_ATTR_OP_DAEMON 2
431 
432 #define LBM_CTX_ATTR_OP_SEQUENTIAL 3
433 
434 /* Context attr - fdtype */
435 #define LBM_CTX_ATTR_FDTYPE_POLL 1
436 #define LBM_CTX_ATTR_FDTYPE_SELECT 2
437 #define LBM_CTX_ATTR_FDTYPE_WSAEV 3
438 #define LBM_CTX_ATTR_FDTYPE_WINCPORT 4
439 #define LBM_CTX_ATTR_FDTYPE_WINCPORT_OV 5
440 #define LBM_CTX_ATTR_FDTYPE_EPOLL 6
441 #define LBM_CTX_ATTR_FDTYPE_DEVPOLL 7
442 #define LBM_CTX_ATTR_FDTYPE_KQUEUE 8
443 #define LBM_CTX_ATTR_FDTYPE_WINRIOCPORT 9
444 
445 /* Context attr - monitor transport */
446 #define LBM_CTX_ATTR_MON_TRANSPORT_LBM 1
447 #define LBM_CTX_ATTR_MON_TRANSPORT_LBMSNMP 2
448 
449 /* Context attr - IPC receiver signaling behavior */
450 #define LBM_CTX_ATTR_IPC_RCV_THREAD_PEND 1
451 #define LBM_CTX_ATTR_IPC_RCV_THREAD_BUSY_WAIT 2
452 
453 /* Context attr - File Descriptor Management signaling behavior */
454 #define LBM_CTX_ATTR_FD_MANAGEMENT_BEHAVIOR_PEND 1
455 #define LBM_CTX_ATTR_FD_MANAGEMENT_BEHAVIOR_BUSY_WAIT 2
456 
457 /* Context attr - LBT-RDMA receiver signaling behavior */
458 #define LBM_CTX_ATTR_RDMA_RCV_THREAD_PEND 1
459 #define LBM_CTX_ATTR_RDMA_RCV_THREAD_BUSY_WAIT 2
460 
461 /* Context attr - Receive Thread Pool Behavior */
462 #define LBM_CTX_ATTR_RCV_THRD_POOL_CREATE 1
463 #define LBM_CTX_ATTR_RCV_THRD_POOL_DYNAMIC 2
464 
465 /* Context attr - Network compatibility mode */
466 #define LBM_CTX_ATTR_NET_COMPAT_MODE_DEFAULT 0x00000000
467 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6 0x00030600
468 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_1 0x00030601
469 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_2 0x00030602
470 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_5 0x00030605
471 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_0 0x00040000
472 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_0_1 0x00040001
473 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1 0x00040100
474 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_1 0x00040101
475 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_2 0x00040102
476 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_3 0x00040103
477 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_1 0x00040201
478 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_2 0x00040202
479 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_3 0x00040203
480 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_4 0x00040204
481 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_5 0x00040205
482 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_6 0x00040206
483 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_7 0x00040207
484 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_8 0x00040208
485 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0 0x01030000
486 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0_1 0x01030001
487 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0_2 0x01030002
488 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1 0x01030100
489 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_1 0x01030101
490 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_2 0x01030102
491 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_3 0x01030103
492 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_1 0x01030201
493 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_2 0x01030202
494 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_3 0x01030203
495 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_4 0x01030204
496 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_5 0x01030205
497 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_6 0x01030206
498 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_7 0x01030207
499 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_8 0x01030208
500 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_0 0x02010000
501 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_1 0x02010100
502 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_1_1 0x02010101
503 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_0 0x02020000
504 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_0_1 0x02020001
505 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_1 0x02020101
506 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_3 0x02020103
507 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_4 0x02020104
508 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_5 0x02020105
509 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_6 0x02020106
510 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_7 0x02020107
511 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_8 0x02020108
512 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_9 0x02020109
513 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_10 0x0202010a
514 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_0 0x03050000
515 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_0_1 0x03050001
516 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1 0x03050100
517 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1_1 0x03050101
518 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1_2 0x03050102
519 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2 0x03050200
520 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2_1 0x03050201
521 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2_2 0x03050202
522 
523 /* Src Topic attr */
524 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_TCP LBM_TRANSPORT_TYPE_TCP
525 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTRM LBM_TRANSPORT_TYPE_LBTRM
526 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTRU LBM_TRANSPORT_TYPE_LBTRU
527 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTIPC LBM_TRANSPORT_TYPE_LBTIPC
528 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTSMX LBM_TRANSPORT_TYPE_LBTSMX
529 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTRDMA LBM_TRANSPORT_TYPE_LBTRDMA
530 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_BROKER LBM_TRANSPORT_TYPE_BROKER
531 #define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_NORMAL 0
532 #define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_BOUNDED_LATENCY 1
533 #define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SOURCE_PACED 2
534 #define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SEND_ORDER_SERIAL 0
535 #define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SEND_ORDER_RANDOM 1
536 #define LBM_SRC_TOPIC_ATTR_SSF_NONE 0
537 #define LBM_SRC_TOPIC_ATTR_SSF_INCLUSION 1
538 #define LBM_SRC_TOPIC_ATTR_SSF_EXCLUSION 2
539 #define LBM_SRC_TOPIC_ATTR_SSF_ULB 3
540 #define LBM_SRC_TOPIC_ATTR_IMPLICIT_BATCH_TYPE_DEFAULT 0
541 #define LBM_SRC_TOPIC_ATTR_IMPLICIT_BATCH_TYPE_ADAPTIVE 1
542 #define LBM_SRC_TOPIC_ATTR_UME_STORE_BEHAVIOR_RR 0x0
543 #define LBM_SRC_TOPIC_ATTR_UME_STORE_BEHAVIOR_QC 0x1
544 #define LBM_SRC_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_LOWEST 0x0
545 #define LBM_SRC_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_MAJORITY 0x1
546 #define LBM_SRC_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_HIGHEST 0x2
547 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_ANY 0x0
548 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_MAJORITY 0x1
549 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_QUORUM 0x1
550 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_ALL 0x2
551 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_ALL_ACTIVE 0x3
552 #define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_ANY 0x0
553 #define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_MAJORITY 0x1
554 #define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_QUORUM 0x1
555 #define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_ALL 0x2
556 #define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_ALL_ACTIVE 0x3
557 #define LBM_SRC_TOPIC_ATTR_LBTIPC_BEHAVIOR_SOURCE_PACED LBTIPC_BEHAVIOR_SRC_PACED
558 #define LBM_SRC_TOPIC_ATTR_LBTIPC_BEHAVIOR_RECEIVER_PACED LBTIPC_BEHAVIOR_RCVR_PACED
559 /* The following ULB event masks should not be changed.
560  * The numeric values are embedded in user configuration files. */
561 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_CONSUME 0x1
562 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_TIMEOUT 0x2
563 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_ASSIGNMENT 0x4
564 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_REASSIGNMENT 0x8
565 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_COMPLETE 0x10
566 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_TIMEOUT 0x20
567 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_REGISTRATION 0x40
568 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_DEREGISTRATION 0x80
569 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_READY 0x100
570 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_ALL 0x1FF
571 
572 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_ASSIGNMENT_DEFAULT 0x0
573 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_ASSIGNMENT_RANDOM 0x1
574 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_LF_BEHAVIOR_IGNORED 0x0
575 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_LF_BEHAVIOR_PROVISIONED 0x1
576 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_LF_BEHAVIOR_DYNAMIC 0x2
577 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_NONE 0x0
578 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_PER_FRAGMENT 0x1
579 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_PER_MESSAGE 0x2
580 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_FRAG_AND_MSG 0x3
581 #define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_NONE 0x0
582 #define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_PER_FRAGMENT 0x1
583 #define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_PER_MESSAGE 0x2
584 #define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_FRAG_AND_MSG 0x3
585 #define LBM_SRC_TOPIC_ATTR_SECURITY_PROTOCOL_NONE LBM_SECURITY_PROTOCOL_NONE
586 #define LBM_SRC_TOPIC_ATTR_SECURITY_PROTOCOL_TLS LBM_SECURITY_PROTOCOL_TLS
587 
588 /* Rcv Topic attr */
589 #define LBM_RCV_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_LOWEST 0x0
590 #define LBM_RCV_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_MAJORITY 0x1
591 #define LBM_RCV_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_HIGHEST 0x2
592 #define LBM_RCV_TOPIC_ATTR_TCP_ACTIVITY_TIMEOUT_SO_KEEPALIVE 0x1
593 #define LBM_RCV_TOPIC_ATTR_TCP_ACTIVITY_TIMEOUT_TIMER 0x2
594 #define LBM_RCV_TOPIC_ATTR_CHANNEL_BEHAVIOR_DELIVER_MSGS 0x1
595 #define LBM_RCV_TOPIC_ATTR_CHANNEL_BEHAVIOR_DISCARD_MSGS 0x2
596 #define LBM_RCV_TOPIC_ATTR_UMQ_INDEX_ASSIGN_ELIGIBILITY_INELIGIBLE 0x0
597 #define LBM_RCV_TOPIC_ATTR_UMQ_INDEX_ASSIGN_ELIGIBILITY_ELIGIBLE 0x1
598 #define LBM_RCV_TOPIC_ATTR_UMQ_QUEUE_PARTICIPATION_NONE 0
599 #define LBM_RCV_TOPIC_ATTR_UMQ_QUEUE_PARTICIPATION_NORMAL 1
600 #define LBM_RCV_TOPIC_ATTR_UMQ_QUEUE_PARTICIPATION_OBSERVER 2
601 #define LBM_RCV_TOPIC_ATTR_UMQ_HOLD_INTERVAL_FOREVER 0xFFFFFFFF
602 #define LBM_RCV_TOPIC_ATTR_SECURITY_PROTOCOL_NONE LBM_SECURITY_PROTOCOL_NONE
603 #define LBM_RCV_TOPIC_ATTR_SECURITY_PROTOCOL_TLS LBM_SECURITY_PROTOCOL_TLS
604 
605 
606 /* Limits */
607 #define LBM_MSG_MAX_SOURCE_LEN 128
608 #define LBM_MSG_MAX_TOPIC_LEN 256
609 #define LBM_MSG_MAX_STATE_LEN 32
610 #define LBM_UME_MAX_STORE_STRLEN 24
611 #define LBM_UMQ_MAX_QUEUE_STRLEN 256
612 #define LBM_UMQ_MAX_TOPIC_STRLEN 256
613 #define LBM_UMQ_MAX_APPSET_STRLEN 256
614 #define LBM_MAX_CONTEXT_NAME_LEN 128
615 #define LBM_MAX_EVENT_QUEUE_NAME_LEN 128
616 #define LBM_MAX_UME_STORES 25
617 #define LBM_MAX_UME_GROUPS 5
618 #define LBM_UMQ_ULB_MAX_RECEIVER_STRLEN 32
619 #define LBM_UMQ_MAX_INDEX_LEN 216
620 #define LBM_UMQ_USER_NAME_LENGTH_MAX 127
621 #define LBM_UMQ_PASSWORD_LENGTH_MAX 15
622 #define LBM_UMM_NUM_SERVERS_MAX 16
623 #define LBM_UMM_USER_NAME_LENGTH_MAX 100
624 #define LBM_UMM_APP_NAME_LENGTH_MAX 100
625 #define LBM_UMM_PASSWORD_LENGTH_MAX 100
626 #define LBM_UMM_SERVER_LENGTH_MAX 32
627 #define LBM_HMAC_BLOCK_SZ 20
628 #define LBM_MAX_GATEWAY_NAME_LEN 128
629 #define LBM_OTID_BLOCK_SZ 32
630 #define LBM_CONTEXT_INSTANCE_BLOCK_SZ 8
631 
632 #define LBM_FLIGHT_SIZE_BEHAVIOR_NOTIFY 0x0
633 #define LBM_FLIGHT_SIZE_BEHAVIOR_BLOCK 0x1
634 
635 /* Event types for file descriptor/socket management */
637 #define LBM_FD_EVENT_READ 0x1
638 
639 #define LBM_FD_EVENT_WRITE 0x2
640 
641 #define LBM_FD_EVENT_EXCEPT 0x4
642 
643 #define LBM_FD_EVENT_ACCEPT 0x8
644 
645 #define LBM_FD_EVENT_CLOSE 0x10
646 
647 #define LBM_FD_EVENT_CONNECT 0x20
648 
649 #define LBM_FD_EVENT_ALL 0x3f
650 
652 #define LBM_EVENT_QUEUE_BLOCK 0xFFFFFFFF
653 
654 #define LBM_EVENT_QUEUE_POLL 0x0
655 
656 /* Event Queue monitor event types */
658 #define LBM_EVENT_QUEUE_SIZE_WARNING 0x1
659 
660 #define LBM_EVENT_QUEUE_DELAY_WARNING 0x2
661 
662 #define LBM_EVENT_QUEUE_ENQUEUE_NOTIFICATION 0x3
663 
664 /* UM Log level values */
666 #define LBM_LOG_EMERG 1
667 
668 #define LBM_LOG_ALERT 2
669 
670 #define LBM_LOG_CRIT 3
671 
672 #define LBM_LOG_ERR 4
673 
674 #define LBM_LOG_WARNING 5
675 
676 #define LBM_LOG_NOTICE 6
677 
678 #define LBM_LOG_INFO 7
679 
680 #define LBM_LOG_DEBUG 8
681 
682 /* Daemon log file rollover max size (MB) */
683 #define LBM_LOG_ROLLOVER_SIZE_MAX 4000
684 /* Debug log file rollover max size (bytes) */
685 #define LBM_DEBUG_LOG_ROLLOVER_SIZE_MAX 0xFFFFFFFF
686 
687 /* UM daemon event types */
689 #define LBM_DAEMON_EVENT_CONNECTED 1
690 
691 #define LBM_DAEMON_EVENT_CONNECT_ERROR 2
692 
693 #define LBM_DAEMON_EVENT_DISCONNECTED 3
694 
695 #define LBM_DAEMON_EVENT_CONNECT_TIMEOUT 4
696 
697 /* transport statistics types */
699 #define LBM_TRANSPORT_STAT_TCP LBM_TRANSPORT_TYPE_TCP
700 
701 #define LBM_TRANSPORT_STAT_LBTRM LBM_TRANSPORT_TYPE_LBTRM
702 
703 #define LBM_TRANSPORT_STAT_DAEMON 0xFF
704 
705 #define LBM_TRANSPORT_STAT_LBTRU LBM_TRANSPORT_TYPE_LBTRU
706 
707 #define LBM_TRANSPORT_STAT_LBTIPC LBM_TRANSPORT_TYPE_LBTIPC
708 
709 #define LBM_TRANSPORT_STAT_LBTSMX LBM_TRANSPORT_TYPE_LBTSMX
710 
711 #define LBM_TRANSPORT_STAT_LBTRDMA LBM_TRANSPORT_TYPE_LBTRDMA
712 
713 #define LBM_TRANSPORT_STAT_BROKER LBM_TRANSPORT_TYPE_BROKER
714 
715 /*SRS interest modes*/
717 #define LBM_SRS_INTEREST_REMOVE 0
718 
719 #define LBM_SRS_INTEREST_ADD 1
720 
721 #define LBM_CTX_ATTR_INTEREST_MODE_FLOOD 0
722 
723 #define LBM_CTX_ATTR_INTEREST_MODE_FILTER 1
724 
725 
726 /* wildcard receiver pattern types */
728 #define LBM_WILDCARD_RCV_PATTERN_TYPE_PCRE 1
729 
730 #define LBM_WILDCARD_RCV_PATTERN_TYPE_REGEX 2
731 
732 #define LBM_WILDCARD_RCV_PATTERN_TYPE_APP_CB 3
733 
734 /*LBM symbol types*/
736 #define LBM_SYMBOL_TYPE_TOPIC 0
737 
738 #define LBM_SYMBOL_TYPE_PATTERN LBM_WILDCARD_RCV_PATTERN_TYPE_PCRE
739 
740 /* LBM_SRC_EVENT_WAKEUP source type flags */
742 #define LBM_SRC_EVENT_WAKEUP_FLAG_NORMAL 0x1
743 
744 #define LBM_SRC_EVENT_WAKEUP_FLAG_MIM 0x2
745 
746 #define LBM_SRC_EVENT_WAKEUP_FLAG_UIM 0x4
747 
748 #define LBM_SRC_EVENT_WAKEUP_FLAG_REQUEST 0x8
749 
750 #define LBM_SRC_EVENT_WAKEUP_FLAG_RESPONSE 0x10
751 
752 /* LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX event flags */
754 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_TOTAL_LIFETIME_EXPIRED 0x1
755 
756 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_EXPLICIT 0x2
757 
758 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_DISCARD 0x4
759 
760 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_MAX_REASSIGNS 0x8
761 
762 /* LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX event flags */
764 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX_FLAG_EXPLICIT 0x1
765 
766 /* LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION type */
768 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_UME 0x1
769 
770 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_ULB 0x2
771 
772 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_UMQ 0x3
773 
774 /* LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION state */
776 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_OVER 0x1
777 
778 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_UNDER 0x2
779 
780 /* lbm_src_get_inflight types */
782 #define LBM_FLIGHT_SIZE_TYPE_UME 0x1
783 
784 #define LBM_FLIGHT_SIZE_TYPE_ULB 0x2
785 
786 #define LBM_FLIGHT_SIZE_TYPE_UMQ 0x3
787 
788 /* lbm_src_send_ex info flags */
792 #define LBM_SRC_SEND_EX_FLAG_UME_CLIENTD 0x1
793 
796 #define LBM_SRC_SEND_EX_FLAG_UMQ_CLIENTD 0x1
797 
800 #define LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO 0x2
801 
803 #define LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY 0x4
804 
807 #define LBM_SRC_SEND_EX_FLAG_APPHDR_CHAIN 0x8
808 
809 #define LBM_SRC_SEND_EX_FLAG_UMQ_MESSAGE_ID_INFO 0x10
810 
812 #define LBM_SRC_SEND_EX_FLAG_CHANNEL 0x20
813 
816 #define LBM_SRC_SEND_EX_FLAG_UMQ_INDEX 0x40
817 
820 #define LBM_SRC_SEND_EX_FLAG_UMQ_TOTAL_LIFETIME 0x80
821 
822 #define LBM_SRC_SEND_EX_FLAG_HF_OPTIONAL 0x100
823 
827 #define LBM_SRC_SEND_EX_FLAG_PROPERTIES 0x200
828 
831 #define LBM_SRC_SEND_EX_FLAG_HF_32 0x400
832 
835 #define LBM_SRC_SEND_EX_FLAG_HF_64 0x800
836 
837 /* lbm_ssrc_send_ex() info flags */
842 #define LBM_SSRC_SEND_EX_FLAG_UME_CLIENTD 0x1
843 
846 #define LBM_SSRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO 0x2
847 
850 #define LBM_SSRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY 0x4
851 
855 #define LBM_SSRC_SEND_EX_FLAG_CHANNEL 0x20
856 
860 #define LBM_SSRC_SEND_EX_FLAG_PROPERTIES 0x200
861 
864 #define LBM_SSRC_SEND_EX_FLAG_REBUILD_BUFFER 0x1000
865 
868 #define LBM_SSRC_SEND_EX_FLAG_UPDATE_CHANNEL 0x2000
869 
872 #define LBM_SSRC_SEND_EX_FLAG_UPDATE_PROPERTY_VALUES 0x4000
873 
877 #define LBM_SSRC_SEND_EX_FLAG_USER_SUPPLIED_BUFFER 0x8000
878 
879 /* Smart Source defaults */
881 #define SSRC_DEFAULT_MAX_MSG_LEN 368
882 
883 /* Message properties types */
886 #define LBM_MSG_PROPERTY_NONE 0x0
887 
890 #define LBM_MSG_PROPERTY_BOOLEAN 0x1
891 
894 #define LBM_MSG_PROPERTY_BYTE 0x2
895 
898 #define LBM_MSG_PROPERTY_SHORT 0x3
899 
902 #define LBM_MSG_PROPERTY_INT 0x4
903 
906 #define LBM_MSG_PROPERTY_LONG 0x5
907 
910 #define LBM_MSG_PROPERTY_FLOAT 0x6
911 
914 #define LBM_MSG_PROPERTY_DOUBLE 0x7
915 
918 #define LBM_MSG_PROPERTY_STRING 0x8
919 
922 #define LBM_MSG_PROPERTIES_MAX_NAMELEN 250
923 
924 /* appheader chain element types */
926 #define LBM_CHAIN_ELEM_CHANNEL_NUMBER 0x1
927 
928 #define LBM_CHAIN_ELEM_HF_SQN 0x2
929 
930 #define LBM_CHAIN_ELEM_GW_INFO 0x3
931 
932 #define LBM_CHAIN_ELEM_APPHDR 0x4
933 
934 #define LBM_CHAIN_ELEM_USER_DATA 0x5
935 
937 #define LBM_CHAIN_ELEM_PROPERTIES_LENGTH 0x6
938 
939 /* flags for registration successful extended event for UMP sources */
941 #define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_OLD 0x1
942 
943 #define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_NOACKS 0x2
944 
945 #define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP 0x4
946 
947 /* flags for registration complete extended event for UMP sources */
949 #define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX_FLAG_QUORUM 0x1
950 
951 /* flags for message stability extended event for UMP sources */
953 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_INTRAGROUP_STABLE 0x1
954 
955 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_INTERGROUP_STABLE 0x2
956 
957 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_STABLE 0x4
958 
959 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_STORE 0x8
960 
961 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_WHOLE_MESSAGE_STABLE 0x10
962 
963 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_USER 0x20
964 
966 #define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE_FLAG_STORE 0x8
967 
968 #define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE_FLAG_LOSS 0x40
969 
970 #define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE_FLAG_TIMEOUT 0x80
971 
972 /* flags for delivery confirmation extended event for UMP sources */
974 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_UNIQUEACKS 0x1
975 
976 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_UREGID 0x2
977 
978 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_OOD 0x4
979 
980 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_EXACK 0x8
981 
982 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_WHOLE_MESSAGE_CONFIRMED 0x10
983 
984 /* flags for message reclaimed extended event for source */
986 #define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX_FLAG_FORCED 0x1
987 
988 /* flags for registration successful extended event for UMP receivers */
990 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_OLD 0x1
991 
992 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_NOCACHE 0x2
993 
994 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP 0x4
995 
996 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_SRC_SID 0x8
997 
998 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP_IS_NON_BLOCKING 0x10
999 
1000 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_PROACTIVE_KEEPALIVE 0x20
1001 
1002 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_RANGED_RXREQ 0x40
1003 
1004 /* flags for recovery sequence number information structure */
1006 #define LBM_UME_RCV_RECOVERY_INFO_EX_FLAG_SRC_SID 0x1
1007 
1008 /* flags for registration complete extended event for UMP receivers */
1010 #define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_QUORUM 0x1
1011 
1012 #define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_RXREQMAX 0x2
1013 
1014 #define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_SRC_SID 0x4
1015 
1017 #define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX_FLAG_RPP 0x1
1018 
1019 /* flags for registration complete extended event for UMQ contexts */
1021 #define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM 0x1
1022 
1023 /* flags for registration complete extended event for UMQ sources */
1025 #define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM 0x1
1026 
1028 #define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_INTRAGROUP_STABLE 0x1
1029 
1030 #define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_INTERGROUP_STABLE 0x2
1031 
1032 #define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_STABLE 0x4
1033 
1034 #define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_USER 0x8
1035 
1036 /* flags for registration complete extended event for UMQ receivers */
1038 #define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM 0x1
1039 
1040 #define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX_FLAG_ULB 0x2
1041 
1042 /* flags for deregistration complete extended event for UMQ receivers */
1044 #define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX_FLAG_ULB 0x1
1045 
1046 /* flags for beginning of index event for UMQ receivers */
1048 #define LBM_MSG_UMQ_INDEX_ASSIGNED_EX_FLAG_ULB 0x1
1049 
1050 #define LBM_MSG_UMQ_INDEX_ASSIGNED_EX_FLAG_REQUESTED 0x2
1051 
1052 /* flags for end of index event for UMQ receivers */
1054 #define LBM_MSG_UMQ_INDEX_RELEASED_EX_FLAG_ULB 0x1
1055 
1056 /* flags for index assignment stop complete extended event for UMQ receivers */
1058 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX_FLAG_ULB 0x1
1059 
1060 /* flags for index assignment start complete extended event for UMQ receivers */
1062 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX_FLAG_ULB 0x1
1063 
1064 /* flags for lbm_msg_umq_reassign */
1066 #define LBM_MSG_UMQ_REASSIGN_FLAG_DISCARD 0x1
1067 
1068 /* flags for ume receiver liveness */
1069 /* TMO means that the source context has not heard from a given receiver for
1070  * a specified amount of time and is therefore declared "dead". */
1071 #define LBM_UME_LIVENESS_RECEIVER_UNRESPONSIVE_FLAG_TMO 0x1
1072 
1073 /* EOF means that the receiver context has closed the response socket
1074  * and the source context declares the receiver "dead".
1075  */
1076 #define LBM_UME_LIVENESS_RECEIVER_UNRESPONSIVE_FLAG_EOF 0x2
1077 
1078 /* flags for \ref lbm_umm_info_t */
1080 #define LBM_UMM_INFO_FLAGS_USE_SSL 0x1
1081 
1082 /*
1083  Possible JMS Message Types.
1084 */
1085 #define LBM_TEXTMESSAGE 0
1086 #define LBM_BYTEMESSAGE 1
1087 #define LBM_MAPMESSAGE 2
1088 #define LBM_MESSAGE 3
1089 #define LBM_OBJECTMESSAGE 4
1090 #define LBM_STREAMMESSAGE 5
1091 
1092 /*
1093  List of JMS provider message properties.
1094 */
1095 
1096 /* int, NON_PERSISTENT = 1, PERSISTENT = 2 */
1097 #define LBM_JMSDeliveryMode "JMSDeliveryMode"
1098 
1099 /* long, Number of milliseconds since 1970. */
1100 #define LBM_JMSExpiration "JMSExpiration"
1101 
1102 /* int */
1103 #define LBM_JMSPriority "JMSPriority"
1104 
1105 /* String */
1106 #define LBM_JMSMessageID "JMSMessageID"
1107 
1108 /* long, Number of milliseconds since 1970. */
1109 #define LBM_JMSTimestamp "JMSTimestamp"
1110 
1111 /* String */
1112 #define LBM_JMSCorrelationID "JMSCorrelationID"
1113 
1114 /* String, topic, queue or destination */
1115 #define LBM_JMSType "JMSType"
1116 
1117 /* boolean */
1118 #define LBM_JMSRedelivered "JMSRedelivered"
1119 
1120 /* int, LBM_TEXTMESSAGE, LBM_BYTEMESSAGE, LBM_MAPMESSAGE, LBM_MESSAGE, LBM_OBJECTMESSAGE, LBM_STREAMMESSAGE */
1121 #define LBM_LBMMessageType "JMS_UM_MessageType"
1122 
1123 /* String, topic, queue or destination */
1124 #define LBM_JMSTopicType "JMSTopicType"
1125 
1126 /* String */
1127 #define LBM_JMSReplyToName "JMSReplyToName"
1128 
1129 /* boolean*/
1130 #define LBM_JMSReplyToWildcard "JMSReplyToWildcard"
1131 
1132 /* String, topic, queue or destination */
1133 #define LBM_JMSReplyToType "JMSReplyToType"
1134 
1135 /* enums */
1136 enum {
1137  LBM_OK = 0,
1138  LBM_FAILURE = -1
1139 };
1140 
1141 /* Types */
1143 typedef unsigned int lbm_uint_t;
1145 typedef unsigned long int lbm_ulong_t;
1147 typedef unsigned short int lbm_ushort_t;
1149 typedef unsigned char lbm_uchar_t;
1151 typedef uint8_t lbm_uint8_t;
1153 typedef uint16_t lbm_uint16_t;
1155 typedef uint32_t lbm_uint32_t;
1157 typedef int32_t lbm_int32_t;
1159 typedef uint64_t lbm_uint64_t;
1160 
1161 #if !defined(DONT_TYPEDEF_INT_T)
1162 
1163 typedef int64_t lbm_int64_t;
1164 #else
1165 
1166 typedef __int64 lbm_int64_t;
1167 #endif
1168 
1169 #define LBM_EXTERNAL_STRUCT_FILL_SIZE (512)
1170 
1171 #if defined(_WIN32)
1172 typedef SOCKET lbm_handle_t;
1173 #else
1174 typedef int lbm_handle_t;
1175 #endif /* _WIN32 */
1176 
1177 struct lbm_context_t_stct;
1180 typedef struct lbm_context_t_stct lbm_context_t;
1181 
1188 typedef struct lbm_iovec_t_stct {
1190  char *iov_base;
1192  size_t iov_len;
1193 } lbm_iovec_t;
1194 
1203  lbm_uint_t addr;
1205  int bits;
1207 
1212 typedef struct lbm_timeval_t_stct {
1213  lbm_ulong_t tv_sec;
1214  lbm_ulong_t tv_usec;
1215 } lbm_timeval_t;
1216 
1221 typedef struct lbm_timespec_t_stct {
1222  lbm_ulong_t tv_sec;
1223  lbm_ulong_t tv_nsec;
1224 } lbm_timespec_t;
1225 
1240  int flags;
1242 
1251  int type;
1253  int state;
1255 
1264  lbm_uint_t registration_id;
1266 
1279  int flags;
1281  lbm_uint_t registration_id;
1283  lbm_uint_t sequence_number;
1285  lbm_ushort_t store_index;
1287  char store[LBM_UME_MAX_STORE_STRLEN];
1289 
1300  int flags;
1302  lbm_uint_t sequence_number;
1304 
1313  int flags;
1315  lbm_uint32_t registration_id;
1317  lbm_uint_t sequence_number;
1319  lbm_ushort_t store_index;
1321  char store[LBM_UME_MAX_STORE_STRLEN];
1323 
1334  lbm_uint_t sequence_number;
1336 
1337 
1350 
1367  int flags;
1373  lbm_uint_t sequence_number;
1375  lbm_ushort_t store_index;
1377  char store[LBM_UME_MAX_STORE_STRLEN];
1379  lbm_uint64_t src_session_id;
1381 
1394  int flags;
1396  lbm_uint_t sequence_number;
1398  lbm_uint64_t src_session_id;
1400 
1411  int flags;
1417  lbm_uint_t sequence_number;
1419  lbm_ushort_t store_index;
1421  char store[LBM_UME_MAX_STORE_STRLEN];
1423 
1432  lbm_uint_t sequence_number;
1438 
1449  int flags;
1451  lbm_uint_t sequence_number;
1455  char store[LBM_UME_MAX_STORE_STRLEN];
1459  lbm_ushort_t store_index;
1461 
1462 
1470  lbm_uint64_t bytes;
1472 
1473 struct lbm_src_channel_info_t_stct;
1476 typedef struct lbm_src_channel_info_t_stct lbm_src_channel_info_t;
1477 
1479 #define LBM_UMQ_INDEX_FLAG_NUMERIC 0x1
1480 
1491  int flags;
1495  char index[LBM_UMQ_MAX_INDEX_LEN];
1497  size_t index_len;
1499 
1508  int flags;
1510  lbm_uint_t queue_id;
1511  /* The name of the queue */
1512  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
1514 
1515 
1527  int flags;
1529  lbm_uint_t queue_id;
1530  /* The name of the queue */
1531  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
1532  /* The index info. */
1533  lbm_umq_index_info_t index_info;
1535 
1546  int flags;
1548  lbm_uint_t queue_id;
1549  /* The name of the queue */
1550  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
1551  /* The index info. */
1552  lbm_umq_index_info_t index_info;
1554 
1563  int flags;
1565  lbm_uint_t queue_id;
1566  /* The name of the queue */
1567  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
1569 
1570 struct lbm_apphdr_chain_t_stct;
1572 typedef struct lbm_apphdr_chain_t_stct lbm_apphdr_chain_t;
1573 
1582  int flags;
1586 
1590  lbm_uint32_t u32;
1592  lbm_uint64_t u64;
1594 
1596 typedef lbm_uint64_t lbm_umq_regid_t;
1597 
1605 typedef struct lbm_umq_msgid_t_stct {
1607  lbm_umq_regid_t regid;
1609  lbm_uint64_t stamp;
1610 } lbm_umq_msgid_t;
1611 
1618  char appset_name[LBM_UMQ_MAX_APPSET_STRLEN];
1620  lbm_uint32_t *ids;
1622  int num_ids;
1625  /* Reserved field; do not touch. */
1626  void *reserved;
1628 
1636  char topic_name[LBM_UMQ_MAX_TOPIC_STRLEN];
1642  void *reserved;
1644 
1647 typedef struct {
1651  int status;
1653  int flags;
1655 
1657 typedef struct {
1663 
1664 struct lbm_msg_t_stct;
1666 typedef struct lbm_msg_t_stct lbm_msg_t;
1667 
1668 struct lbm_event_queue_t_stct;
1671 typedef struct lbm_event_queue_t_stct lbm_event_queue_t;
1672 
1674 #define LBM_UMQ_QUEUE_MSG_STATUS_UNKNOWN 0
1675 
1676 #define LBM_UMQ_QUEUE_MSG_STATUS_UNASSIGNED 1
1677 
1678 #define LBM_UMQ_QUEUE_MSG_STATUS_ASSIGNED 2
1679 
1680 #define LBM_UMQ_QUEUE_MSG_STATUS_REASSIGNING 3
1681 
1682 #define LBM_UMQ_QUEUE_MSG_STATUS_CONSUMED 4
1683 
1685 typedef struct {
1691  void *clientd;
1693  int status;
1695  int flags;
1697 
1699 typedef struct {
1703  lbm_uint64_t num_msgs;
1705 
1707 typedef struct {
1713 
1715 #define LBM_ASYNC_OP_TYPE_CTX_UMQ_QUEUE_TOPIC_LIST 1
1716 
1717 #define LBM_ASYNC_OP_TYPE_RCV_UMQ_QUEUE_MSG_LIST 2
1718 
1719 #define LBM_ASYNC_OP_TYPE_RCV_UMQ_QUEUE_MSG_RETRIEVE 3
1720 
1722 #define LBM_ASYNC_OP_STATUS_IN_PROGRESS 1
1723 
1724 #define LBM_ASYNC_OP_STATUS_COMPLETE 128
1725 
1726 #define LBM_ASYNC_OP_STATUS_ERROR 129
1727 
1728 #define LBM_ASYNC_OP_STATUS_CANCELED 130
1729 
1731 #define LBM_ASYNC_OP_INVALID_HANDLE 0
1732 
1734 #define LBM_ASYNC_OPERATION_CANCEL_FLAG_NONBLOCK 0x1
1735 
1737 #define LBM_ASYNC_OPERATION_STATUS_FLAG_NONBLOCK 0x1
1738 
1741 typedef lbm_uint64_t lbm_async_operation_handle_t;
1742 
1750 typedef struct {
1752  int type;
1754  int status;
1761  int flags;
1763  lbm_async_operation_handle_t handle;
1765  union {
1766  lbm_ctx_umq_queue_topic_list_info_t *ctx_umq_queue_topic_list;
1767  lbm_rcv_umq_queue_msg_list_info_t *rcv_umq_queue_msg_list;
1768  lbm_rcv_umq_queue_msg_retrieve_info_t *rcv_umq_queue_msg_retrieve;
1769  } info;
1771 
1777  lbm_uint64_t info_flags;
1778  lbm_uint32_t capability_flags;
1779  lbm_uint8_t source_type;
1780  lbm_uint32_t domain_id;
1781  lbm_uint32_t version;
1782  lbm_uint8_t source_id[8];
1784 
1787 typedef lbm_uint32_t (*lbm_resolver_event_cb_func) (lbm_context_t *ctx, int event, const void * ed, const lbm_resolver_event_info_t * info, void *clientd);
1788 
1789 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_TYPE 0x01
1790 
1792 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_LJ 0x00000001
1793 
1794 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_UME 0x00000002
1795 
1796 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_UMQ 0x00000004
1797 
1798 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_ULB 0x00000008
1799 
1800 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_EVC 0x00000010 /* Eviction Notice */
1801 
1812  lbm_uint32_t flags;
1813  char topic_string[LBM_MSG_MAX_TOPIC_LEN];
1814  char transport_string[LBM_MSG_MAX_SOURCE_LEN];
1815  lbm_uint32_t topic_index;
1816  lbm_uint32_t source_domain_id;
1817  lbm_uint8_t otid[LBM_OTID_BLOCK_SZ];
1818  lbm_uint32_t source_type;
1820 
1824  lbm_resolver_event_cb_func event_cb_func;
1825  void * clientd;
1827 
1839 typedef void *(*lbm_mem_mgt_malloc_cb_func) (size_t size, void *clientd);
1840 
1853 typedef void *(*lbm_mem_mgt_realloc_cb_func) (void *ptr, size_t size, void *clientd);
1854 
1866 typedef void(*lbm_mem_mgt_free_cb_func) (void *ptr, void *clientd);
1867 
1875  lbm_mem_mgt_malloc_cb_func malloc_cb_func;
1876  lbm_mem_mgt_realloc_cb_func realloc_cb_func;
1877  lbm_mem_mgt_free_cb_func free_cb_func;
1878  void * clientd;
1880 
1881 /* lbm_process_events_info_tinfo flags */
1884 #define LBM_PROC_EVENT_EX_FLAG_USER_TIME 0x0001
1885 
1887 #define LBM_PROC_EVENT_EX_FLAG_NO_MAIN_LOOP_MUTEX 0x0002
1888 
1902  int flags;
1908 
1909 #define LBM_RESOLVER_EVENT_INFO_CAPABILITY_VERSION_FLAG_UME 0x1
1910 #define LBM_RESOLVER_EVENT_INFO_CAPABILITY_VERSION_FLAG_UMQ 0x2
1911 
1912 
1913 #define LBM_RESOLVER_EVENT_INFO_INFO_DOMAIN_ID_PRESENT_FLAG 0x1ULL
1914 #define LBM_RESOLVER_EVENT_INFO_INFO_SOURCE_ID_PRESENT_FLAG 0x2ULL
1915 #define LBM_RESOLVER_EVENT_INFO_INFO_SOURCE_ID_TYPE_PRESENT_FLAG 0x4ULL
1916 #define LBM_RESOLVER_EVENT_INFO_INFO_VERSION_PRESENT_FLAG 0x8ULL
1917 
1918 #define LBMR_RESOLVER_EVENT_INFO_SRC_TYPE_APPLICATION 0
1919 #define LBMR_RESOLVER_EVENT_INFO_SRC_TYPE_TNWGD 1
1920 #define LBMR_RESOLVER_EVENT_INFO_SRC_TYPE_STORE 2
1921 
1922 
1929 typedef int (*lbm_async_operation_function_cb)(lbm_async_operation_info_t *opinfo, void *clientd);
1930 
1933 #define LBM_ASYNC_OP_INFO_FLAG_INLINE 0x1
1934 
1935 #define LBM_ASYNC_OP_INFO_FLAG_FIRST 0x2
1936 
1937 #define LBM_ASYNC_OP_INFO_FLAG_LAST 0x4
1938 
1939 #define LBM_ASYNC_OP_INFO_FLAG_ONLY (LBM_ASYNC_OP_INFO_FLAG_FIRST | LBM_ASYNC_OP_INFO_FLAG_LAST)
1940 
1944 typedef struct {
1950  void *clientd;
1952  int flags;
1954 
1955 struct lbm_msg_properties_t_stct;
1960 typedef struct lbm_msg_properties_t_stct lbm_msg_properties_t;
1961 
1983  int flags;
2011 
2036  int flags;
2048  lbm_int32_t *mprop_int_vals;
2051  lbm_uint32_t channel;
2056 
2067  int flags;
2071  lbm_ushort_t store_index;
2076  char source[LBM_MSG_MAX_SOURCE_LEN];
2078  char store[LBM_UME_MAX_STORE_STRLEN];
2080 
2093  int flags;
2101 
2115  int flags;
2127  char source[LBM_MSG_MAX_SOURCE_LEN];
2129  lbm_uint64_t src_session_id;
2131 
2141  int flags;
2147 
2157  int flags;
2159  lbm_umq_regid_t registration_id;
2161  lbm_uint_t queue_id;
2165  char queue_instance[LBM_UME_MAX_STORE_STRLEN];
2167  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2169 
2180  int flags;
2182  lbm_umq_regid_t registration_id;
2184  lbm_uint_t queue_id;
2186  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2188 
2199  int flags;
2201  lbm_uint_t queue_id;
2203  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2205 
2217  int flags;
2219  lbm_uint_t queue_id;
2221  lbm_uint_t assignment_id;
2223  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2225 
2240  int flags;
2248  lbm_uint_t queue_id;
2254  char queue_instance[LBM_UME_MAX_STORE_STRLEN];
2256  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2258 
2269  int flags;
2271  lbm_uint_t queue_id;
2272  /* The name of the queue */
2273  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2275 
2284  int flags;
2286  lbm_umq_regid_t registration_id;
2288  lbm_uint_t assignment_id;
2292  char receiver[LBM_UMQ_ULB_MAX_RECEIVER_STRLEN];
2294 
2303  int flags;
2307  lbm_umq_regid_t registration_id;
2313  lbm_uint_t assignment_id;
2319  char receiver[LBM_UMQ_ULB_MAX_RECEIVER_STRLEN];
2321 
2322 struct sockaddr_in;
2323 struct in_addr;
2324 
2332  void *handle;
2333  void *clientd;
2334  char *buffer;
2335  uint32_t length;
2336  uint64_t timestamp;
2338 
2346 typedef int (*lbm_datagram_acceleration_init_function_t)(uint16_t api_version);
2347 
2357 typedef int (*lbm_datagram_acceleration_open_function_t)(struct in_addr *interface_addr, int flags, void **device_out);
2358 
2366 typedef int (*lbm_datagram_acceleration_close_function_t)(void *device);
2367 
2379 typedef int (*lbm_datagram_acceleration_bind_function_t)(void *device, int flags, int port, void *context, void **handle_out);
2380 
2388 typedef int (*lbm_datagram_acceleration_unbind_function_t)(void *handle);
2389 
2398 typedef int (*lbm_datagram_acceleration_mcast_join_function_t)(void *handle, struct in_addr *mcast_addr);
2399 
2408 typedef int (*lbm_datagram_acceleration_mcast_leave_function_t)(void *handle, struct in_addr *mcast_addr);
2409 
2423 typedef int (*lbm_datagram_acceleration_recvfrom_function_t)(void *device, int mode, char *buffer, size_t length, struct sockaddr_in *sin_from, struct sockaddr_in *sin_to, lbm_datagram_acceleration_recv_info_t *info);
2424 
2436 typedef int (*lbm_datagram_acceleration_send_connect_function_t)(void *handle, const struct sockaddr_in *dest_sin, int flags, int ttl, void **send_handle_out);
2437 
2446 
2457 typedef int (*lbm_datagram_acceleration_send_function_t)(void *send_handle, const void *buffer, size_t length, int flags);
2458 
2470 typedef int (*lbm_datagram_acceleration_sendto_function_t)(void *device, struct sockaddr_in *sin, const void *buffer, size_t length, int flags);
2471 
2480 typedef int (*lbm_datagram_acceleration_getaddr_function_t)(void *device, struct sockaddr_in *sin);
2481 
2517 
2526 typedef lbm_ulong_t (*lbm_str_hash_function_cb)(const char *str);
2527 
2538 typedef lbm_ulong_t (*lbm_str_hash_function_cb_ex)(const char *str, size_t strlen, void* clientd);
2539 
2540 
2555 typedef int (*lbm_src_notify_function_cb)(const char *topic_str, const char *src_str, void *clientd);
2556 
2569 typedef int (*lbm_wildcard_rcv_compare_function_cb)(const char *topic_str, void *clientd);
2570 
2584 typedef lbm_uint_t (*lbm_ume_rcv_regid_function_cb)(const char *src_str, lbm_uint_t src_regid, void *clientd);
2585 
2599 
2613 typedef int (*lbm_ume_src_force_reclaim_function_cb)(const char *topic_str, lbm_uint_t seqnum, void *clientd);
2614 
2628 typedef int (*lbm_mim_unrecloss_function_cb)(const char *source_name, lbm_uint_t seqnum, void *clientd);
2629 
2642 
2654 typedef void *(*lbm_rcv_src_notification_create_function_cb)(const char *source_name, void *clientd);
2655 
2668 typedef int (*lbm_rcv_src_notification_delete_function_cb)(const char *source_name, void *clientd, void *source_clientd);
2669 
2680 
2690  void* clientd;
2692 
2703  void *clientd;
2705 
2706 typedef void *(*lbm_rcv_batch_notify_func_start_cb)(void *clientd);
2707 typedef void (*lbm_rcv_batch_notify_func_end_cb)(void *per_batch_clientd, void *clientd);
2709  lbm_rcv_batch_notify_func_start_cb start_notify;
2710  lbm_rcv_batch_notify_func_end_cb end_notify;
2711  void *clientd;
2713 
2722  void *clientd;
2724 
2734  void *clientd;
2736 
2746  void *clientd;
2748 
2758  void *clientd;
2760 
2770  void *clientd;
2772 
2782  void *clientd;
2784 
2793  lbm_uint_t ip_address;
2795  lbm_ushort_t tcp_port;
2797  lbm_ushort_t group_index;
2799  lbm_uint_t registration_id;
2801  lbm_uint32_t domain_id;
2803 
2814  lbm_uint_t resolver_ip;
2817  lbm_ushort_t source_port;
2819  lbm_ushort_t destination_port;
2821 
2830  lbm_uint_t service_ip;
2832  lbm_ushort_t service_port;
2836  lbm_ushort_t source_port;
2838 
2847  lbm_uint_t broker_ip;
2849  lbm_ushort_t broker_port;
2853  lbm_ushort_t source_port;
2855 
2865  char name[LBM_MAX_CONTEXT_NAME_LEN+1];
2867  lbm_ushort_t group_index;
2869  lbm_uint_t registration_id;
2871 
2880  lbm_ushort_t index;
2882  lbm_ushort_t group_size;
2884 
2895  void *clientd;
2897 
2906  lbm_uint64_t regid;
2907  lbm_uint64_t session_id;
2908  int flag;
2910 
2922 typedef void *(*lbm_ume_ctx_rcv_ctx_notification_create_function_cb)(const ume_liveness_receiving_context_t *rcv, void *clientd);
2923 
2935 typedef int (*lbm_ume_ctx_rcv_ctx_notification_delete_function_cb)(const ume_liveness_receiving_context_t *rcv, void *clientd, void *source_clientd);
2936 
2946  void *clientd;
2948 
2957  char name[LBM_UMQ_MAX_QUEUE_STRLEN];
2959  lbm_umq_regid_t regid;
2961 
2971  lbm_ulong_t id;
2975 
2984  lbm_ushort_t index;
2986  union {
2988  int d;
2990  lbm_ulong_t lu;
2991  } value;
2993 
3002  lbm_ulong_t id;
3004  union {
3006  int d;
3008  lbm_ulong_t lu;
3009  } value;
3011 
3012 
3034 typedef int (*lbm_context_src_cb_proc)(lbm_context_t *ctx, int event, void *ed, void *clientd);
3035 
3044  lbm_event_queue_t *evq;
3045  void *clientd;
3047 
3061 typedef int (*lbm_context_event_cb_proc)(lbm_context_t *ctx, int event, void *ed, void *clientd);
3062 
3071  lbm_event_queue_t *evq;
3072  void *clientd;
3074 
3080  char serial_response[32];
3082 
3083 struct lbm_buff_t_stct;
3084 typedef struct lbm_buff_t_stct lbm_buff_t;
3085 
3086 struct lbm_wildcard_rcv_t_stct;
3089 typedef struct lbm_wildcard_rcv_t_stct lbm_wildcard_rcv_t;
3090 
3091 struct lbm_hf_rcv_t_stct;
3094 typedef struct lbm_hf_rcv_t_stct lbm_hf_rcv_t;
3095 
3096 struct lbm_hfx_attr_t_stct;
3098 typedef struct lbm_hfx_attr_t_stct lbm_hfx_attr_t;
3099 
3100 struct lbm_hfx_t_stct;
3102 typedef struct lbm_hfx_t_stct lbm_hfx_t;
3103 
3104 struct lbm_hfx_rcv_t_stct;
3106 typedef struct lbm_hfx_rcv_t_stct lbm_hfx_rcv_t;
3107 
3108 struct lbm_topic_t_stct;
3111 typedef struct lbm_topic_t_stct lbm_topic_t;
3112 
3113 struct lbm_src_t_stct;
3116 typedef struct lbm_src_t_stct lbm_src_t;
3117 
3118 struct lbm_ssrc_t_stct;
3124 typedef struct lbm_ssrc_t_stct lbm_ssrc_t;
3125 
3126 struct lbm_rcv_t_stct;
3129 typedef struct lbm_rcv_t_stct lbm_rcv_t;
3130 
3131 struct lbm_request_t_stct;
3137 typedef struct lbm_request_t_stct lbm_request_t;
3138 
3139 struct lbm_response_t_stct;
3142 typedef struct lbm_response_t_stct lbm_response_t;
3143 
3157  lbm_uint_t offset;
3162 
3171  lbm_uint_t sequence_number;
3174  char source[LBM_MSG_MAX_SOURCE_LEN];
3176 
3188  int flags;
3190  lbm_uint32_t channel_number;
3192 
3193 struct lbm_ume_rcv_ack_t_stct;
3196 typedef struct lbm_ume_rcv_ack_t_stct lbm_ume_rcv_ack_t;
3197 
3205  char source[LBM_MSG_MAX_SOURCE_LEN];
3208  char topic_name[LBM_MSG_MAX_TOPIC_LEN];
3210  char copied_state[LBM_MSG_MAX_STATE_LEN];
3237  int type;
3240  int flags;
3244  const char *data;
3247  size_t len;
3254  lbm_uint_t sequence_number;
3256 #if defined(_WIN32)
3257  LONG refcnt;
3258 #else
3259  long refcnt;
3260 #endif /* _WIN32 */
3261 
3262  size_t apphdr_len;
3264  lbm_ulong_t apphdr_code;
3273  lbm_ushort_t hdrlen;
3275  const lbm_buff_t *buffer;
3278  const void *fragment_info;
3281  const char *apphdr_data;
3284  const void *source_clientd;
3286  const void *umeack;
3288  const void *src_cd;
3290  lbm_uint_t osqn;
3294  const void *umq_msgid;
3296  const void *umq_cr;
3298  const void *pdata;
3300  size_t plen;
3308  const void *broker_msg_state;
3311 };
3312 
3330 typedef int (*lbm_immediate_msg_cb_proc)(lbm_context_t *ctx, lbm_msg_t *msg, void *clientd);
3331 
3352  lbm_event_queue_t *evq;
3353  void *clientd;
3355 
3374  int type;
3376  lbm_uint32_t src_ip;
3378  lbm_ushort_t src_port;
3380  lbm_ushort_t dest_port;
3382  lbm_uint32_t mc_group;
3384  lbm_uint32_t transport_id;
3386  lbm_uint32_t session_id;
3388  lbm_uint32_t topic_idx;
3390  lbm_uint32_t transport_idx;
3392 
3394 #define LBM_SRC_COST_FUNCTION_REJECT 0xffffffff
3395 
3407 typedef lbm_uint32_t (*lbm_src_cost_function_cb)(const char *topic, const lbm_transport_source_info_t *transport, lbm_uint32_t hop_count, lbm_uint32_t cost, void *clientd);
3408 
3412 {
3413  lbm_src_cost_function_cb cost_cb;
3414  void *clientd;
3416 
3417 struct lbm_context_attr_t_stct;
3422 typedef struct lbm_context_attr_t_stct lbm_context_attr_t;
3423 
3425 #define LBM_CONFIG_OPTIONS_STR_LEN 128
3427 {
3428  char type[LBM_CONFIG_OPTIONS_STR_LEN];
3429  char oname[LBM_CONFIG_OPTIONS_STR_LEN];
3430  char val[LBM_CONFIG_OPTIONS_STR_LEN];
3432 
3433 struct lbm_src_topic_attr_t_stct;
3436 typedef struct lbm_src_topic_attr_t_stct lbm_src_topic_attr_t;
3437 
3438 struct lbm_rcv_topic_attr_t_stct;
3441 typedef struct lbm_rcv_topic_attr_t_stct lbm_rcv_topic_attr_t;
3442 
3457 typedef int (*lbm_wildcard_rcv_create_function_cb)(const char * topic_str, lbm_rcv_topic_attr_t * attr, void * clientd);
3458 
3468  void *clientd;
3470 
3483 typedef int (*lbm_wildcard_rcv_delete_function_cb)(const char * topic_str, void * clientd);
3484 
3494  void *clientd;
3496 
3497 struct lbm_wildcard_rcv_attr_t_stct;
3500 typedef struct lbm_wildcard_rcv_attr_t_stct lbm_wildcard_rcv_attr_t;
3501 
3514  lbm_ulong_t num_clients;
3518  lbm_ulong_t bytes_buffered;
3520 
3536  lbm_ulong_t msgs_sent;
3539  lbm_ulong_t bytes_sent;
3545  lbm_ulong_t txw_msgs;
3549  lbm_ulong_t txw_bytes;
3553  lbm_ulong_t nak_pckts_rcved;
3560  lbm_ulong_t naks_rcved;
3567  lbm_ulong_t naks_ignored;
3574  lbm_ulong_t naks_shed;
3590  lbm_ulong_t rxs_sent;
3596  lbm_ulong_t rctlr_data_msgs;
3603  lbm_ulong_t rctlr_rx_msgs;
3612  lbm_ulong_t rx_bytes_sent;
3614 
3625  lbm_ulong_t bytes_buffered;
3627 
3643  lbm_ulong_t msgs_sent;
3646  lbm_ulong_t bytes_sent;
3650  lbm_ulong_t nak_pckts_rcved;
3657  lbm_ulong_t naks_rcved;
3664  lbm_ulong_t naks_ignored;
3671  lbm_ulong_t naks_shed;
3687  lbm_ulong_t rxs_sent;
3689  lbm_ulong_t num_clients;
3698  lbm_ulong_t rx_bytes_sent;
3700 
3713  lbm_ulong_t num_clients;
3718  lbm_ulong_t msgs_sent;
3721  lbm_ulong_t bytes_sent;
3723 
3736  lbm_ulong_t num_clients;
3738  lbm_ulong_t msgs_sent;
3741  lbm_ulong_t bytes_sent;
3743 
3756  lbm_ulong_t num_clients;
3761  lbm_ulong_t msgs_sent;
3764  lbm_ulong_t bytes_sent;
3766 
3779  lbm_ulong_t msgs_sent;
3781  lbm_ulong_t bytes_sent;
3783 
3799  int type;
3801  char source[LBM_MSG_MAX_SOURCE_LEN];
3802  union {
3819  } transport;
3820  char _fill[LBM_EXTERNAL_STRUCT_FILL_SIZE];
3822 
3836  lbm_ulong_t bytes_rcved;
3845  lbm_ulong_t lbm_msgs_rcved;
3852  lbm_ulong_t lbm_reqs_rcved;
3854 
3870  lbm_ulong_t msgs_rcved;
3873  lbm_ulong_t bytes_rcved;
3877  lbm_ulong_t nak_pckts_sent;
3890  lbm_ulong_t naks_sent;
3892  lbm_ulong_t lost;
3899  lbm_ulong_t ncfs_ignored;
3905  lbm_ulong_t ncfs_shed;
3913  lbm_ulong_t ncfs_rx_delay;
3919  lbm_ulong_t ncfs_unknown;
3926  lbm_ulong_t nak_stm_min;
3932  lbm_ulong_t nak_stm_mean;
3937  lbm_ulong_t nak_stm_max;
3943  lbm_ulong_t nak_tx_min;
3948  lbm_ulong_t nak_tx_mean;
3954  lbm_ulong_t nak_tx_max;
3959  lbm_ulong_t duplicate_data;
3965  lbm_ulong_t unrecovered_txw;
3975  lbm_ulong_t unrecovered_tmo;
3984  lbm_ulong_t lbm_msgs_rcved;
3991  lbm_ulong_t lbm_reqs_rcved;
3994  lbm_ulong_t dgrams_dropped_size;
3997  lbm_ulong_t dgrams_dropped_type;
4003  lbm_ulong_t dgrams_dropped_hdr;
4013  lbm_ulong_t out_of_order;
4015 
4026  lbm_ulong_t bytes_rcved;
4028 
4044  lbm_ulong_t msgs_rcved;
4047  lbm_ulong_t bytes_rcved;
4051  lbm_ulong_t nak_pckts_sent;
4064  lbm_ulong_t naks_sent;
4066  lbm_ulong_t lost;
4073  lbm_ulong_t ncfs_ignored;
4079  lbm_ulong_t ncfs_shed;
4087  lbm_ulong_t ncfs_rx_delay;
4093  lbm_ulong_t ncfs_unknown;
4100  lbm_ulong_t nak_stm_min;
4106  lbm_ulong_t nak_stm_mean;
4111  lbm_ulong_t nak_stm_max;
4117  lbm_ulong_t nak_tx_min;
4122  lbm_ulong_t nak_tx_mean;
4128  lbm_ulong_t nak_tx_max;
4133  lbm_ulong_t duplicate_data;
4139  lbm_ulong_t unrecovered_txw;
4149  lbm_ulong_t unrecovered_tmo;
4158  lbm_ulong_t lbm_msgs_rcved;
4165  lbm_ulong_t lbm_reqs_rcved;
4168  lbm_ulong_t dgrams_dropped_size;
4171  lbm_ulong_t dgrams_dropped_type;
4177  lbm_ulong_t dgrams_dropped_hdr;
4180  lbm_ulong_t dgrams_dropped_sid;
4186 
4202  lbm_ulong_t msgs_rcved;
4205  lbm_ulong_t bytes_rcved;
4214  lbm_ulong_t lbm_msgs_rcved;
4221  lbm_ulong_t lbm_reqs_rcved;
4223 
4224 
4237  lbm_ulong_t msgs_rcved;
4240  lbm_ulong_t bytes_rcved;
4247  lbm_ulong_t lbm_msgs_rcved;
4254  lbm_ulong_t reserved1;
4256 
4272  lbm_ulong_t msgs_rcved;
4275  lbm_ulong_t bytes_rcved;
4284  lbm_ulong_t lbm_msgs_rcved;
4291  lbm_ulong_t lbm_reqs_rcved;
4293 
4307  lbm_ulong_t msgs_rcved;
4309  lbm_ulong_t bytes_rcved;
4311 
4327  int type;
4329  char source[LBM_MSG_MAX_SOURCE_LEN];
4330  union {
4347  } transport;
4348  char _fill[LBM_EXTERNAL_STRUCT_FILL_SIZE];
4350 
4351 struct lbm_event_queue_attr_t_stct;
4354 typedef struct lbm_event_queue_attr_t_stct lbm_event_queue_attr_t;
4355 
4373  lbm_ulong_t data_msgs;
4377  lbm_ulong_t data_msgs_tot;
4384  lbm_ulong_t data_msgs_svc_min;
4390  lbm_ulong_t data_msgs_svc_mean;
4395  lbm_ulong_t data_msgs_svc_max;
4398  lbm_ulong_t resp_msgs;
4401  lbm_ulong_t resp_msgs_tot;
4408  lbm_ulong_t resp_msgs_svc_min;
4414  lbm_ulong_t resp_msgs_svc_mean;
4419  lbm_ulong_t resp_msgs_svc_max;
4423  lbm_ulong_t topicless_im_msgs;
4450  lbm_ulong_t wrcv_msgs;
4454  lbm_ulong_t wrcv_msgs_tot;
4462  lbm_ulong_t wrcv_msgs_svc_min;
4468  lbm_ulong_t wrcv_msgs_svc_mean;
4474  lbm_ulong_t wrcv_msgs_svc_max;
4477  lbm_ulong_t io_events;
4481  lbm_ulong_t io_events_tot;
4488  lbm_ulong_t io_events_svc_min;
4494  lbm_ulong_t io_events_svc_mean;
4499  lbm_ulong_t io_events_svc_max;
4502  lbm_ulong_t timer_events;
4506  lbm_ulong_t timer_events_tot;
4527  lbm_ulong_t source_events;
4531  lbm_ulong_t source_events_tot;
4552  lbm_ulong_t unblock_events;
4556  lbm_ulong_t unblock_events_tot;
4559  lbm_ulong_t cancel_events;
4563  lbm_ulong_t cancel_events_tot;
4607  lbm_ulong_t events;
4611  lbm_ulong_t events_tot;
4618  lbm_ulong_t age_min;
4623  lbm_ulong_t age_mean;
4628  lbm_ulong_t age_max;
4631  lbm_ulong_t callback_events;
4635  lbm_ulong_t callback_events_tot;
4655 
4674  lbm_ulong_t tr_dgrams_sent;
4678  lbm_ulong_t tr_bytes_sent;
4683  lbm_ulong_t tr_dgrams_rcved;
4687  lbm_ulong_t tr_bytes_rcved;
4709  lbm_ulong_t tr_src_topics;
4720  lbm_ulong_t tr_rcv_topics;
4745  lbm_ulong_t send_blocked;
4749  lbm_ulong_t send_would_block;
4752  lbm_ulong_t resp_blocked;
4757  lbm_ulong_t resp_would_block;
4759  lbm_ulong_t uim_dup_msgs_rcved;
4771  lbm_ulong_t fragments_lost;
4800  lbm_ulong_t rcv_cb_svc_time_min;
4813  lbm_ulong_t rcv_cb_svc_time_max;
4824 
4831  char topic[LBM_MSG_MAX_TOPIC_LEN];
4833  lbm_uint32_t flags;
4835  char source[LBM_MSG_MAX_SOURCE_LEN];
4837  lbm_uint8_t otid[LBM_OTID_BLOCK_SZ];
4839  lbm_uint32_t topic_idx;
4842 #define LBM_RCV_TOPIC_STATS_FLAG_SRC_VALID 0x1
4843 
4850  char pattern[LBM_MSG_MAX_TOPIC_LEN];
4852  lbm_uint8_t type;
4854 
4865 typedef int (*lbm_timer_cb_proc)(lbm_context_t *ctx, const void *clientd);
4866 
4888 typedef int (*lbm_rcv_cb_proc)(lbm_rcv_t *rcv, lbm_msg_t *msg, void *clientd);
4889 
4910 typedef int (*lbm_fd_cb_proc)(lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev, void *clientd);
4911 
5051 typedef int (*lbm_src_cb_proc)(lbm_src_t *src, int event, void *ed, void *clientd);
5052 
5105 typedef int (*lbm_ssrc_cb_proc)(lbm_ssrc_t *ssrc, int event, void *ed, void *clientd);
5106 
5125 typedef int (*lbm_request_cb_proc)(lbm_request_t *req, lbm_msg_t *msg, void *clientd);
5126 
5180 typedef int (*lbm_event_queue_monitor_proc)(lbm_event_queue_t *evq, int event, size_t evq_size,
5181  lbm_ulong_t event_delay_usec, void *clientd);
5182 
5201 typedef int (*lbm_log_cb_proc)(int level, const char *message, void *clientd);
5202 
5217 typedef int (*lbm_daemon_event_cb_proc)(lbm_context_t *ctx, int event, const char *info, void *clientd);
5218 
5242 typedef void (*lbm_event_queue_cancel_cb_proc)(int dispatch_thrd, void *clientd);
5243 
5255  void *clientd;
5257 
5270 typedef int (*lbm_flight_size_set_inflight_cb_proc)(int inflight, void *clientd);
5271 
5285 
5286 /* Functions */
5287 
5292 LBMExpDLL const char *lbm_version(void);
5293 
5301 LBMExpDLL int lbm_context_dump(lbm_context_t *ctx, int *size, lbm_config_option_t *opts);
5302 
5310 LBMExpDLL int lbm_context_attr_dump(lbm_context_attr_t *cattr, int *size, lbm_config_option_t *opts);
5311 
5318 LBMExpDLL int lbm_context_attr_option_size(void);
5319 
5330 LBMExpDLL int lbm_context_attr_create(lbm_context_attr_t * * attr);
5331 
5341 LBMExpDLL int lbm_context_attr_create_default(lbm_context_attr_t * * attr);
5342 
5364 LBMExpDLL int lbm_context_attr_create_from_xml(lbm_context_attr_t * * attr, const char * context_name);
5365 
5381 LBMExpDLL int lbm_context_attr_set_from_xml(lbm_context_attr_t * attr, const char * context_name);
5382 
5390 LBMExpDLL int lbm_context_attr_delete(lbm_context_attr_t *attr);
5391 
5402 LBMExpDLL int lbm_context_attr_dup(lbm_context_attr_t * * attr, const lbm_context_attr_t * original);
5403 
5416 LBMExpDLL int lbm_context_attr_setopt(lbm_context_attr_t *attr, const char *optname,
5417  const void *optval, size_t optlen);
5418 
5430 LBMExpDLL int lbm_context_attr_str_setopt(lbm_context_attr_t *attr, const char *optname,
5431  const char *optval);
5432 
5443 LBMExpDLL int lbm_context_attr_getopt(lbm_context_attr_t *attr, const char *optname,
5444  void *optval, size_t *optlen);
5445 
5455 LBMExpDLL int lbm_context_attr_str_getopt(lbm_context_attr_t *attr, const char *optname,
5456  char *optval, size_t *optlen);
5457 
5479 LBMExpDLL int lbm_context_create(lbm_context_t **ctxp, const lbm_context_attr_t *attr,
5480  lbm_daemon_event_cb_proc proc, void *clientd);
5481 
5498 LBMExpDLL int lbm_context_reactor_only_create(lbm_context_t **ctxp, const lbm_context_attr_t *attr);
5499 
5515 LBMExpDLL int lbm_context_delete(lbm_context_t *ctx);
5516 
5528 
5557 LBMExpDLL int lbm_context_topic_resolution_request(lbm_context_t *ctx, lbm_ushort_t flags, lbm_ulong_t interval_msec, lbm_ulong_t duration_sec);
5558 
5584 LBMExpDLL int lbm_context_setopt(lbm_context_t *ctx, const char *optname, const void *optval, size_t optlen);
5585 
5610 LBMExpDLL int lbm_context_str_setopt(lbm_context_t *ctx, const char *optname, const char *optval);
5611 
5622 LBMExpDLL int lbm_context_getopt(lbm_context_t *ctx, const char *optname, void *optval, size_t *optlen);
5623 
5633 LBMExpDLL int lbm_context_str_getopt(lbm_context_t *ctx, const char *optname, char *optval, size_t *optlen);
5634 
5650 LBMExpDLL int lbm_context_rcv_immediate_msgs(lbm_context_t *ctx, lbm_immediate_msg_cb_proc proc, void *clientd,
5651  lbm_event_queue_t *evq);
5652 
5669 LBMExpDLL int lbm_context_rcv_immediate_topic_msgs(lbm_context_t *ctx, lbm_immediate_msg_cb_proc proc, void *clientd,
5670  lbm_event_queue_t *evq);
5671 
5683 LBMExpDLL int lbm_context_set_name(lbm_context_t *ctx, const char *name);
5684 
5696 LBMExpDLL int lbm_context_get_name(lbm_context_t *ctx, char *name, size_t *size);
5697 
5706 LBMExpDLL int lbm_license_file(const char *licfile);
5707 
5716 LBMExpDLL int lbm_license_str(const char *licstr);
5717 
5725 LBMExpDLL int lbm_license_ummnm_valid(void);
5726 
5734 LBMExpDLL int lbm_license_vds_valid(void);
5735 
5756 LBMExpDLL int lbm_config(const char *fname);
5757 
5773 LBMExpDLL int lbm_config_xml_file(const char *url, const char *application_name);
5774 
5789 LBMExpDLL int lbm_config_xml_string(const char *xml_data, const char *application_name);
5790 
5797 LBMExpDLL int lbm_log(lbm_log_cb_proc proc, void *clientd);
5798 
5805 LBMExpDLL void lbm_logf(int level, const char * format, ...);
5806 
5811 LBMExpDLL const char *lbm_errmsg(void);
5812 
5816 LBMExpDLL int lbm_errnum(void);
5817 
5818 #if defined(_WIN32) || defined(DOXYGEN)
5819 
5828 LBMExpDLL int lbm_win32_static_thread_attach(void);
5829 
5839 LBMExpDLL int lbm_win32_static_thread_detach(void);
5840 #endif /* _WIN32 */
5841 
5864 LBMExpDLL int lbm_schedule_timer(lbm_context_t *ctx,
5865  lbm_timer_cb_proc proc, void *clientd,
5866  lbm_event_queue_t *evq, lbm_ulong_t delay);
5867 
5886 LBMExpDLL int lbm_schedule_timer_recurring(lbm_context_t *ctx,
5887  lbm_timer_cb_proc proc, void *clientd,
5888  lbm_event_queue_t *evq, lbm_ulong_t delay);
5889 
5910 LBMExpDLL int lbm_cancel_timer(lbm_context_t *ctx, int id, void **clientdp);
5911 
5933 LBMExpDLL int lbm_cancel_timer_ex(lbm_context_t *ctx, int id, void **clientdp,
5935 
5957 LBMExpDLL int lbm_context_process_events(lbm_context_t *ctx, lbm_ulong_t msec);
5958 
5983 LBMExpDLL int lbm_context_process_events_ex(lbm_context_t *ctx, lbm_ulong_t msec, lbm_process_events_info_t *info);
5984 
5998 LBMExpDLL int lbm_context_unblock(lbm_context_t *ctx);
5999 
6021 LBMExpDLL int lbm_context_process_lbtipc_messages(lbm_context_t *ctx, lbm_ulong_t msec, lbm_ulong_t loop_count);
6022 
6033 LBMExpDLL int lbm_context_lbtipc_unblock(lbm_context_t *ctx);
6034 
6062 LBMExpDLL int lbm_register_fd(lbm_context_t *ctx, lbm_handle_t handle, lbm_fd_cb_proc proc,
6063  void *clientd, lbm_event_queue_t *evq, lbm_ulong_t ev);
6064 
6088 LBMExpDLL int lbm_cancel_fd(lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev);
6089 
6105 LBMExpDLL int lbm_cancel_fd_ex(lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev,
6107 
6115 LBMExpDLL int lbm_src_topic_dump(lbm_src_t *src, int *size, lbm_config_option_t *opts);
6116 
6128 LBMExpDLL int lbm_ssrc_topic_dump(lbm_ssrc_t *ssrc, int *size, lbm_config_option_t *opts);
6129 
6137 LBMExpDLL int lbm_src_topic_attr_dump(lbm_src_topic_attr_t *sattr, int *size, lbm_config_option_t *opts);
6138 
6145 LBMExpDLL int lbm_src_topic_attr_option_size(void);
6146 
6157 LBMExpDLL int lbm_src_topic_alloc(lbm_topic_t **topicp, lbm_context_t *ctx,
6158  const char *symbol, const lbm_src_topic_attr_t *attr);
6159 
6171 LBMExpDLL int lbm_src_topic_attr_create(lbm_src_topic_attr_t * * attr);
6172 
6183 
6206 LBMExpDLL int lbm_src_topic_attr_create_from_xml(lbm_src_topic_attr_t * * attr, const char * context_name, const char * topicname);
6207 
6224 LBMExpDLL int lbm_src_topic_attr_set_from_xml(lbm_src_topic_attr_t * attr, const char * context_name, const char * topicname);
6225 
6233 LBMExpDLL int lbm_src_topic_attr_delete(lbm_src_topic_attr_t *attr);
6234 
6245 LBMExpDLL int lbm_src_topic_attr_dup(lbm_src_topic_attr_t * * attr, const lbm_src_topic_attr_t * original);
6246 
6259 LBMExpDLL int lbm_src_topic_attr_setopt(lbm_src_topic_attr_t *attr, const char *optname,
6260  const void *optval, size_t optlen);
6261 
6273 LBMExpDLL int lbm_src_topic_attr_str_setopt(lbm_src_topic_attr_t *attr, const char *optname,
6274  const char *optval);
6275 
6285 LBMExpDLL int lbm_src_topic_attr_getopt(lbm_src_topic_attr_t *attr, const char *optname,
6286  void *optval, size_t *optlen);
6287 
6296 LBMExpDLL int lbm_src_topic_attr_str_getopt(lbm_src_topic_attr_t *attr, const char *optname,
6297  char *optval, size_t *optlen);
6298 
6314 LBMExpDLL int lbm_rcv_topic_lookup(lbm_topic_t **topicp, lbm_context_t *ctx,
6315  const char *symbol, const lbm_rcv_topic_attr_t *attr);
6316 
6324 LBMExpDLL int lbm_rcv_topic_dump(lbm_rcv_t *rcv, int *size, lbm_config_option_t *opts);
6325 
6333 LBMExpDLL int lbm_rcv_topic_attr_dump(lbm_rcv_topic_attr_t *rattr, int *size, lbm_config_option_t *opts);
6334 
6341 LBMExpDLL int lbm_rcv_topic_attr_option_size(void);
6342 
6354 LBMExpDLL int lbm_rcv_topic_attr_create(lbm_rcv_topic_attr_t * * attr);
6355 
6366 
6389 LBMExpDLL int lbm_rcv_topic_attr_create_from_xml(lbm_rcv_topic_attr_t * * attr, const char * context_name, const char * topicname);
6390 
6407 LBMExpDLL int lbm_rcv_topic_attr_set_from_xml(lbm_rcv_topic_attr_t * attr, const char * context_name, const char * topicname);
6408 
6416 LBMExpDLL int lbm_rcv_topic_attr_delete(lbm_rcv_topic_attr_t *attr);
6417 
6427 LBMExpDLL int lbm_rcv_topic_attr_dup(lbm_rcv_topic_attr_t * * attr, const lbm_rcv_topic_attr_t * original);
6428 
6441 LBMExpDLL int lbm_rcv_topic_attr_setopt(lbm_rcv_topic_attr_t *attr, const char *optname,
6442  const void *optval, size_t optlen);
6443 
6455 LBMExpDLL int lbm_rcv_topic_attr_str_setopt(lbm_rcv_topic_attr_t *attr, const char *optname,
6456  const char *optval);
6457 
6468 LBMExpDLL int lbm_rcv_topic_attr_getopt(lbm_rcv_topic_attr_t *attr, const char *optname,
6469  void *optval, size_t *optlen);
6470 
6480 LBMExpDLL int lbm_rcv_topic_attr_str_getopt(lbm_rcv_topic_attr_t *attr, const char *optname,
6481  char *optval, size_t *optlen);
6482 
6492 LBMExpDLL int lbm_src_channel_create(lbm_src_channel_info_t **chnp, lbm_src_t *src, lbm_uint32_t channel_num);
6493 
6500 
6516 LBMExpDLL int lbm_src_create(lbm_src_t **srcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_src_cb_proc proc,
6517  void *clientd, lbm_event_queue_t *evq);
6518 
6539 LBMExpDLL int lbm_ssrc_create(lbm_ssrc_t **ssrcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_ssrc_cb_proc proc,
6540  void *clientd, lbm_event_queue_t *evq);
6541 
6549 LBMExpDLL int lbm_event_queue_dump(lbm_event_queue_t *evq, int *size, lbm_config_option_t *opts);
6550 
6558 LBMExpDLL int lbm_event_queue_attr_dump(lbm_event_queue_attr_t *eattr, int *size, lbm_config_option_t *opts);
6559 
6566 LBMExpDLL int lbm_event_queue_attr_option_size(void);
6567 
6585 LBMExpDLL int lbm_rcv_create(lbm_rcv_t **rcvp, lbm_context_t *ctx, lbm_topic_t *topic,
6586  lbm_rcv_cb_proc proc, void *clientd, lbm_event_queue_t *evq);
6587 
6603 LBMExpDLL int lbm_rcv_subscribe_channel(lbm_rcv_t *rcv, lbm_uint32_t channel, lbm_rcv_cb_proc proc, void *clientd);
6604 
6613 LBMExpDLL int lbm_rcv_unsubscribe_channel(lbm_rcv_t *rcv, lbm_uint32_t channel);
6614 
6625 LBMExpDLL int lbm_rcv_unsubscribe_channel_ex(lbm_rcv_t *rcv, lbm_uint32_t channel, lbm_event_queue_cancel_cb_info_t *cbinfo);
6626 
6642 LBMExpDLL int lbm_wildcard_rcv_subscribe_channel(lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel, lbm_rcv_cb_proc proc, void *clientd);
6643 
6652 LBMExpDLL int lbm_wildcard_rcv_unsubscribe_channel(lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel);
6653 
6664 LBMExpDLL int lbm_wildcard_rcv_unsubscribe_channel_ex(lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel, lbm_event_queue_cancel_cb_info_t *cbinfo);
6665 
6682 LBMExpDLL int lbm_src_delete(lbm_src_t *src);
6683 
6701 LBMExpDLL int lbm_ssrc_delete(lbm_ssrc_t *ssrc);
6702 
6721 LBMExpDLL int lbm_src_delete_ex(lbm_src_t *src, lbm_event_queue_cancel_cb_info_t *cbinfo);
6722 
6736 LBMExpDLL int lbm_ssrc_get_available_data_space(lbm_ssrc_t *ssrc, int *length);
6737 
6743 LBMExpDLL lbm_context_t * lbm_context_from_src(lbm_src_t * src);
6744 
6750 LBMExpDLL lbm_topic_t * lbm_topic_from_src(lbm_src_t * src);
6751 
6758 
6771 LBMExpDLL int lbm_rcv_delete(lbm_rcv_t *rcv);
6772 
6786 LBMExpDLL int lbm_rcv_delete_ex(lbm_rcv_t *rcv, lbm_event_queue_cancel_cb_info_t *cbinfo);
6787 
6793 LBMExpDLL lbm_context_t * lbm_context_from_rcv(lbm_rcv_t * rcv);
6794 
6801 
6827 LBMExpDLL int lbm_src_setopt(lbm_src_t *src, const char *optname, const void *optval, size_t optlen);
6828 
6853 LBMExpDLL int lbm_src_str_setopt(lbm_src_t *src, const char *optname, const char *optval);
6854 
6865 LBMExpDLL int lbm_src_getopt(lbm_src_t *src, const char *optname, void *optval, size_t *optlen);
6866 
6876 LBMExpDLL int lbm_src_str_getopt(lbm_src_t *src, const char *optname, char *optval, size_t *optlen);
6877 
6904 LBMExpDLL int lbm_rcv_setopt(lbm_rcv_t *rcv, const char *optname, const void *optval, size_t optlen);
6905 
6930 LBMExpDLL int lbm_rcv_str_setopt(lbm_rcv_t *rcv, const char *optname, const char *optval);
6931 
6942 LBMExpDLL int lbm_rcv_getopt(lbm_rcv_t *rcv, const char *optname, void *optval, size_t *optlen);
6943 
6953 LBMExpDLL int lbm_rcv_str_getopt(lbm_rcv_t *rcv, const char *optname, char *optval, size_t *optlen);
6954 
6955 /* Send Routines */
6956 
6987 LBMExpDLL int lbm_src_send(lbm_src_t *src, const char *msg, size_t len, int flags);
6988 
7014 LBMExpDLL int lbm_src_send_ex(lbm_src_t *src, const char *msg, size_t len, int flags, lbm_src_send_ex_info_t *info);
7015 
7035 LBMExpDLL int lbm_ssrc_send_ex(lbm_ssrc_t *ssrc, const char *usr_bufp, size_t len, int flags, lbm_ssrc_send_ex_info_t *info);
7036 
7047 LBMExpDLL int lbm_src_flush(lbm_src_t *src);
7048 
7060 LBMExpDLL int lbm_flush_all(lbm_context_t *ctx);
7061 
7091 LBMExpDLL int lbm_src_sendv(lbm_src_t *src, const lbm_iovec_t *iov, int num, int flags);
7092 
7121 LBMExpDLL int lbm_src_sendv_ex(lbm_src_t *src, const lbm_iovec_t *iov, int num, int flags, lbm_src_send_ex_info_t *info);
7122 
7130 LBMExpDLL int lbm_rcv_msg_source_clientd(lbm_rcv_t *rcv, const char *source, void *source_clientd);
7131 
7145 
7162 
7168 LBMExpDLL int lbm_src_reset_transport_stats(lbm_src_t *src);
7169 
7178 LBMExpDLL int lbm_ssrc_reset_transport_stats(lbm_ssrc_t *ssrc);
7179 
7193 LBMExpDLL int lbm_rcv_retrieve_transport_stats(lbm_rcv_t *rcv, const char *source, lbm_rcv_transport_stats_t *stats);
7194 
7201 LBMExpDLL int lbm_rcv_reset_transport_stats(lbm_rcv_t *rcv, const char *source);
7202 
7226 LBMExpDLL int lbm_rcv_retrieve_all_transport_stats(lbm_rcv_t *rcv, int *num, lbm_rcv_transport_stats_t *stats);
7227 
7249 LBMExpDLL int lbm_rcv_retrieve_all_transport_stats_ex(lbm_rcv_t *rcv, int *num, int size, lbm_rcv_transport_stats_t *stats);
7250 
7251 #ifndef LBM_INTERNAL_USE_ONLY
7252 #define lbm_rcv_retrieve_all_transport_stats(r,n,s) \
7253  lbm_rcv_retrieve_all_transport_stats_ex(r,n,sizeof(lbm_rcv_transport_stats_t),s)
7254 #endif
7255 
7261 LBMExpDLL int lbm_rcv_reset_all_transport_stats(lbm_rcv_t *rcv);
7262 
7287 
7309 LBMExpDLL int lbm_context_retrieve_rcv_transport_stats_ex(lbm_context_t *ctx, int *num, int size, lbm_rcv_transport_stats_t *stats);
7310 
7311 #ifndef LBM_INTERNAL_USE_ONLY
7312 #define lbm_context_retrieve_rcv_transport_stats(c,n,s) \
7313  lbm_context_retrieve_rcv_transport_stats_ex(c,n,sizeof(lbm_rcv_transport_stats_t),s)
7314 #endif
7315 
7322 
7347 
7369 LBMExpDLL int lbm_context_retrieve_src_transport_stats_ex(lbm_context_t *ctx, int *num, int size, lbm_src_transport_stats_t *stats);
7370 
7371 #ifndef LBM_INTERNAL_USE_ONLY
7372 #define lbm_context_retrieve_src_transport_stats(c,n,s) \
7373  lbm_context_retrieve_src_transport_stats_ex(c,n,sizeof(lbm_src_transport_stats_t),s)
7374 #endif
7375 
7382 
7396 
7403 
7417 
7423 LBMExpDLL int lbm_context_reset_stats(lbm_context_t *ctx);
7424 
7445 LBMExpDLL int lbm_context_retrieve_im_src_transport_stats(lbm_context_t *ctx, int *num, int size, lbm_src_transport_stats_t *stats);
7446 
7453 
7474 LBMExpDLL int lbm_context_retrieve_im_rcv_transport_stats(lbm_context_t *ctx, int *num, int size, lbm_rcv_transport_stats_t *stats);
7475 
7482 
7495 LBMExpDLL int lbm_msg_retain(lbm_msg_t *msg);
7496 
7506 LBMExpDLL int lbm_msg_is_fragment(lbm_msg_t *msg);
7507 
7524 
7534 
7541 LBMExpDLL int lbm_msg_retrieve_msgid(lbm_msg_t *msg, lbm_umq_msgid_t *id);
7542 
7549 LBMExpDLL int lbm_msg_retrieve_umq_index(lbm_msg_t *msg, lbm_umq_index_info_t *info);
7550 
7551 LBMExpDLL int lbm_msg_retrieve_delivery_latency(lbm_msg_t *msg, lbm_int64_t *latency_nsecs);
7552 
7567 LBMExpDLL int lbm_msg_delete(lbm_msg_t *msg);
7568 
7577 LBMExpDLL int lbm_msg_ume_send_explicit_ack(lbm_msg_t *msg);
7578 
7584 LBMExpDLL int lbm_msg_ume_can_send_explicit_ack(lbm_msg_t *msg);
7585 
7595 LBMExpDLL int lbm_src_ume_deregister(lbm_src_t *src);
7596 
7609 LBMExpDLL int lbm_ssrc_ume_deregister(lbm_ssrc_t *ssrc);
7610 
7619 LBMExpDLL int lbm_rcv_ume_deregister(lbm_rcv_t *rcv);
7620 
7629 LBMExpDLL int lbm_wrcv_ume_deregister(lbm_wildcard_rcv_t *wrcv);
7630 
7638 LBMExpDLL int lbm_msg_umq_reassign(lbm_msg_t *msg, int flags);
7639 
7647 LBMExpDLL int lbm_rcv_umq_deregister(lbm_rcv_t *rcv, const char *queue_name);
7648 
7659 LBMExpDLL int lbm_rcv_umq_index_stop_assignment(lbm_rcv_t *rcv, const char *queue_name);
7660 
7667 LBMExpDLL int lbm_rcv_umq_index_start_assignment(lbm_rcv_t *rcv, const char *queue_name);
7668 
7681 LBMExpDLL int lbm_rcv_umq_index_reserve(lbm_rcv_t *rcv, const char *queue_name, lbm_umq_index_info_t *index_info);
7682 
7692 LBMExpDLL int lbm_rcv_umq_index_release(lbm_rcv_t *rcv, const char *queue_name, lbm_umq_index_info_t *index_info);
7693 
7704 LBMExpDLL int lbm_wildcard_rcv_umq_index_stop_assignment(lbm_wildcard_rcv_t *wrcv, const char *queue_name);
7705 
7712 LBMExpDLL int lbm_wildcard_rcv_umq_index_start_assignment(lbm_wildcard_rcv_t *wrcv, const char *queue_name);
7713 
7723 LBMExpDLL int lbm_wildcard_rcv_umq_index_release(lbm_wildcard_rcv_t *wrcv, const char *queue_name, lbm_umq_index_info_t *index_info);
7724 
7731 LBMExpDLL int lbm_wildcard_rcv_umq_deregister(lbm_wildcard_rcv_t *wrcv, const char *queue_name);
7732 
7764 LBMExpDLL int lbm_send_response(lbm_response_t *resp, const char *data, size_t len, int flags);
7765 
7781 LBMExpDLL int lbm_response_delete(lbm_response_t *resp);
7782 
7783 
7793 LBMExpDLL int lbm_serialized_response_delete(lbm_serialized_response_t* serialized_response);
7794 
7795 
7806 
7823 
7852 LBMExpDLL int lbm_send_request(lbm_request_t **reqp, lbm_src_t *src, const char *data,
7853  size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq,
7854  int send_flags);
7855 
7885 LBMExpDLL int lbm_send_request_ex(lbm_request_t **reqp, lbm_src_t *src, const char *data,
7886  size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq,
7887  int send_flags, lbm_src_send_ex_info_t *exinfo);
7888 
7904 LBMExpDLL int lbm_request_delete(lbm_request_t *req);
7905 
7923 
7936  void *clientd, const lbm_event_queue_attr_t *attr);
7937 
7948 LBMExpDLL int lbm_event_queue_attr_create(lbm_event_queue_attr_t * * attr);
7949 
7960 
7982 LBMExpDLL int lbm_event_queue_attr_create_from_xml(lbm_event_queue_attr_t * * attr, const char * event_queue_name);
7983 
7999 LBMExpDLL int lbm_event_queue_attr_set_from_xml(lbm_event_queue_attr_t * attr, const char * event_queue_name);
8000 
8009 
8020 LBMExpDLL int lbm_event_queue_attr_dup(lbm_event_queue_attr_t * * attr, const lbm_event_queue_attr_t * original);
8021 
8034 LBMExpDLL int lbm_event_queue_attr_setopt(lbm_event_queue_attr_t *attr, const char *optname,
8035  const void *optval, size_t optlen);
8036 
8048 LBMExpDLL int lbm_event_queue_attr_str_setopt(lbm_event_queue_attr_t *attr, const char *optname,
8049  const char *optval);
8050 
8060 LBMExpDLL int lbm_event_queue_attr_getopt(lbm_event_queue_attr_t *attr, const char *optname,
8061  void *optval, size_t *optlen);
8062 
8072 LBMExpDLL int lbm_event_queue_attr_str_getopt(lbm_event_queue_attr_t *attr, const char *optname,
8073  char *optval, size_t *optlen);
8074 
8100 LBMExpDLL int lbm_event_queue_setopt(lbm_event_queue_t *evq, const char *optname, const void *optval, size_t optlen);
8101 
8126 LBMExpDLL int lbm_event_queue_str_setopt(lbm_event_queue_t *evq, const char *optname, const char *optval);
8127 
8138 LBMExpDLL int lbm_event_queue_getopt(lbm_event_queue_t *evq, const char *optname, void *optval, size_t *optlen);
8139 
8149 LBMExpDLL int lbm_event_queue_str_getopt(lbm_event_queue_t *evq, const char *optname, char *optval, size_t *optlen);
8150 
8163 LBMExpDLL int lbm_event_dispatch(lbm_event_queue_t *evq, lbm_ulong_t tmo);
8164 
8174 LBMExpDLL int lbm_event_dispatch_unblock(lbm_event_queue_t *evq);
8175 
8184 LBMExpDLL int lbm_event_queue_size(lbm_event_queue_t *evq);
8185 
8192 LBMExpDLL int lbm_event_queue_shutdown(lbm_event_queue_t *evq);
8193 
8208 LBMExpDLL int lbm_event_queue_delete(lbm_event_queue_t *evq);
8209 
8259 LBMExpDLL int lbm_unicast_immediate_message(lbm_context_t *ctx, const char *target, const char *topic,
8260  const char *data, size_t len, int flags);
8261 
8309 LBMExpDLL int lbm_unicast_immediate_request(lbm_request_t **reqp, lbm_context_t *ctx, const char *target,
8310  const char *topic, const char *data, size_t len,
8311  lbm_request_cb_proc proc, void *clientd,
8312  lbm_event_queue_t *evq, int flags);
8313 
8336 LBMExpDLL int lbm_queue_immediate_message(lbm_context_t *ctx, const char *qname, const char *topic, const char *data,
8337  size_t len, int flags, lbm_src_send_ex_info_t *info);
8338 
8369 LBMExpDLL int lbm_multicast_immediate_message(lbm_context_t *ctx, const char *topic,
8370  const char *data, size_t len, int flags);
8371 
8400  const char *topic, const char *data,
8401  size_t len, lbm_request_cb_proc proc,
8402  void *clientd, lbm_event_queue_t *evq,
8403  int flags);
8404 
8412 LBMExpDLL int lbm_wildcard_rcv_dump(lbm_wildcard_rcv_t *wrcv, int *size, lbm_config_option_t *opts);
8413 
8421 LBMExpDLL int lbm_wildcard_rcv_attr_dump(lbm_wildcard_rcv_attr_t *wattr, int *size, lbm_config_option_t *opts);
8422 
8429 LBMExpDLL int lbm_wildcard_rcv_attr_option_size(void);
8430 
8431 
8443 
8454 
8478 LBMExpDLL int lbm_wildcard_rcv_attr_create_from_xml(lbm_wildcard_rcv_attr_t * * attr, const char * context_name, const char * pattern, int pattern_type);
8479 
8497 LBMExpDLL int lbm_wildcard_rcv_attr_set_from_xml(lbm_wildcard_rcv_attr_t * attr, const char * context_name, const char * pattern, int pattern_type);
8498 
8507 
8518 LBMExpDLL int lbm_wildcard_rcv_attr_dup(lbm_wildcard_rcv_attr_t * * attr, const lbm_wildcard_rcv_attr_t * original);
8519 
8532 LBMExpDLL int lbm_wildcard_rcv_attr_setopt(lbm_wildcard_rcv_attr_t *attr, const char *optname,
8533  const void *optval, size_t optlen);
8534 
8546 LBMExpDLL int lbm_wildcard_rcv_attr_str_setopt(lbm_wildcard_rcv_attr_t *attr, const char *optname,
8547  const char *optval);
8548 
8558 LBMExpDLL int lbm_wildcard_rcv_attr_getopt(lbm_wildcard_rcv_attr_t *attr, const char *optname,
8559  void *optval, size_t *optlen);
8560 
8570 LBMExpDLL int lbm_wildcard_rcv_attr_str_getopt(lbm_wildcard_rcv_attr_t *attr, const char *optname,
8571  char *optval, size_t *optlen);
8572 
8598 LBMExpDLL int lbm_wildcard_rcv_setopt(lbm_wildcard_rcv_t *wrcv, const char *optname, const void *optval, size_t optlen);
8599 
8624 LBMExpDLL int lbm_wildcard_rcv_str_setopt(lbm_wildcard_rcv_t *wrcv, const char *optname, const char *optval);
8625 
8636 LBMExpDLL int lbm_wildcard_rcv_getopt(lbm_wildcard_rcv_t *wrcv, const char *optname, void *optval, size_t *optlen);
8637 
8647 LBMExpDLL int lbm_wildcard_rcv_str_getopt(lbm_wildcard_rcv_t *wrcv, const char *optname, char *optval, size_t *optlen);
8648 
8672 LBMExpDLL int lbm_wildcard_rcv_create(lbm_wildcard_rcv_t **wrcvp, lbm_context_t *ctx, const char *pattern,
8673  const lbm_rcv_topic_attr_t *tattr, const lbm_wildcard_rcv_attr_t *wattr,
8674  lbm_rcv_cb_proc proc, void *clientd, lbm_event_queue_t *evq);
8675 
8688 LBMExpDLL int lbm_wildcard_rcv_delete(lbm_wildcard_rcv_t *wrcv);
8689 
8705 
8713 
8721 
8739 LBMExpDLL int lbm_hf_src_create(lbm_src_t **srcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_src_cb_proc proc,
8740  void *clientd, lbm_event_queue_t *evq);
8741 
8770 LBMExpDLL int lbm_hf_src_send(lbm_src_t *src, const char *msg, size_t len, lbm_uint_t sqn, int flags);
8771 
8801 LBMExpDLL int lbm_hf_src_send_ex(lbm_src_t *src, const char *msg, size_t len, lbm_uint_t sqn, int flags, lbm_src_send_ex_info_t *exinfo);
8802 
8835 LBMExpDLL int lbm_hf_src_sendv(lbm_src_t *src, const lbm_iovec_t *iov, int num, lbm_uint_t sqn, int flags);
8836 
8844 LBMExpDLL int lbm_hf_rcv_topic_dump(lbm_hf_rcv_t *hfrcv,
8845  int *size,
8846  lbm_config_option_t *opts);
8847 
8882 LBMExpDLL int lbm_hf_src_sendv_ex(lbm_src_t *src, const lbm_iovec_t *iov, int num, lbm_uint_t sqn, int flags, lbm_src_send_ex_info_t *exinfo);
8883 
8917 LBMExpDLL int lbm_hf_src_send_rcv_reset(lbm_src_t * src, int flags, lbm_src_send_ex_info_t * exinfo);
8918 
8935 LBMExpDLL int lbm_hf_rcv_create(lbm_hf_rcv_t **hfrcvp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_rcv_cb_proc proc,
8936  void *clientd, lbm_event_queue_t *evq);
8937 
8950 LBMExpDLL int lbm_hf_rcv_delete(lbm_hf_rcv_t *hfrcv);
8951 
8966 
8972 LBMExpDLL lbm_hf_rcv_t *lbm_hf_rcv_from_rcv(lbm_rcv_t *rcv);
8973 
8979 LBMExpDLL lbm_rcv_t *lbm_rcv_from_hf_rcv(lbm_hf_rcv_t *hfrcv);
8980 
8981 
8989 LBMExpDLL int lbm_hfx_dump(lbm_hfx_t *hfx, int *size, lbm_config_option_t *opts);
8990 
8998 LBMExpDLL int lbm_hfx_attr_dump(lbm_hfx_attr_t *attr, int *size, lbm_config_option_t *opts);
8999 
9004 LBMExpDLL int lbm_hfx_attr_option_size(void);
9005 
9017 LBMExpDLL int lbm_hfx_attr_create(lbm_hfx_attr_t **attr);
9018 
9019 
9038 LBMExpDLL int lbm_hfx_attr_create_from_xml(lbm_hfx_attr_t * * attr, const char * topicname);
9039 
9052 LBMExpDLL int lbm_hfx_attr_set_from_xml(lbm_hfx_attr_t * attr, const char * topicname);
9053 
9061 LBMExpDLL int lbm_hfx_attr_delete(lbm_hfx_attr_t *attr);
9062 
9063 
9064 
9077 LBMExpDLL int lbm_hfx_attr_setopt(lbm_hfx_attr_t *attr, const char *optname,
9078  const void *optval, size_t optlen);
9079 
9091 LBMExpDLL int lbm_hfx_attr_str_setopt(lbm_hfx_attr_t *attr, const char *optname,
9092  const char *optval);
9093 
9104 LBMExpDLL int lbm_hfx_attr_getopt(lbm_hfx_attr_t *attr, const char *optname,
9105  void *optval, size_t *optlen);
9106 
9116 LBMExpDLL int lbm_hfx_attr_str_getopt(lbm_hfx_attr_t *attr, const char *optname,
9117  char *optval, size_t *optlen);
9118 
9142 LBMExpDLL int lbm_hfx_setopt(lbm_hfx_t *hfx, const char *optname, const void *optval, size_t optlen);
9143 
9166 LBMExpDLL int lbm_hfx_str_setopt(lbm_hfx_t *hfx, const char *optname, const char *optval);
9167 
9178 LBMExpDLL int lbm_hfx_getopt(lbm_hfx_t *hfx, const char *optname, void *optval, size_t *optlen);
9179 
9189 LBMExpDLL int lbm_hfx_str_getopt(lbm_hfx_t *hfx, const char *optname, char *optval, size_t *optlen);
9190 
9205 LBMExpDLL int lbm_hfx_create(lbm_hfx_t **hfxp,
9206  lbm_hfx_attr_t *cattr,
9207  const char *symbol,
9208  lbm_rcv_cb_proc proc,
9209  lbm_event_queue_t *evq);
9210 
9216 LBMExpDLL int lbm_hfx_delete(lbm_hfx_t *hfx);
9217 
9233 LBMExpDLL int lbm_hfx_delete_ex(lbm_hfx_t *hfx, lbm_event_queue_cancel_cb_info_t *cbinfo);
9234 
9242 LBMExpDLL int lbm_hfx_rcv_topic_dump(lbm_hfx_rcv_t *hfxrcv,
9243  int *size,
9244  lbm_config_option_t *opts);
9245 
9256 LBMExpDLL int lbm_hfx_rcv_create(lbm_hfx_rcv_t **hfrcvp,
9257  lbm_hfx_t *hfx,
9258  lbm_context_t *ctx,
9259  lbm_rcv_topic_attr_t *rattr,
9260  void *clientd);
9261 
9265 LBMExpDLL lbm_rcv_t *lbm_rcv_from_hfx_rcv(lbm_hfx_rcv_t *hfxrcv);
9266 
9272 LBMExpDLL int lbm_hfx_rcv_delete(lbm_hfx_rcv_t *hfrcv);
9273 
9294 
9300 LBMExpDLL void lbm_debug_filename(const char *filename);
9301 
9307 LBMExpDLL void lbm_debug_mask(lbm_uint64_t mask);
9308 
9313 LBMExpDLL void lbm_debugfile_maxsize(lbm_uint64_t size);
9314 
9318 LBMExpDLL void lbm_debug_noflush(int on);
9319 
9326 LBMExpDLL void lbm_log_debug(int on);
9327 
9333 LBMExpDLL int lbm_debug_dump(const char *filename, int append);
9334 
9341 LBMExpDLL void lbm_set_uim_loss_rate(int rate);
9342 
9349 LBMExpDLL void lbm_set_lbtrm_loss_rate(int rate);
9350 
9357 LBMExpDLL void lbm_set_lbtrm_src_loss_rate(int rate);
9358 
9365 LBMExpDLL void lbm_set_lbtru_loss_rate(int rate);
9366 
9373 LBMExpDLL void lbm_set_lbtru_src_loss_rate(int rate);
9374 
9385 LBMExpDLL int lbm_transport_source_parse(const char *source, lbm_transport_source_info_t *info, size_t infosize);
9386 
9398 LBMExpDLL int lbm_transport_source_format(const lbm_transport_source_info_t *info, size_t infosize, char *source, size_t *size);
9399 
9400 struct lbm_apphdr_chain_iter_t_stct;
9402 typedef struct lbm_apphdr_chain_iter_t_stct lbm_apphdr_chain_iter_t;
9403 
9410  lbm_uchar_t type;
9412  lbm_ushort_t subtype;
9414  size_t len;
9416  void *data;
9418 
9425 LBMExpDLL int lbm_apphdr_chain_create(lbm_apphdr_chain_t **chain);
9426 
9432 LBMExpDLL int lbm_apphdr_chain_delete(lbm_apphdr_chain_t *chain);
9433 
9441 
9449 LBMExpDLL int lbm_apphdr_chain_iter_create(lbm_apphdr_chain_iter_t **chain_iter, lbm_apphdr_chain_t *chain);
9450 
9459 
9466 LBMExpDLL int lbm_apphdr_chain_iter_delete(lbm_apphdr_chain_iter_t *chain_iter);
9467 
9474 LBMExpDLL int lbm_apphdr_chain_iter_first(lbm_apphdr_chain_iter_t **chain_iter);
9475 
9482 LBMExpDLL int lbm_apphdr_chain_iter_done(lbm_apphdr_chain_iter_t **chain_iter);
9483 
9490 LBMExpDLL int lbm_apphdr_chain_iter_next(lbm_apphdr_chain_iter_t **chain_iter);
9491 
9499 
9500 
9512  const char *name;
9514  char *data;
9516  size_t size;
9522  int type;
9524 
9536 LBMExpDLL int lbm_msg_properties_create(lbm_msg_properties_t **properties);
9537 
9547 LBMExpDLL int lbm_msg_properties_delete(lbm_msg_properties_t *properties);
9548 
9565 LBMExpDLL int lbm_msg_properties_set(lbm_msg_properties_t *properties, const char *name, const void *value, int type, size_t size);
9566 
9576 LBMExpDLL int lbm_msg_properties_clear(lbm_msg_properties_t *properties, const char *name);
9577 
9597 LBMExpDLL int lbm_msg_properties_get(lbm_msg_properties_t *properties, const char *name, void *value, int *type, size_t *size);
9598 
9613 
9621 
9631 
9644 
9662 LBMExpDLL int lbm_src_get_inflight(lbm_src_t *src, int type, int *inflight, lbm_flight_size_set_inflight_cb_proc proc, void *clientd);
9663 
9681 LBMExpDLL int lbm_src_get_inflight_ex(lbm_src_t *src, int type, lbm_flight_size_inflight_t *inflight, lbm_flight_size_set_inflight_ex_cb_proc proc, void *clientd);
9682 
9701 LBMExpDLL int lbm_ssrc_get_inflight(lbm_ssrc_t *ssrc, int type, int *inflight, lbm_flight_size_set_inflight_cb_proc proc, void *clientd);
9702 
9721 LBMExpDLL int lbm_ssrc_get_inflight_ex(lbm_ssrc_t *ssrc, int type, lbm_flight_size_inflight_t *inflight, lbm_flight_size_set_inflight_ex_cb_proc proc, void *clientd);
9722 
9734 LBMExpDLL int lbm_ctx_umq_get_inflight(lbm_context_t *ctx, const char *qname, int *inflight, lbm_flight_size_set_inflight_cb_proc proc, void *clientd);
9735 
9743 LBMExpDLL int lbm_ume_src_msg_stable(lbm_src_t *src, lbm_uint32_t sqn);
9744 
9755 LBMExpDLL int lbm_umq_ctx_msg_stable(lbm_context_t *ctx, const char *qname, lbm_umq_msgid_t *msg_id);
9756 
9772 
9782 LBMExpDLL int lbm_ume_ack_delete(lbm_ume_rcv_ack_t *ack);
9783 
9795 LBMExpDLL int lbm_ume_ack_send_explicit_ack(lbm_ume_rcv_ack_t *ack, lbm_uint_t sqn);
9796 
9804 LBMExpDLL int lbm_ume_ack_mark_not_outstanding(lbm_ume_rcv_ack_t *ack, lbm_uint_t sqn);
9805 
9821 LBMExpDLL int lbm_ctx_umq_queue_topic_list(lbm_context_t *ctx, const char *queue_name, lbm_async_operation_func_t *async_opfunc);
9822 
9823 struct lbm_umq_msg_selector_t_stct;
9825 typedef struct lbm_umq_msg_selector_t_stct lbm_umq_msg_selector_t;
9826 
9833 LBMExpDLL int lbm_umq_msg_selector_create(lbm_umq_msg_selector_t **selector, char* str, lbm_uint16_t len);
9834 
9838 LBMExpDLL int lbm_umq_msg_selector_delete(lbm_umq_msg_selector_t *selector);
9839 
9856 LBMExpDLL int lbm_rcv_umq_queue_msg_list(lbm_rcv_t *rcv, const char *queue_name, lbm_umq_msg_selector_t *selector, lbm_async_operation_func_t *async_opfunc);
9857 
9883 LBMExpDLL int lbm_rcv_umq_queue_msg_retrieve(lbm_rcv_t *rcv, const char *queue_name, lbm_umq_msgid_t *msgids, int num_msgids, lbm_async_operation_func_t *async_opfunc);
9884 
9899 LBMExpDLL int lbm_async_operation_status(lbm_async_operation_handle_t handle, int flags);
9900 
9923 LBMExpDLL int lbm_async_operation_cancel(lbm_async_operation_handle_t handle, int flags);
9924 
9925 typedef int (*lbm_cred_callback_fn)(const char* name, size_t name_len, const char* passwd, size_t passwd_len, void *clientd);
9926 
9942 LBMExpDLL int lbm_auth_set_credentials(lbm_context_t *ctx,
9943  const char* name, size_t name_len,
9944  const char* passwd, size_t passwd_len,
9945  lbm_cred_callback_fn cbfn, void *clientd,
9946  int auth_required);
9947 
9957 LBMExpDLL int lbm_authstorage_open_storage_xml(char *filename);
9958 
9965 LBMExpDLL void lbm_authstorage_close_storage_xml(void);
9966 
9975 LBMExpDLL int lbm_authstorage_checkpermission(char *username, char* command);
9976 
9987 LBMExpDLL int lbm_authstorage_addtpnam(const char* username, const char* pass, unsigned char flags);
9988 
9996 LBMExpDLL int lbm_authstorage_deltpnam(const char* username);
9997 
10006 LBMExpDLL int lbm_authstorage_user_add_role(const char* username, const char* role);
10007 
10016 LBMExpDLL int lbm_authstorage_user_del_role(const char *username, const char* role);
10017 
10024 LBMExpDLL int lbm_authstorage_load_roletable(void);
10025 
10032 LBMExpDLL int lbm_authstorage_unload_roletable(void);
10033 
10042 LBMExpDLL int lbm_authstorage_roletable_add_role_action(const char* rolename, const char* action);
10043 
10051 LBMExpDLL int lbm_authstorage_print_roletable(void);
10052 
10057 typedef struct lbm_umm_info_t_stct {
10059  char username[LBM_UMM_USER_NAME_LENGTH_MAX];
10061  char password[LBM_UMM_PASSWORD_LENGTH_MAX];
10063  char appname[LBM_UMM_APP_NAME_LENGTH_MAX];
10065  char servers[LBM_UMM_NUM_SERVERS_MAX][LBM_UMM_SERVER_LENGTH_MAX];
10069  lbm_uint32_t flags;
10071  char * cert_file;
10074 } lbm_umm_info_t;
10075 
10084 LBMExpDLL int lbm_set_umm_info(lbm_umm_info_t * info);
10085 
10090 LBMExpDLL int lbm_is_ume_capable(void);
10091 
10096 LBMExpDLL int lbm_is_umq_capable(void);
10097 
10098 /* internal error management function(s) */
10099 LBMExpDLL void lbm_seterr(int eno, const char *str);
10100 LBMExpDLL void lbm_seterrf(int eno, const char *format, ...);
10101 LBMExpDLL const char *lbm_strerror(void);
10102 LBMExpDLL const char *lbm_strerror_errnum(int errnum);
10103 LBMExpDLL void lbm_sock_init(void);
10108 LBMExpDLL lbm_uint64_t lbm_create_random_id(void);
10113 LBMExpDLL char * lbm_get_jms_msg_id(lbm_uint64_t source_id, lbm_uint64_t seqno_id, char *topic);
10114 
10123 LBMExpDLL int lbm_src_buff_acquire(lbm_src_t * const src, void ** const bufp, const size_t len, const int flags);
10124 
10130 LBMExpDLL int lbm_src_buffs_complete(lbm_src_t * const src);
10131 
10143 LBMExpDLL int lbm_src_buffs_complete_and_acquire(lbm_src_t * const src, void ** const bufp, const size_t len, const int flags);
10144 
10152 LBMExpDLL int lbm_src_buffs_cancel(lbm_src_t * const src);
10153 
10178 LBMExpDLL int lbm_src_alloc_msg_buff(lbm_src_t * const src, void ** const usr_bufp, const size_t len, void ** const lbm_hdl, const int flags);
10179 
10192 LBMExpDLL int lbm_ssrc_buff_get(lbm_ssrc_t * const ssrc, char ** const usr_bufp, const int flags);
10193 
10203 LBMExpDLL int lbm_ssrc_buff_put(lbm_ssrc_t * const ssrc, const char * usr_bufp);
10204 
10205 struct lbm_xsp_t_stct;
10210 typedef struct lbm_xsp_t_stct lbm_xsp_t;
10211 
10212 struct lbm_xsp_attr_t_stct;
10217 typedef struct lbm_xsp_attr_t_stct lbm_xsp_attr_t;
10218 
10225 LBMExpDLL int lbm_xsp_attr_option_size(void);
10226 
10239 LBMExpDLL int lbm_xsp_attr_create(lbm_xsp_attr_t **attr);
10240 
10248 LBMExpDLL int lbm_xsp_attr_delete(lbm_xsp_attr_t *attr);
10249 
10262 LBMExpDLL int lbm_xsp_attr_setopt(lbm_xsp_attr_t *attr, const char *optname, const void *optval, size_t optlen);
10263 
10275 LBMExpDLL int lbm_xsp_attr_str_setopt(lbm_xsp_attr_t *attr, const char *optname, const char *optval);
10276 
10287 LBMExpDLL int lbm_xsp_attr_getopt(lbm_xsp_attr_t *attr, const char *optname, void *optval, size_t *optlen);
10288 
10298 LBMExpDLL int lbm_xsp_attr_str_getopt(lbm_xsp_attr_t *attr, const char *optname, char *optval, size_t *optlen);
10299 
10311 typedef int (*lbm_xsp_zero_transports_cb_proc)(lbm_xsp_t *xsp, void *clientd);
10312 
10320  lbm_xsp_zero_transports_cb_proc zero_transports_func;
10321  void *clientd;
10323 
10336 LBMExpDLL int lbm_xsp_create(lbm_xsp_t **xspp, lbm_context_t *ctx, lbm_context_attr_t *cattr, lbm_xsp_attr_t *attr);
10337 
10345 LBMExpDLL int lbm_xsp_delete(lbm_xsp_t *xsp);
10346 
10364 LBMExpDLL int lbm_xsp_process_events(lbm_xsp_t *xsp, lbm_ulong_t msec);
10365 
10375 LBMExpDLL int lbm_xsp_unblock(lbm_xsp_t *xsp);
10376 
10404 LBMExpDLL int lbm_xsp_register_fd(lbm_xsp_t *xsp, lbm_handle_t handle, lbm_fd_cb_proc proc, void *clientd, lbm_event_queue_t *evq, lbm_ulong_t ev);
10405 
10427 LBMExpDLL int lbm_xsp_cancel_fd(lbm_xsp_t *xsp, lbm_handle_t handle, lbm_ulong_t ev);
10428 
10437  int flags;
10441  char source[LBM_MSG_MAX_SOURCE_LEN];
10443 
10458 typedef lbm_xsp_t *(*lbm_transport_mapping_cb_proc)(lbm_context_t *ctx, lbm_new_transport_info_t *info, void *clientd);
10459 
10467  lbm_transport_mapping_cb_proc mapping_func;
10468  void *clientd;
10470 
10471 LBMExpDLL void lbm_set_benign_error_flag(void);
10472 LBMExpDLL void lbm_clr_benign_error_flag(void);
10473 LBMExpDLL int lbm_get_benign_error_flag(void);
10474 
10475 #if defined(__cplusplus)
10476 }
10477 #endif /* __cplusplus */
10478 
10479 #endif /* LBM_H */
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:4247
struct lbm_src_transport_stats_lbtrm_t_stct lbm_src_transport_stats_lbtrm_t
Structure that holds datagram statistics for source LBT-RM transports.
const void * umeack
Definition: lbm.h:3286
lbm_src_transport_stats_lbtipc_t lbtipc
Definition: lbm.h:3812
LBMExpDLL int lbm_ssrc_ume_deregister(lbm_ssrc_t *ssrc)
Deregister a smart source from the UMP stores.
LBMExpDLL int lbm_wildcard_rcv_attr_create_default(lbm_wildcard_rcv_attr_t **attr)
Create and fill a UM wildcard receiver attribute object with the initial default values.
lbm_ulong_t unrecovered_txw
Definition: lbm.h:3965
lbm_ulong_t source_events
Definition: lbm.h:4527
int(* lbm_datagram_acceleration_close_function_t)(void *device)
Application callback function to implement datagram acceleration close.
Definition: lbm.h:2366
lbm_ulong_t lbm_reqs_rcved
Definition: lbm.h:3852
void * msg_clientd
Definition: lbm.h:2099
LBMExpDLL int lbm_hf_src_sendv_ex(lbm_src_t *src, const lbm_iovec_t *iov, int num, lbm_uint_t sqn, int flags, lbm_src_send_ex_info_t *exinfo)
Extended send of a set of Hot Failover (HF) messages to the topic associated with a UM source...
struct lbm_msg_fragment_info_t_stct lbm_msg_fragment_info_t
Structure that holds fragment information for UM messages when appropriate.
lbm_ulong_t callback_events_svc_mean
Definition: lbm.h:4648
const void * umq_cr
Definition: lbm.h:3296
struct lbm_src_transport_stats_tcp_t_stct lbm_src_transport_stats_tcp_t
Structure that holds datagram statistics for source TCP transports.
lbm_ulong_t topicless_im_msgs_tot
Definition: lbm.h:4427
lbm_ulong_t age_min
Definition: lbm.h:4618
struct lbm_rcv_transport_stats_lbtru_t_stct lbm_rcv_transport_stats_lbtru_t
Structure that holds datagram statistics for receiver LBT-RU transports.
lbm_uint_t offset
Definition: lbm.h:3157
LBMExpDLL int lbm_ssrc_buff_put(lbm_ssrc_t *const ssrc, const char *usr_bufp)
Return a pre-allocated user buffer associated with a UM Smart Source to the free list.
LBMExpDLL int lbm_config(const char *fname)
Set one or more options from the contents of a disk file.
lbm_uint_t ip_address
Definition: lbm.h:2793
LBMExpDLL int lbm_src_topic_attr_set_from_xml(lbm_src_topic_attr_t *attr, const char *context_name, const char *topicname)
Fill a UM source topic attribute object with the current default values for the given topic name...
int num_msgs
Definition: lbm.h:1711
struct lbm_umm_info_t_stct lbm_umm_info_t
Structure for specifying UMM daemon connection options.
LBMExpDLL int lbm_transport_source_format(const lbm_transport_source_info_t *info, size_t infosize, char *source, size_t *size)
Format a UM transport source string from its components. See Source String.
int status
Definition: lbm.h:1754
lbm_ulong_t resp_msgs_svc_mean
Definition: lbm.h:4414
LBMExpDLL int lbm_log(lbm_log_cb_proc proc, void *clientd)
Set a callback function to be called for UM log messages (warnings, notices, etc.).
struct lbm_ume_store_group_entry_t_stct lbm_ume_store_group_entry_t
Structure that holds information for a UMP store group for configuration purposes.
size_t iov_len
Definition: lbm.h:1192
Structure that holds ACK information for a given message in an extended form.
Definition: lbm.h:1445
struct lbm_mim_unrecloss_func_t_stct lbm_mim_unrecloss_func_t
Structure that holds the application callback for multicast immediate message unrecoverable loss noti...
Struct containing extended asynchronous operation status information about a single UMQ message...
Definition: lbm.h:1685
LBMExpDLL int lbm_ctx_umq_get_inflight(lbm_context_t *ctx, const char *qname, int *inflight, lbm_flight_size_set_inflight_cb_proc proc, void *clientd)
Retrieves the current number of inflight UMQ messages from the ctx pointed to by lbm_context_t *ctx...
LBMExpDLL void lbm_set_lbtru_loss_rate(int rate)
Dynamically set the LBT-RU loss rate.
Structure that holds index assignment information for receivers.
Definition: lbm.h:1506
struct lbm_context_rcv_immediate_msgs_func_t_stct lbm_context_rcv_immediate_msgs_func_t
Structure that holds the application callback for receiving certain immediate mode messages (UIM)...
Structure, struct iovec compatible, that holds information about buffers used for vectored sends...
Definition: lbm.h:1188
LBMExpDLL int lbm_transport_source_parse(const char *source, lbm_transport_source_info_t *info, size_t infosize)
Parse a UM transport source string into its components. See Source String.
Results struct returned via the user-specified asynchronous operation callback from any asynchronous ...
Definition: lbm.h:1750
struct lbm_msg_ume_registration_t_stct lbm_msg_ume_registration_t
Structure that holds store registration information for the UMP receiver.
LBMExpDLL int lbm_rcv_delete(lbm_rcv_t *rcv)
Delete a UM receiver object.
lbm_uint_t rcv_registration_id
Definition: lbm.h:1434
lbm_ulong_t id
Definition: lbm.h:3002
struct lbm_umq_ulb_application_set_attr_t_stct lbm_umq_ulb_application_set_attr_t
Structure that holds information for a UMQ ULB sources application set attributes.
LBMExpDLL void lbm_debug_noflush(int on)
Set the noflush flag for the debug logs. This can dramatically increase performance when a debug mask...
Structure that represents an element in an app header chain.
Definition: lbm.h:9408
LBMExpDLL int lbm_hf_rcv_create(lbm_hf_rcv_t **hfrcvp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_rcv_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
Create and LBM receiver that will receive LBM Hot Failover (HF) messages sent to the given topic...
LBMExpDLL int lbm_context_reset_im_src_transport_stats(lbm_context_t *ctx)
Reset the IM source stats for a context.
char * buffer
Definition: lbm.h:2334
struct lbm_ume_rcv_recovery_info_ex_func_info_t_stct lbm_ume_rcv_recovery_info_ex_func_info_t
Structure that holds information for UMP receiver recovery sequence number info application callbacks...
const lbm_buff_t * buffer
Definition: lbm.h:3275
lbm_ulong_t context_source_events_svc_mean
Definition: lbm.h:4598
int(* lbm_datagram_acceleration_mcast_join_function_t)(void *handle, struct in_addr *mcast_addr)
Application callback function to implement datagram acceleration multicast join.
Definition: lbm.h:2398
lbm_ulong_t tr_dgrams_rcved
Definition: lbm.h:4683
LBMExpDLL int lbm_context_process_lbtipc_messages(lbm_context_t *ctx, lbm_ulong_t msec, lbm_ulong_t loop_count)
Process LBT-IPC messages received.
lbm_src_transport_stats_lbtsmx_t lbtsmx
Definition: lbm.h:3814
unsigned char lbm_uchar_t
For portability.
Definition: lbm.h:1149
LBMExpDLL int lbm_event_queue_attr_str_setopt(lbm_event_queue_attr_t *attr, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied event queue attribute obje...
lbm_msg_t * msg
Definition: lbm.h:1689
lbm_rcv_transport_stats_lbtrm_t lbtrm
Definition: lbm.h:4334
LBMExpDLL lbm_event_queue_t * lbm_event_queue_from_rcv(lbm_rcv_t *rcv)
Retrieve the UM event queue object associated with a UM receiver object.
LBMExpDLL int lbm_hfx_attr_create_from_xml(lbm_hfx_attr_t **attr, const char *topicname)
Create and fill a UM HFX attribute object with the current default values for the given topic name...
lbm_uint_t registration_id
Definition: lbm.h:2799
lbm_ulong_t tr_dgrams_send_failed
Definition: lbm.h:4699
lbm_ushort_t store_index
Definition: lbm.h:1459
struct lbm_umq_queue_topic_t_stct lbm_umq_queue_topic_t
Structure that holds queue topic information and can be used as a handle to a queue topic...
Structure that holds information for a Resolver Service for configuration purposes.
Definition: lbm.h:2828
lbm_event_queue_t * evq
Definition: lbm.h:1948
struct lbm_src_event_ume_registration_complete_ex_t_stct lbm_src_event_ume_registration_complete_ex_t
Structure that holds information for sources after registration is complete to all involved stores...
struct lbm_ipv4_address_mask_t_stct lbm_ipv4_address_mask_t
Structure that holds an IPv4 address and a CIDR style netmask.
LBMExpDLL int lbm_hfx_dump(lbm_hfx_t *hfx, int *size, lbm_config_option_t *opts)
Retrieves all HFX attribute options.
void(* lbm_mem_mgt_free_cb_func)(void *ptr, void *clientd)
Application callback to free memory using application specific function.
Definition: lbm.h:1866
lbm_ulong_t lbm_reqs_rcved
Definition: lbm.h:3991
lbm_ulong_t msgs_sent
Definition: lbm.h:3761
lbm_ushort_t application_set_index
Definition: lbm.h:1624
Structure that holds information for UMP receiver registration ID application callbacks.
Definition: lbm.h:2065
lbm_ushort_t application_set_index
Definition: lbm.h:2973
int type
Definition: lbm.h:3374
LBMExpDLL int lbm_wildcard_rcv_attr_dup(lbm_wildcard_rcv_attr_t **attr, const lbm_wildcard_rcv_attr_t *original)
Duplicate a UM wildcard receiver attribute object.
Deprecated structure that holds datagram statistics for receiver LBT-RDMA transports.
Definition: lbm.h:4267
int flags
Definition: lbm.h:1527
Structure that holds information for sources after registration is complete to all involved queue ins...
Definition: lbm.h:2195
struct lbm_msg_ume_deregistration_ex_t_stct lbm_msg_ume_deregistration_ex_t
Structure that holds store deregistration information for the UM receiver in an extended form...
lbm_ushort_t dest_port
Definition: lbm.h:3380
LBMExpDLL const char * lbm_version(void)
return the version string compiled into UM.
Structure that holds statistics for source daemon mode transport (deprecated)
Definition: lbm.h:3623
int(* lbm_datagram_acceleration_send_connect_function_t)(void *handle, const struct sockaddr_in *dest_sin, int flags, int ttl, void **send_handle_out)
Application callback function to implement datagram acceleration send connect.
Definition: lbm.h:2436
lbm_ulong_t txw_bytes
Definition: lbm.h:3549
lbm_ulong_t bytes_rcved
Definition: lbm.h:4309
LBMExpDLL int lbm_msg_properties_iter_next(lbm_msg_properties_iter_t *iter)
Iterate to the next property in an lbm_msg_properties_t object. See Message Properties.
Structure that holds the application callback pattern type information for wildcard receivers...
Definition: lbm.h:2719
lbm_uint_t queue_id
Definition: lbm.h:2248
Structure that holds the application callback for multicast immediate message unrecoverable loss noti...
Definition: lbm.h:2767
lbm_ulong_t nak_tx_mean
Definition: lbm.h:3948
LBMExpDLL void lbm_logf(int level, const char *format,...)
Log a message. This is an entry to the UM logging mechanism.
lbm_uint_t queue_instance_index
Definition: lbm.h:2250
LBMExpDLL int lbm_msg_retrieve_umq_index(lbm_msg_t *msg, lbm_umq_index_info_t *info)
Retrieve UMQ index information from a UM message.
void * msg_clientd
Definition: lbm.h:2317
lbm_ushort_t destination_port
Definition: lbm.h:2819
int(* lbm_ume_ctx_rcv_ctx_notification_delete_function_cb)(const ume_liveness_receiving_context_t *rcv, void *clientd, void *source_clientd)
Application callback for notification of unresponsiveness of a receiving application.
Definition: lbm.h:2935
LBMExpDLL lbm_event_queue_t * lbm_event_queue_from_src(lbm_src_t *src)
Retrieve the UM event queue object associated with a UM source object.
LBMExpDLL int lbm_wildcard_rcv_str_getopt(lbm_wildcard_rcv_t *wrcv, const char *optname, char *optval, size_t *optlen)
Retrieve the textual option value within the given wrcv.
lbm_ulong_t bytes_buffered
Definition: lbm.h:3625
lbm_umq_regid_t registration_id
Definition: lbm.h:2182
lbm_uint_t first_sequence_number
Definition: lbm.h:2095
lbm_uint32_t mc_group
Definition: lbm.h:3382
LBMExpDLL int lbm_cancel_timer_ex(lbm_context_t *ctx, int id, void **clientdp, lbm_event_queue_cancel_cb_info_t *cbinfo)
Extended cancel a previously scheduled timer identified by id.
Structure that holds the application callback for registration ID setting, extended form...
Definition: lbm.h:2743
LBMExpDLL int lbm_wildcard_rcv_attr_set_from_xml(lbm_wildcard_rcv_attr_t *attr, const char *context_name, const char *pattern, int pattern_type)
Fill a UM wildcard receiver attribute object with the current default values for the given topic name...
char * iov_base
Definition: lbm.h:1190
struct lbm_ume_rcv_regid_ex_func_info_t_stct lbm_ume_rcv_regid_ex_func_info_t
Structure that holds information for UMP receiver registration ID application callbacks.
Structure passed to cancel/delete functions so that a cancel callback may be called.
Definition: lbm.h:5249
struct lbm_ssrc_send_ex_info_t_stct lbm_ssrc_send_ex_info_t
Structure that holds information for the extended smart source send calls.
Structure that holds store registration information for the UM receiver in an extended form...
Definition: lbm.h:1357
lbm_ulong_t bytes_rcved
Definition: lbm.h:3873
LBMExpDLL lbm_uint64_t lbm_create_random_id(void)
Create a random id to be used in conjunction with lbm_get_jms_msg_id for JMS compatibility.
LBMExpDLL int lbm_wildcard_rcv_unsubscribe_channel(lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel)
Discontinue an existing channel subscription.
lbm_ulong_t unrecovered_tmo
Definition: lbm.h:3975
size_t index_len
Definition: lbm.h:1497
Structure that holds UMQ message total lifetime information.
Definition: lbm.h:1580
Structure that holds statistics for an event queue.
Definition: lbm.h:4370
struct lbm_ume_ctx_rcv_ctx_notification_func_t_stct lbm_ume_ctx_rcv_ctx_notification_func_t
Structure that holds the application callback for receiving context status notifications for source c...
LBMExpDLL int lbm_event_queue_attr_delete(lbm_event_queue_attr_t *attr)
Delete an event queue attribute object.
LBMExpDLL int lbm_src_topic_dump(lbm_src_t *src, int *size, lbm_config_option_t *opts)
Retrieves all source topic configuration options.
Structure for defining a UMQ application set.
Definition: lbm.h:1616
LBMExpDLL int lbm_context_getopt(lbm_context_t *ctx, const char *optname, void *optval, size_t *optlen)
Retrieve an option value within the given ctx.
lbm_ulong_t rcv_cb_svc_time_max
Definition: lbm.h:4813
LBMExpDLL void lbm_set_uim_loss_rate(int rate)
Dynamically set the UIM loss rate.
LBMExpDLL int lbm_rcv_umq_queue_msg_retrieve(lbm_rcv_t *rcv, const char *queue_name, lbm_umq_msgid_t *msgids, int num_msgids, lbm_async_operation_func_t *async_opfunc)
Retrieves a set of queued messages from the queue (asynchronous operation).
int(* lbm_wildcard_rcv_delete_function_cb)(const char *topic_str, void *clientd)
Application callback for wildcard receiver deletion.
Definition: lbm.h:3483
Structure that holds datagram statistics for source LBT-IPC transports.
Definition: lbm.h:3711
LBMExpDLL int lbm_src_channel_delete(lbm_src_channel_info_t *chn)
Release the resources associated with a source channel.
LBMExpDLL int lbm_win32_static_thread_attach(void)
Instructs UM that a new thread will be calling UM functions.
lbm_ulong_t naks_rcved
Definition: lbm.h:3657
lbm_ulong_t bytes_rcved
Definition: lbm.h:4047
LBMExpDLL int lbm_msg_ume_can_send_explicit_ack(lbm_msg_t *msg)
Check to see if Explicit UMP ACK for a UM message object can be called.
LBMExpDLL int lbm_authstorage_deltpnam(const char *username)
Delete the user credential from the password file.
lbm_ulong_t callback_events_tot
Definition: lbm.h:4635
LBMExpDLL int lbm_context_retrieve_src_transport_stats_ex(lbm_context_t *ctx, int *num, int size, lbm_src_transport_stats_t *stats)
Retrieve the transport stats for all the sources in a given context.
lbm_uint_t broker_ip
Definition: lbm.h:2847
struct lbm_umq_msgid_t_stct lbm_umq_msgid_t
Structure that holds information for UMQ messages that allows the message to be identified uniquely...
struct lbm_process_events_info_t_stct lbm_process_events_info_t
Structure that holds information for the extended Process Events calls A structure used with Sequenti...
Structure that holds the extended hash function callback information.
Definition: lbm.h:2687
lbm_umq_queue_topic_t * topic
Definition: lbm.h:1649
lbm_ulong_t fragments_lost
Definition: lbm.h:4771
struct lbm_apphdr_chain_iter_t_stct lbm_apphdr_chain_iter_t
An iterator (opaque) used to iterate over elements of an app header chain.
Definition: lbm.h:9402
LBMExpDLL int lbm_ume_ack_send_explicit_ack(lbm_ume_rcv_ack_t *ack, lbm_uint_t sqn)
Sends an explicit ACK up to the sequence number provided by the supplied ACK structure. This ACK structure is obtained via lbm_msg_extract_ume_ack(), and is deleted via lbm_ume_ack_delete().
Structure that holds seconds and nanoseconds since midnight, Jan 1, 1970 UTC.
Definition: lbm.h:1221
unsigned short int lbm_ushort_t
For portability.
Definition: lbm.h:1147
void * data
Definition: lbm.h:9416
struct lbm_ume_src_force_reclaim_func_t_stct lbm_ume_src_force_reclaim_func_t
Structure that holds the application callback for forced reclamation notifications.
LBMExpDLL void lbm_authstorage_close_storage_xml(void)
Release the storage object.
Structure that holds the application callback for context-level source events.
Definition: lbm.h:3042
LBMExpDLL int lbm_authstorage_open_storage_xml(char *filename)
Create the storage object from XML password file.
LBMExpDLL int lbm_rcv_umq_index_release(lbm_rcv_t *rcv, const char *queue_name, lbm_umq_index_info_t *index_info)
Instruct the given UMQ queue(s) to release the given UMQ index that is assigned to the given receiver...
Structure that holds the application callback for context-level events.
Definition: lbm.h:3069
lbm_uint64_t u64
Definition: lbm.h:1592
lbm_ulong_t naks_ignored
Definition: lbm.h:3567
lbm_event_queue_cancel_cb_proc cbproc
Definition: lbm.h:5253
lbm_ulong_t rxs_sent
Definition: lbm.h:3687
lbm_ulong_t msgs_rcved
Definition: lbm.h:4237
Definition: lbm.h:2708
struct lbm_umq_msg_selector_t_stct lbm_umq_msg_selector_t
Opaque handle to a message selector.
Definition: lbm.h:9825
lbm_ulong_t wrcv_msgs_svc_min
Definition: lbm.h:4462
lbm_ulong_t reserved1
Definition: lbm.h:4254
lbm_ulong_t rctlr_rx_msgs
Definition: lbm.h:3603
lbm_ulong_t(* lbm_str_hash_function_cb_ex)(const char *str, size_t strlen, void *clientd)
Application callback for user-supplied extended version of the topic hash function.
Definition: lbm.h:2538
LBMExpDLL int lbm_event_queue_attr_str_getopt(lbm_event_queue_attr_t *attr, const char *optname, char *optval, size_t *optlen)
Retrieve a textual option value within the given event queue attribute.
lbm_datagram_acceleration_unbind_function_t unbind
Definition: lbm.h:2499
LBMExpDLL int lbm_msg_properties_delete(lbm_msg_properties_t *properties)
Deletes a properties object. See Message Properties.
LBMExpDLL int lbm_cancel_timer(lbm_context_t *ctx, int id, void **clientdp)
Cancel a previously scheduled timer identified by id.
Structure that holds the XSP zero transports function.
Definition: lbm.h:10319
int32_t lbm_int32_t
For portability.
Definition: lbm.h:1157
lbm_uint_t registration_id
Definition: lbm.h:1264
Structure that holds datagram statistics for receiver TCP transports.
Definition: lbm.h:3833
LBMExpDLL int lbm_rcv_retrieve_transport_stats(lbm_rcv_t *rcv, const char *source, lbm_rcv_transport_stats_t *stats)
Retrieve the transport statistics for the transport used by the given receiver from a specific source...
LBMExpDLL int lbm_wildcard_rcv_attr_create_from_xml(lbm_wildcard_rcv_attr_t **attr, const char *context_name, const char *pattern, int pattern_type)
Create and fill a UM wildcard receiver attribute object with the current default values for the given...
LBMExpDLL int lbm_set_umm_info(lbm_umm_info_t *info)
Connect to and retrieve configuration from a UMM daemon.
LBMExpDLL int lbm_wildcard_rcv_getopt(lbm_wildcard_rcv_t *wrcv, const char *optname, void *optval, size_t *optlen)
Retrieve an option value within the given wrcv.
lbm_ulong_t rctlr_data_msgs
Definition: lbm.h:3596
lbm_uint_t queue_id
Definition: lbm.h:2271
lbm_ulong_t num_clients
Definition: lbm.h:3689
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:3984
LBMExpDLL void lbm_debug_mask(lbm_uint64_t mask)
Set the debug mask for LBM debug log entries.
LBMExpDLL int lbm_unicast_immediate_request(lbm_request_t **reqp, lbm_context_t *ctx, const char *target, const char *topic, const char *data, size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq, int flags)
Unicast an immediate request message to the target and topic.
LBMExpDLL int lbm_context_attr_option_size(void)
Retrieves the number of options that are of type "context".
Structure that holds the application callback for registration ID setting.
Definition: lbm.h:2731
lbm_umq_queue_topic_status_t * topics
Definition: lbm.h:1659
LBMExpDLL int lbm_rcv_create(lbm_rcv_t **rcvp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_rcv_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
Create a UM receiver that will receive messages sent to the given topic.
LBMExpDLL int lbm_hfx_attr_option_size(void)
Retrieves the number of options that are of type "hfx". The function returns the number of entries th...
Structure that holds store registration information for the UMP source.
Definition: lbm.h:1262
LBMExpDLL int lbm_rcv_unsubscribe_channel_ex(lbm_rcv_t *rcv, lbm_uint32_t channel, lbm_event_queue_cancel_cb_info_t *cbinfo)
Discontinue an existing channel subscription with an application callback indicating when all message...
size_t plen
Definition: lbm.h:3300
lbm_uint_t low_sequence_number
Definition: lbm.h:2118
LBMExpDLL int lbm_rcv_ume_deregister(lbm_rcv_t *rcv)
Deregister a receiver from all known UMP stores.
struct lbm_rcv_transport_stats_broker_t_stct lbm_rcv_transport_stats_broker_t
Structure that holds message statistics for receiver BROKER transports.
struct ume_liveness_receiving_context_t_stct ume_liveness_receiving_context_t
Structure that holds the information about a receiving context.
LBMExpDLL int lbm_context_retrieve_im_src_transport_stats(lbm_context_t *ctx, int *num, int size, lbm_src_transport_stats_t *stats)
Retrieve the IM source stats for a context.
LBMExpDLL int lbm_msg_properties_iter_create(lbm_msg_properties_iter_t **iterp)
Creates a new msg properties iterator. An iterator is used to sequentially access each property in a ...
int flags
Definition: lbm.h:3188
lbm_ulong_t nak_tx_min
Definition: lbm.h:4117
uint64_t lbm_uint64_t
For portability.
Definition: lbm.h:1159
LBMExpDLL int lbm_xsp_create(lbm_xsp_t **xspp, lbm_context_t *ctx, lbm_context_attr_t *cattr, lbm_xsp_attr_t *attr)
Create a UM XSP object.
lbm_ulong_t io_events_tot
Definition: lbm.h:4481
struct lbm_resolver_event_advertisement_t_stct lbm_resolver_event_advertisement_t
Advertisement event structure (for UM internal use only).
LBMExpDLL int lbm_context_retrieve_src_transport_stats(lbm_context_t *ctx, int *num, lbm_src_transport_stats_t *stats)
Retrieve the transport stats for all the sources in a given context.
LBMExpDLL lbm_context_t * lbm_context_from_wildcard_rcv(lbm_wildcard_rcv_t *wcrcv)
Retrieve the LBM context object associated with a UM wildcard receiver object.
lbm_hf_sequence_number_t hf_sequence_number
Definition: lbm.h:3306
Structure that holds datagram statistics for source TCP transports.
Definition: lbm.h:3512
int flags
Definition: lbm.h:1240
int(* lbm_datagram_acceleration_open_function_t)(struct in_addr *interface_addr, int flags, void **device_out)
Application callback function to implement datagram acceleration open.
Definition: lbm.h:2357
LBMExpDLL int lbm_rcv_topic_dump(lbm_rcv_t *rcv, int *size, lbm_config_option_t *opts)
Retrieves all receiver topic configuration options.
lbm_ulong_t naks_sent
Definition: lbm.h:3890
lbm_ume_src_force_reclaim_function_cb func
Definition: lbm.h:2757
lbm_umq_queue_msg_status_t * msgs
Definition: lbm.h:1701
lbm_ulong_t tr_bytes_rcved
Definition: lbm.h:4687
LBMExpDLL int lbm_rcv_topic_attr_str_setopt(lbm_rcv_topic_attr_t *attr, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied receiver topic attribute o...
LBMExpDLL int lbm_apphdr_chain_iter_create_from_msg(lbm_apphdr_chain_iter_t **chain_iter, lbm_msg_t *msg)
Create an iterator (an lbm_apphdr_chain_iter_t structure) to point to the first element in an apphdr ...
LBMExpDLL void lbm_set_lbtrm_loss_rate(int rate)
Dynamically set the LBT-RM loss rate.
lbm_ulong_t umq_msg_total_lifetime
Definition: lbm.h:1584
struct lbm_src_channel_info_t_stct lbm_src_channel_info_t
Opaque structure that holds information used for sending on channels.
Definition: lbm.h:1476
lbm_ulong_t bytes_rcved
Definition: lbm.h:4275
Structure that holds the context application callback function when new sources are discovered...
Definition: lbm.h:2700
int flags
Definition: lbm.h:2067
lbm_uint_t rcv_registration_id
Definition: lbm.h:1415
LBMExpDLL int lbm_src_get_inflight_ex(lbm_src_t *src, int type, lbm_flight_size_inflight_t *inflight, lbm_flight_size_set_inflight_ex_cb_proc proc, void *clientd)
Retrieves the current inflight message and byte counts of a given type from a given source...
lbm_uint_t osqn
Definition: lbm.h:3290
LBMExpDLL int lbm_event_queue_reset_stats(lbm_event_queue_t *evq)
Reset the stats for an event queue.
struct lbm_transport_mapping_func_t_stct lbm_transport_mapping_func_t
Structure that holds the application callback for the transport mapping function. ...
LBMExpDLL int lbm_ssrc_get_available_data_space(lbm_ssrc_t *ssrc, int *length)
Retrieve the length of available data space after lbm_ssrc_create().
LBMExpDLL int lbm_apphdr_chain_append_elem(lbm_apphdr_chain_t *chain, lbm_apphdr_chain_elem_t *elem)
Appends a user-created app header to an app header chain (deprecated).
LBMExpDLL int lbm_rcv_delete_ex(lbm_rcv_t *rcv, lbm_event_queue_cancel_cb_info_t *cbinfo)
Extended delete a UM receiver object.
lbm_ulong_t id
Definition: lbm.h:2971
int(* lbm_context_event_cb_proc)(lbm_context_t *ctx, int event, void *ed, void *clientd)
Application context-level callback for events associated with contexts.
Definition: lbm.h:3061
LBMExpDLL int lbm_context_attr_str_setopt(lbm_context_attr_t *attr, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied context attribute object...
Structure that holds flight size notification event data.
Definition: lbm.h:1249
struct lbm_str_hash_func_t_stct lbm_str_hash_func_t
Structure that holds the hash function callback information.
LBMExpDLL lbm_apphdr_chain_elem_t * lbm_apphdr_chain_iter_current(lbm_apphdr_chain_iter_t **chain_iter)
Returns the current element of an app header chain pointed to by an lbm_apphdr_chain_iter_t iterator ...
lbm_uint_t assignment_id
Definition: lbm.h:2221
lbm_ulong_t uim_dup_msgs_rcved
Definition: lbm.h:4759
lbm_ulong_t data_msgs_svc_max
Definition: lbm.h:4395
LBMExpDLL int lbm_event_queue_str_getopt(lbm_event_queue_t *evq, const char *optname, char *optval, size_t *optlen)
Retrieve a textual option value within the given event queue.
lbm_ulong_t msgs_sent
Definition: lbm.h:3643
Structure that holds originating information for UM messages which arrived via a gateway.
Definition: lbm.h:3168
LBMExpDLL int lbm_context_delete_ex(lbm_context_t *ctx, lbm_event_queue_cancel_cb_info_t *cbinfo)
Delete a UM context object with an application callback indicating when the context is fully deleted...
int(* lbm_wildcard_rcv_create_function_cb)(const char *topic_str, lbm_rcv_topic_attr_t *attr, void *clientd)
Application callback for wildcard receiver creation.
Definition: lbm.h:3457
lbm_msg_properties_t * properties
Definition: lbm.h:3304
Structure that holds the application callback for receiving certain immediate mode messages (UIM)...
Definition: lbm.h:3350
LBMExpDLL int lbm_ssrc_get_inflight_ex(lbm_ssrc_t *ssrc, int type, lbm_flight_size_inflight_t *inflight, lbm_flight_size_set_inflight_ex_cb_proc proc, void *clientd)
Retrieves the current inflight message and byte counts of a given type from a given smart source...
LBMExpDLL int lbm_rcv_getopt(lbm_rcv_t *rcv, const char *optname, void *optval, size_t *optlen)
Retrieve an option value within the given rcv.
lbm_uint32_t domain_id
Definition: lbm.h:2801
LBMExpDLL int lbm_ssrc_topic_dump(lbm_ssrc_t *ssrc, int *size, lbm_config_option_t *opts)
Retrieves all smart source topic configuration options.
lbm_ushort_t store_index
Definition: lbm.h:1319
int flags
Definition: lbm.h:3240
lbm_uint32_t session_id
Definition: lbm.h:3386
LBMExpDLL int lbm_context_reset_im_rcv_transport_stats(lbm_context_t *ctx)
Reset the IM receiver stats for a context.
struct lbm_src_event_ume_ack_info_t_stct lbm_src_event_ume_ack_info_t
Structure that holds ACK information for a given message.
lbm_ulong_t num_clients
Definition: lbm.h:3736
lbm_uint_t src_registration_id
Definition: lbm.h:1369
LBMExpDLL int lbm_xsp_attr_delete(lbm_xsp_attr_t *attr)
Delete a UM XSP attribute object.
LBMExpDLL int lbm_hfx_attr_create(lbm_hfx_attr_t **attr)
Create and fill a UM HFX attribute object with the current default values. Not recommended for use...
LBMExpDLL int lbm_hf_rcv_topic_dump(lbm_hf_rcv_t *hfrcv, int *size, lbm_config_option_t *opts)
Retrieves all receiver attribute options for an HF receiver.
struct lbm_apphdr_chain_t_stct lbm_apphdr_chain_t
Opaque structure used for sending messages with app header chains.
Definition: lbm.h:1572
Struct containing an array of UMQ messages listed via lbm_rcv_umq_queue_msg_list. ...
Definition: lbm.h:1699
lbm_ulong_t bytes_sent
Definition: lbm.h:3646
void * source_clientd
Definition: lbm.h:2125
LBMExpDLL int lbm_rcv_topic_attr_getopt(lbm_rcv_topic_attr_t *attr, const char *optname, void *optval, size_t *optlen)
Retrieve an option value within the given receiver topic attribute.
LBMExpDLL int lbm_src_sendv_ex(lbm_src_t *src, const lbm_iovec_t *iov, int num, int flags, lbm_src_send_ex_info_t *info)
Extended send of a set of messages to the topic associated with a UM source.
LBMExpDLL void lbm_set_lbtru_src_loss_rate(int rate)
Dynamically set the LBT-RU source loss rate.
LBMExpDLL int lbm_hfx_str_setopt(lbm_hfx_t *hfx, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied HFX.
int type
Definition: lbm.h:3799
struct lbm_msg_properties_iter_t_stct lbm_msg_properties_iter_t
A struct used for iterating over properties pointed to by an lbm_msg_properties_t. The iterator is used to access the fields of a property.
struct lbm_umq_msg_total_lifetime_info_t_stct lbm_umq_msg_total_lifetime_info_t
Structure that holds UMQ message total lifetime information.
lbm_ushort_t store_index
Definition: lbm.h:1375
LBMExpDLL int lbm_context_attr_dup(lbm_context_attr_t **attr, const lbm_context_attr_t *original)
Duplicate a UM context attribute object.
Structure that holds UMQ ACK information for a given message in an extended form. ...
Definition: lbm.h:2232
LBMExpDLL int lbm_is_ume_capable(void)
Determine if the LBM library is capable of UME operations.
lbm_ulong_t nak_stm_min
Definition: lbm.h:4100
lbm_datagram_acceleration_sendto_function_t sendto
Definition: lbm.h:2513
struct lbm_umq_ulb_receiver_type_attr_t_stct lbm_umq_ulb_receiver_type_attr_t
Structure that holds information for a UMQ ULB sources receiver type attributes.
LBMExpDLL int lbm_rcv_retrieve_all_transport_stats(lbm_rcv_t *rcv, int *num, lbm_rcv_transport_stats_t *stats)
Retrieve the transport stats for all the sources seen by the given receiver.
lbm_uint_t total_message_length
Definition: lbm.h:3160
lbm_transport_source_info_t src_info
Definition: lbm.h:10439
LBMExpDLL int lbm_authstorage_roletable_add_role_action(const char *rolename, const char *action)
Add a new authorized action for the specified role.
struct lbm_rcv_transport_stats_t_stct lbm_rcv_transport_stats_t
Structure that holds statistics for receiver transports.
void * clientd
Definition: lbm.h:2333
lbm_ulong_t msgs_rcved
Definition: lbm.h:4307
LBMExpDLL int lbm_license_vds_valid(void)
Determine is the VDS product is licensed.
const void * umq_msgid
Definition: lbm.h:3294
lbm_int32_t * mprop_int_vals
Definition: lbm.h:2048
lbm_timespec_t hr_timestamp
Definition: lbm.h:1332
lbm_ulong_t timer_events_svc_max
Definition: lbm.h:4524
lbm_uint32_t u32
Definition: lbm.h:1590
lbm_uint64_t src_session_id
Definition: lbm.h:1379
Structure to hold a hot failover sequence number.
Definition: lbm.h:1588
LBMExpDLL int lbm_event_queue_setopt(lbm_event_queue_t *evq, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied event queue.
int flags
Definition: lbm.h:1491
lbm_ulong_t msgs_sent
Definition: lbm.h:3718
LBMExpDLL int lbm_ssrc_get_inflight(lbm_ssrc_t *ssrc, int type, int *inflight, lbm_flight_size_set_inflight_cb_proc proc, void *clientd)
Retrieves the current number of inflight messages of a given type from a given smart source...
lbm_uint64_t num_msgs
Definition: lbm.h:1703
LBMExpDLL int lbm_hfx_rcv_topic_dump(lbm_hfx_rcv_t *hfxrcv, int *size, lbm_config_option_t *opts)
Retrieves all receiver attribute options for an HFX receiver.
Structure that holds information for a UMQ ULB sources receiver type associations with application se...
Definition: lbm.h:2969
struct lbm_wildcard_rcv_attr_t_stct lbm_wildcard_rcv_attr_t
Opaque structure that holds configuration options for wildcard receivers.
Definition: lbm.h:3500
void * clientd
Definition: lbm.h:5255
lbm_ulong_t ncfs_ignored
Definition: lbm.h:3899
LBMExpDLL int lbm_msg_retain(lbm_msg_t *msg)
Instruct UM that the API is going to retain ownership of a UM message object.
int(* lbm_ume_src_force_reclaim_function_cb)(const char *topic_str, lbm_uint_t seqnum, void *clientd)
Application callback for notification of forced reclamation of retained messages for UMP sources...
Definition: lbm.h:2613
struct lbm_src_event_sequence_number_info_t_stct lbm_src_event_sequence_number_info_t
Structure that holds sequence number information for a message sent by a source.
lbm_ulong_t num_clients
Definition: lbm.h:3713
struct lbm_datagram_acceleration_recv_info_t_stct lbm_datagram_acceleration_recv_info_t
Information returned from lbm_datagram_acceleration_recvfrom_function_t function. ...
struct lbm_src_event_umq_stability_ack_info_ex_t_stct lbm_src_event_umq_stability_ack_info_ex_t
Structure that holds UMQ ACK information for a given message in an extended form. ...
Structure that holds information about a transport session that we&#39;re about to join.
Definition: lbm.h:10435
LBMExpDLL int lbm_xsp_delete(lbm_xsp_t *xsp)
Delete a UM XSP object.
LBMExpDLL int lbm_register_fd(lbm_context_t *ctx, lbm_handle_t handle, lbm_fd_cb_proc proc, void *clientd, lbm_event_queue_t *evq, lbm_ulong_t ev)
Register a file descriptor/socket for events that calls proc when a given event occurs.
lbm_ushort_t tcp_port
Definition: lbm.h:2795
struct lbm_context_attr_t_stct lbm_context_attr_t
Structure used to hold configuration options for contexts.
Definition: lbm.h:3422
lbm_ulong_t topicless_im_msgs_svc_min
Definition: lbm.h:4435
lbm_ulong_t io_events_svc_mean
Definition: lbm.h:4494
LBMExpDLL int lbm_xsp_unblock(lbm_xsp_t *xsp)
Unblock a sequential mode XSP.
lbm_ulong_t lbm_reqs_rcved
Definition: lbm.h:4221
int flags
Definition: lbm.h:1952
lbm_str_hash_function_cb hashfunc
Definition: lbm.h:2678
LBMExpDLL int lbm_rcv_reset_transport_stats(lbm_rcv_t *rcv, const char *source)
Reset the transport statistics for the transport used by the given receiver from a specific source...
LBMExpDLL int lbm_authstorage_print_roletable(void)
Print the role table saved in the internal data object.
lbm_umq_regid_t regid
Definition: lbm.h:1607
Structure that holds store registration information for the UMP receiver.
Definition: lbm.h:1344
int64_t lbm_int64_t
For portability.
Definition: lbm.h:1163
Structure that holds UMQ ULB message information in an extended form.
Definition: lbm.h:2301
LBMExpDLL lbm_context_t * lbm_context_from_src(lbm_src_t *src)
Retrieve the UM context object associated with a UM source object.
struct lbm_timeval_t_stct lbm_timeval_t
Structure that holds seconds and microseconds since midnight, Jan 1, 1970 UTC.
lbm_ulong_t dgrams_dropped_type
Definition: lbm.h:3997
Structure that stores information about a received message. It is delivered to the application via th...
Definition: lbm.h:3202
LBMExpDLL int lbm_authstorage_load_roletable(void)
Load the role table from the password file.
struct lbm_context_src_event_func_t_stct lbm_context_src_event_func_t
Structure that holds the application callback for context-level source events.
lbm_ulong_t nak_stm_max
Definition: lbm.h:4111
lbm_rcv_transport_stats_lbtru_t lbtru
Definition: lbm.h:4338
LBMExpDLL int lbm_event_dispatch_unblock(lbm_event_queue_t *evq)
Unblock the given UM event queue object so that a thread waiting in lbm_event_dispatch returns as soo...
LBMExpDLL int lbm_wildcard_rcv_attr_dump(lbm_wildcard_rcv_attr_t *wattr, int *size, lbm_config_option_t *opts)
Retrieves all wildcard receiver attribute options.
Structure that holds information for UMP receiver recovery sequence number info application callbacks...
Definition: lbm.h:2111
LBMExpDLL int lbm_wildcard_rcv_delete(lbm_wildcard_rcv_t *wrcv)
Delete a UM wildcard receiver object.
LBMExpDLL char * lbm_get_jms_msg_id(lbm_uint64_t source_id, lbm_uint64_t seqno_id, char *topic)
Create JMS message ID.
LBMExpDLL int lbm_config_xml_string(const char *xml_data, const char *application_name)
Load UM XML configuration data.
int bits
Definition: lbm.h:1205
lbm_ulong_t nak_tx_max
Definition: lbm.h:3954
int flags
Definition: lbm.h:1902
struct lbm_event_queue_t_stct lbm_event_queue_t
Opaque structure that designates a UM event queue object.
Definition: lbm.h:1671
lbm_ulong_t dgrams_dropped_size
Definition: lbm.h:4168
void *(* lbm_rcv_src_notification_create_function_cb)(const char *source_name, void *clientd)
Application callback for notification of creation of sources for a topic.
Definition: lbm.h:2654
LBMExpDLL int lbm_src_topic_attr_create_default(lbm_src_topic_attr_t **attr)
Create and fill a UM source topic attribute object with the initial default values.
LBMExpDLL void lbm_debugfile_maxsize(lbm_uint64_t size)
This function for UM internal use only.
lbm_rcv_transport_stats_lbtipc_t lbtipc
Definition: lbm.h:4340
lbm_uint_t assignment_id
Definition: lbm.h:2288
struct lbm_wildcard_rcv_stats_t_stct lbm_wildcard_rcv_stats_t
Structure that holds statistics for a wildcard receiver.
const char * data
Definition: lbm.h:3244
lbm_datagram_acceleration_mcast_join_function_t mcast_join
Definition: lbm.h:2501
struct lbm_context_stats_t_stct lbm_context_stats_t
Structure that holds statistics for a context.
lbm_ulong_t out_of_order
Definition: lbm.h:4013
int flags
Definition: lbm.h:1653
int d
Definition: lbm.h:3006
LBMExpDLL int lbm_msg_retrieve_msgid(lbm_msg_t *msg, lbm_umq_msgid_t *id)
Retrieve UMQ Message ID information from a UM message.
LBMExpDLL int lbm_umq_msg_selector_delete(lbm_umq_msg_selector_t *selector)
Delete the lbm_umq_msg_selector_t object previously created with lbm_umq_msg_selector_create.
LBMExpDLL int lbm_wildcard_rcv_attr_delete(lbm_wildcard_rcv_attr_t *attr)
Delete a wildcard receiver attribute object.
struct lbm_rcv_transport_stats_lbtipc_t_stct lbm_rcv_transport_stats_lbtipc_t
Structure that holds datagram statistics for receiver LBT-IPC transports.
LBMExpDLL int lbm_wrcv_ume_deregister(lbm_wildcard_rcv_t *wrcv)
Deregister a wildcard receiver from all known UMP stores.
int(* lbm_daemon_event_cb_proc)(lbm_context_t *ctx, int event, const char *info, void *clientd)
Application callback for daemon events.
Definition: lbm.h:5217
LBMExpDLL int lbm_wildcard_rcv_umq_index_release(lbm_wildcard_rcv_t *wrcv, const char *queue_name, lbm_umq_index_info_t *index_info)
Instruct the given UMQ queue(s) to release the given UMQ index that is assigned to the given wildcard...
Structure that holds information for receivers after registration is complete to all involved stores...
Definition: lbm.h:1388
LBMExpDLL int lbm_license_file(const char *licfile)
Initialize the UM license from the contents of a disk file. This function will only be effective if i...
LBMExpDLL int lbm_src_topic_attr_option_size(void)
Retrieves the number of options that are of type "topic".
struct lbm_src_transport_stats_lbtrdma_t_stct lbm_src_transport_stats_lbtrdma_t
Deprecated structure that holds datagram statistics for source LBT-RDMA transports.
Structure that holds Message ID information for a message sent by a sending UMQ application.
Definition: lbm.h:2139
lbm_ulong_t lbtru_unknown_msgs_rcved
Definition: lbm.h:4742
lbm_uint64_t src_session_id
Definition: lbm.h:1398
LBMExpDLL int lbm_flush_all(lbm_context_t *ctx)
FOR UM INTERNAL USE ONLY, not for use by user applications.
LBMExpDLL int lbm_license_str(const char *licstr)
Initialize the UM license from a string. This function will only be effective if it is called before ...
lbm_ulong_t lbm_reqs_rcved
Definition: lbm.h:4291
lbm_ushort_t source_port
Definition: lbm.h:2836
struct lbm_src_event_ume_ack_ex_info_t_stct lbm_src_event_ume_ack_ex_info_t
Structure that holds ACK information for a given message in an extended form.
LBMExpDLL int lbm_context_attr_str_getopt(lbm_context_attr_t *attr, const char *optname, char *optval, size_t *optlen)
Retrieve the textual value of an option for the given UM context attribute object.
lbm_uint_t sequence_number
Definition: lbm.h:1317
struct lbm_ssrc_t_stct lbm_ssrc_t
Opaque structure that designates a UM Smart Source.
Definition: lbm.h:3124
lbm_uint_t queue_id
Definition: lbm.h:2161
LBMExpDLL int lbm_rcv_umq_index_start_assignment(lbm_rcv_t *rcv, const char *queue_name)
Start assignment of new UMQ indices to the given receiver from the given UMQ queue or all UMQ queues...
LBMExpDLL int lbm_event_queue_attr_getopt(lbm_event_queue_attr_t *attr, const char *optname, void *optval, size_t *optlen)
Retrieve an option value within the given event queue attribute.
struct lbm_src_transport_stats_lbtru_t_stct lbm_src_transport_stats_lbtru_t
Structure that holds datagram statistics for source LBT-RU transports.
lbm_ulong_t nak_pckts_rcved
Definition: lbm.h:3650
lbm_ulong_t timer_events_tot
Definition: lbm.h:4506
LBMExpDLL lbm_response_t * lbm_deserialize_response(lbm_context_t *ctx, lbm_serialized_response_t *serialized_response)
De-serialize a UM response object.
lbm_umq_regid_t registration_id
Definition: lbm.h:2307
lbm_src_channel_info_t * channel_info
Definition: lbm.h:1989
struct lbm_event_queue_stats_t_stct lbm_event_queue_stats_t
Structure that holds statistics for an event queue.
LBMExpDLL int lbm_src_topic_attr_delete(lbm_src_topic_attr_t *attr)
Delete a source topic attribute object.
LBMExpDLL int lbm_hfx_attr_delete(lbm_hfx_attr_t *attr)
Delete a UM HFX attribute object.
struct lbm_src_event_umq_ulb_message_info_ex_t_stct lbm_src_event_umq_ulb_message_info_ex_t
Structure that holds UMQ ULB message information in an extended form.
lbm_umq_regid_t registration_id
Definition: lbm.h:2159
LBMExpDLL int lbm_src_get_inflight(lbm_src_t *src, int type, int *inflight, lbm_flight_size_set_inflight_cb_proc proc, void *clientd)
Retrieves the current number of inflight messages of a given type from a given source.
Structure that holds fragment information for UM messages when appropriate.
Definition: lbm.h:3151
LBMExpDLL int lbm_wildcard_rcv_attr_getopt(lbm_wildcard_rcv_attr_t *attr, const char *optname, void *optval, size_t *optlen)
Retrieve an option value within the given wildcard receiver attribute.
LBMExpDLL int lbm_wildcard_rcv_subscribe_channel(lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel, lbm_rcv_cb_proc proc, void *clientd)
Subscribe to a channel, with an optional callback and clientd data pointer.
lbm_umq_regid_t regid
Definition: lbm.h:2959
int reserved
Definition: lbm.h:1493
lbm_ulong_t cancel_events
Definition: lbm.h:4559
LBMExpDLL int lbm_context_create(lbm_context_t **ctxp, const lbm_context_attr_t *attr, lbm_daemon_event_cb_proc proc, void *clientd)
Create and initialize an lbm_context_t object.
int(* lbm_datagram_acceleration_mcast_leave_function_t)(void *handle, struct in_addr *mcast_addr)
Application callback function to implement datagram acceleration multicast leave. ...
Definition: lbm.h:2408
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:4252
int flags
Definition: lbm.h:2036
lbm_ushort_t index
Definition: lbm.h:2880
int(* lbm_datagram_acceleration_bind_function_t)(void *device, int flags, int port, void *context, void **handle_out)
Application callback function to implement datagram acceleration bind.
Definition: lbm.h:2379
LBMExpDLL lbm_context_t * lbm_context_from_rcv(lbm_rcv_t *rcv)
Retrieve the UM context object associated with a UM receiver object.
lbm_ume_rcv_recovery_info_ex_function_cb func
Definition: lbm.h:2781
lbm_uint32_t flags
Definition: lbm.h:10069
lbm_ulong_t ncfs_rx_delay
Definition: lbm.h:4087
char * cert_file
Definition: lbm.h:10071
LBMExpDLL void lbm_log_debug(int on)
Enable logging of debug messages to the application logging callback set by lbm_log(). By default, if lbm debug logging is enabled it is sent to the filename specified by lbm_debug_filename(), or stderr. Calling lbm_log_debug() with a value of 1 will redirect debug logging to the application logging callback set by lbm_log(), or stderr if no callback is set.
lbm_uint64_t lbm_umq_regid_t
Definition: lbm.h:1596
LBMExpDLL int lbm_auth_set_credentials(lbm_context_t *ctx, const char *name, size_t name_len, const char *passwd, size_t passwd_len, lbm_cred_callback_fn cbfn, void *clientd, int auth_required)
DEPRECATED: Set the user&#39;s credential and authentication requirement.
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:4289
Structure that holds datagram statistics for receiver LBT-RU transports.
Definition: lbm.h:4039
struct lbm_flight_size_inflight_t_stct lbm_flight_size_inflight_t
Structure that holds information for source total inflight messages and bytes See lbm_flight_size_inf...
lbm_ulong_t nak_stm_max
Definition: lbm.h:3937
LBMExpDLL lbm_event_queue_t * lbm_event_queue_from_wildcard_rcv(lbm_wildcard_rcv_t *wcrcv)
Retrieve the LBM event queue object associated with a UM wildcard receiver object.
struct lbm_src_transport_stats_broker_t_stct lbm_src_transport_stats_broker_t
Structure that holds datagram statistics for source BROKER transports.
lbm_str_hash_function_cb_ex hashfunc
Definition: lbm.h:2689
LBMExpDLL int lbm_xsp_attr_create(lbm_xsp_attr_t **attr)
Create and fill a UM XSP attribute object with the current default values. Not recommended for use...
struct lbm_src_topic_attr_t_stct lbm_src_topic_attr_t
Opaque structure that holds configuration options for source topics.
Definition: lbm.h:3436
LBMExpDLL int lbm_send_request_ex(lbm_request_t **reqp, lbm_src_t *src, const char *data, size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq, int send_flags, lbm_src_send_ex_info_t *exinfo)
Send a request on the given src that contains the given data.
LBMExpDLL int lbm_rcv_subscribe_channel(lbm_rcv_t *rcv, lbm_uint32_t channel, lbm_rcv_cb_proc proc, void *clientd)
Subscribe to a channel, with an optional callback and clientd data pointer.
const void * broker_msg_state
Definition: lbm.h:3308
LBMExpDLL int lbm_rcv_topic_attr_setopt(lbm_rcv_topic_attr_t *attr, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied receiver topic attribute o...
LBMExpDLL int lbm_schedule_timer(lbm_context_t *ctx, lbm_timer_cb_proc proc, void *clientd, lbm_event_queue_t *evq, lbm_ulong_t delay)
Schedule a timer that calls proc when it expires.
struct lbm_wildcard_rcv_t_stct lbm_wildcard_rcv_t
Opaque structure that designates a UM wildcard receiver object.
Definition: lbm.h:3089
struct lbm_src_event_ume_deregistration_ex_t_stct lbm_src_event_ume_deregistration_ex_t
Structure that holds store deregistration information for the UMP source in an extended form...
lbm_ulong_t cancel_events_svc_min
Definition: lbm.h:4569
Structure that holds the application callback for the transport mapping function. ...
Definition: lbm.h:10466
lbm_ulong_t data_msgs_svc_mean
Definition: lbm.h:4390
lbm_ulong_t bytes_buffered
Definition: lbm.h:3518
LBMExpDLL int lbm_msg_properties_iter_first(lbm_msg_properties_iter_t *iter, lbm_msg_properties_t *properties)
Begin iterating over an lbm_msg_properties_t object, starting at the first element. Calling lbm_msg_properties_iter_first associates an iterator with a properties object, and sets its current position to the first property available. An iterator can be used to iterate over more than one properties object as long as lbm_msg_properties_iter_first is called to associate it with each new properties object. See Message Properties.
lbm_uint64_t bytes
Definition: lbm.h:1470
LBMExpDLL int lbm_context_reset_src_transport_stats(lbm_context_t *ctx)
Reset the transport stats for all the sources in a given context.
Structure that holds statistics for a receiver topic.
Definition: lbm.h:4829
lbm_ulong_t nak_tx_max
Definition: lbm.h:4128
lbm_uint_t last_sequence_number
Definition: lbm.h:2246
LBMExpDLL int lbm_xsp_attr_getopt(lbm_xsp_attr_t *attr, const char *optname, void *optval, size_t *optlen)
Retrieve the value of an option for the given UM XSP attribute.
struct lbm_ume_rcv_regid_ex_func_t_stct lbm_ume_rcv_regid_ex_func_t
Structure that holds the application callback for registration ID setting, extended form...
lbm_ushort_t store_index
Definition: lbm.h:2071
struct lbm_timespec_t_stct lbm_timespec_t
Structure that holds seconds and nanoseconds since midnight, Jan 1, 1970 UTC.
void * source_clientd
Definition: lbm.h:2074
lbm_uint64_t src_session_id
Definition: lbm.h:2129
lbm_ulong_t naks_sent
Definition: lbm.h:4064
lbm_uint32_t(* lbm_src_cost_function_cb)(const char *topic, const lbm_transport_source_info_t *transport, lbm_uint32_t hop_count, lbm_uint32_t cost, void *clientd)
Application callback to evaluate the cost of a newly discovered source.
Definition: lbm.h:3407
struct lbm_hfx_t_stct lbm_hfx_t
Opaque structure that designates an HFX object (for hot failover receivers across multiple contexts) ...
Definition: lbm.h:3102
LBMExpDLL int lbm_src_retrieve_transport_stats(lbm_src_t *src, lbm_src_transport_stats_t *stats)
Retrieve the transport statistics for the transport used by the given source.
lbm_uint_t rcv_registration_id
Definition: lbm.h:1453
LBMExpDLL int lbm_apphdr_chain_iter_first(lbm_apphdr_chain_iter_t **chain_iter)
Initializes an app header chain iterator to the first element in the chain (deprecated).
lbm_uint_t start_sequence_number
Definition: lbm.h:3154
lbm_uint_t sequence_number
Definition: lbm.h:1396
Structure that represents UMS Spectrum channel information.
Definition: lbm.h:3185
void(* lbm_flight_size_set_inflight_ex_cb_proc)(lbm_flight_size_inflight_t *inflight, void *clientd)
Application callback used to override the Store&#39;s stability ACKs and force inflight message and byte ...
Definition: lbm.h:5284
const void * fragment_info
Definition: lbm.h:3278
lbm_ulong_t context_source_events_svc_max
Definition: lbm.h:4604
lbm_umq_msg_total_lifetime_info_t * umq_total_lifetime
Definition: lbm.h:1999
int(* lbm_ssrc_cb_proc)(lbm_ssrc_t *ssrc, int event, void *ed, void *clientd)
Application callback for source events associated with a UM Smart Source.
Definition: lbm.h:5105
LBMExpDLL int lbm_context_attr_set_from_xml(lbm_context_attr_t *attr, const char *context_name)
Fill a UM context attribute object with the current default values for the given context name...
lbm_uint_t rcv_registration_id
Definition: lbm.h:1371
lbm_umq_index_info_t * umq_index
Definition: lbm.h:1995
LBMExpDLL int lbm_hfx_attr_str_setopt(lbm_hfx_attr_t *attr, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied HFX attribute object...
LBMExpDLL int lbm_src_create(lbm_src_t **srcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_src_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
Create a UM source that will send messages to the given topic.
LBMExpDLL int lbm_event_queue_create(lbm_event_queue_t **evqp, lbm_event_queue_monitor_proc proc, void *clientd, const lbm_event_queue_attr_t *attr)
Create a UM event queue object.
LBMExpDLL int lbm_schedule_timer_recurring(lbm_context_t *ctx, lbm_timer_cb_proc proc, void *clientd, lbm_event_queue_t *evq, lbm_ulong_t delay)
Schedule a recurring timer that calls proc when it expires.
LBMExpDLL int lbm_hfx_delete_ex(lbm_hfx_t *hfx, lbm_event_queue_cancel_cb_info_t *cbinfo)
Delete an LBM HFX object and receive a callback when the deletion is complete. Delete an LBM HFX obje...
struct lbm_resolver_service_entry_t_stct lbm_resolver_service_entry_t
Structure that holds information for a Resolver Service for configuration purposes.
lbm_ulong_t rx_bytes_sent
Definition: lbm.h:3698
lbm_ulong_t ncfs_unknown
Definition: lbm.h:4093
lbm_uint64_t lbm_async_operation_handle_t
Opaque handle to an asynchronous operation.
Definition: lbm.h:1741
lbm_ulong_t nak_stm_min
Definition: lbm.h:3926
const char * apphdr_data
Definition: lbm.h:3281
struct lbm_topic_t_stct lbm_topic_t
Opaque structure that designates a Topic.
Definition: lbm.h:3111
lbm_uint_t queue_id
Definition: lbm.h:1529
LBMExpDLL int lbm_wildcard_rcv_attr_setopt(lbm_wildcard_rcv_attr_t *attr, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied wildcard receiver attribut...
lbm_uint32_t * ids
Definition: lbm.h:1620
lbm_ulong_t dgrams_dropped_sid
Definition: lbm.h:4180
LBMExpDLL int lbm_hfx_str_getopt(lbm_hfx_t *hfx, const char *optname, char *optval, size_t *optlen)
Retrieve the textual option value within the given HFX.
Deprecated structure that holds datagram statistics for source LBT-RDMA transports.
Definition: lbm.h:3754
uint8_t lbm_uint8_t
For portability.
Definition: lbm.h:1151
LBMExpDLL int lbm_msg_retrieve_gateway_info(lbm_msg_t *msg, lbm_msg_gateway_info_t *info)
Retrieve gateway information from a UM message.
lbm_ulong_t data_msgs_tot
Definition: lbm.h:4377
LBMExpDLL int lbm_context_retrieve_stats(lbm_context_t *ctx, lbm_context_stats_t *stats)
Retrieve the stats for a context.
LBMExpDLL int lbm_context_attr_create(lbm_context_attr_t **attr)
Create and fill a UM context attribute object with the current default values. Not recommended for us...
lbm_uint32_t channel_number
Definition: lbm.h:3190
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:3989
lbm_ulong_t io_events
Definition: lbm.h:4477
LBMExpDLL int lbm_rcv_topic_attr_option_size(void)
Retrieves the number of options that are of type "source topic".
lbm_uint32_t(* lbm_resolver_event_cb_func)(lbm_context_t *ctx, int event, const void *ed, const lbm_resolver_event_info_t *info, void *clientd)
Resolver event callback signature (for UM internal use only).
Definition: lbm.h:1787
lbm_ulong_t(* lbm_str_hash_function_cb)(const char *str)
Application callback for user-supplied topic hash function.
Definition: lbm.h:2526
LBMExpDLL int lbm_cancel_fd(lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev)
Cancel a previously registered file descriptor/socket event.
lbm_datagram_acceleration_recvfrom_function_t recvfrom
Definition: lbm.h:2505
struct lbm_datagram_acceleration_func_t_stct lbm_datagram_acceleration_func_t
A structure used to define the datagram acceleration implementation functions.
LBMExpDLL int lbm_hfx_attr_dump(lbm_hfx_attr_t *attr, int *size, lbm_config_option_t *opts)
Retrieves all HFX attribute options.
struct lbm_src_event_ume_registration_ex_t_stct lbm_src_event_ume_registration_ex_t
Structure that holds store registration information for the UMP source in an extended form...
lbm_ulong_t resp_msgs
Definition: lbm.h:4398
LBMExpDLL int lbm_hfx_attr_str_getopt(lbm_hfx_attr_t *attr, const char *optname, char *optval, size_t *optlen)
Retrieve the textual value of an option for the given LBM HFX attribute.
int(* lbm_datagram_acceleration_unbind_function_t)(void *handle)
Application callback function to implement datagram acceleration unbind.
Definition: lbm.h:2388
lbm_src_transport_stats_broker_t broker
Definition: lbm.h:3818
lbm_ipv4_address_mask_t iface
Definition: lbm.h:2812
LBMExpDLL int lbm_event_queue_attr_create(lbm_event_queue_attr_t **attr)
Create and fill a UM event queue attribute object with the current default values. Not recommended for use. Use lbm_event_queue_attr_create_from_xml() instead.
lbm_ume_rcv_regid_function_cb func
Definition: lbm.h:2733
lbm_datagram_acceleration_open_function_t open
Definition: lbm.h:2493
LBMExpDLL int lbm_rcv_topic_attr_create_default(lbm_rcv_topic_attr_t **attr)
Create and fill a UM receiver topic attribute object with the initial default values.
LBMExpDLL int lbm_context_str_setopt(lbm_context_t *ctx, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied context.
lbm_ulong_t unrecovered_tmo
Definition: lbm.h:4149
LBMExpDLL int lbm_rcv_topic_attr_create_from_xml(lbm_rcv_topic_attr_t **attr, const char *context_name, const char *topicname)
Create and fill a UM receiver topic attribute object with the current default values for the given to...
lbm_ulong_t duplicate_data
Definition: lbm.h:3959
int(* lbm_datagram_acceleration_send_disconnect_function_t)(void *send_handle)
Application callback function to implement datagram acceleration send disconnect. ...
Definition: lbm.h:2445
Structure that holds parsed transport source strings.
Definition: lbm.h:3365
LBMExpDLL int lbm_src_alloc_msg_buff(lbm_src_t *const src, void **const usr_bufp, const size_t len, void **const lbm_hdl, const int flags)
Allocates a zero-copy send buffer of the specified length, to be filled in and sent later (via the us...
int(* lbm_datagram_acceleration_recvfrom_function_t)(void *device, int mode, char *buffer, size_t length, struct sockaddr_in *sin_from, struct sockaddr_in *sin_to, lbm_datagram_acceleration_recv_info_t *info)
Application callback function to implement datagram acceleration receive from.
Definition: lbm.h:2423
LBMExpDLL int lbm_win32_static_thread_detach(void)
Instructs UM that a new thread is done calling UM functions.
int num_appsets
Definition: lbm.h:1640
size_t len
Definition: lbm.h:9414
lbm_ulong_t context_source_events_tot
Definition: lbm.h:4584
LBMExpDLL int lbm_umq_ctx_msg_stable(lbm_context_t *ctx, const char *qname, lbm_umq_msgid_t *msg_id)
Mark a specific msg_id as stable at qname, triggering a source event notification if configured to do...
lbm_msg_properties_t * properties
Definition: lbm.h:2003
LBMExpDLL int lbm_apphdr_chain_create(lbm_apphdr_chain_t **chain)
Create a new app header chain that can be used to include metadata with a message (deprecated)...
lbm_ulong_t nak_pckts_sent
Definition: lbm.h:4051
int(* lbm_flight_size_set_inflight_cb_proc)(int inflight, void *clientd)
Application callback used to override the Store&#39;s stability ACKs and force inflight message count to ...
Definition: lbm.h:5270
struct lbm_mem_mgt_callbacks_t_stct lbm_mem_mgt_callbacks_t
Structure that holds the application callbacks for Smart Source memory management.
struct lbm_xsp_attr_t_stct lbm_xsp_attr_t
Structure used to hold attributes for XSPs.
Definition: lbm.h:10217
LBMExpDLL int lbm_event_queue_attr_setopt(lbm_event_queue_attr_t *attr, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied event queue attribute obje...
lbm_ulong_t lbm_reqs_rcved
Definition: lbm.h:4165
lbm_ipv4_address_mask_t iface
Definition: lbm.h:2834
lbm_ulong_t dgrams_dropped_size
Definition: lbm.h:3994
lbm_datagram_acceleration_send_connect_function_t send_connect
Definition: lbm.h:2507
Structure that holds information for a UMQ ULB sources receiver type attributes.
Definition: lbm.h:3000
struct lbm_src_event_timestamp_info_t_stct lbm_src_event_timestamp_info_t
Structure that holds the High Resolution Timestamp and sequence number associated with the sent messa...
LBMExpDLL int lbm_rcv_setopt(lbm_rcv_t *rcv, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied receiver.
LBMExpDLL int lbm_context_str_getopt(lbm_context_t *ctx, const char *optname, char *optval, size_t *optlen)
Retrieve the textual option value within the given ctx.
LBMExpDLL int lbm_rcv_umq_index_stop_assignment(lbm_rcv_t *rcv, const char *queue_name)
Stop assignment of new UMQ indices to the given receiver from the given UMQ queue or all UMQ queues...
LBMExpDLL int lbm_xsp_attr_option_size(void)
Retrieves the number of options that are of type "xsp".
LBMExpDLL int lbm_async_operation_cancel(lbm_async_operation_handle_t handle, int flags)
Cancel an outstanding asynchronous operation.
Structure that holds source wakeup event data.
Definition: lbm.h:1232
struct lbm_msg_ume_registration_complete_ex_t_stct lbm_msg_ume_registration_complete_ex_t
Structure that holds information for receivers after registration is complete to all involved stores...
struct lbm_umq_queue_entry_t_stct lbm_umq_queue_entry_t
Structure that holds information for a UMQ queue registration ID for configuration purposes...
LBMExpDLL int lbm_xsp_attr_str_setopt(lbm_xsp_attr_t *attr, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied XSP attribute object...
lbm_ulong_t wrcv_msgs_svc_mean
Definition: lbm.h:4468
struct lbm_msg_umq_index_assigned_ex_t_stct lbm_msg_umq_index_assigned_ex_t
Structure that holds beginning-of-index information for receivers.
lbm_uint_t(* lbm_ume_rcv_regid_ex_function_cb)(lbm_ume_rcv_regid_ex_func_info_t *info, void *clientd)
Application callback to set the registration ID for a receiver for a specific source, extended form.
Definition: lbm.h:2598
int messages
Definition: lbm.h:1468
lbm_async_operation_func_t * async_opfunc
Definition: lbm.h:2009
int flags
Definition: lbm.h:1367
struct lbm_src_event_flight_size_notification_t_stct lbm_src_event_flight_size_notification_t
Structure that holds flight size notification event data.
struct lbm_rcv_transport_stats_lbtrm_t_stct lbm_rcv_transport_stats_lbtrm_t
Structure that holds datagram statistics for receiver LBT-RM transports.
const void * src_cd
Definition: lbm.h:3288
struct lbm_event_queue_attr_t_stct lbm_event_queue_attr_t
Opaque structure that holds configuration options for event queue objects.
Definition: lbm.h:4354
lbm_umq_queue_application_set_t * appsets
Definition: lbm.h:1638
Structure that holds IP and Port of the broker for the broker transport configuration.
Definition: lbm.h:2845
lbm_uint_t assignment_id
Definition: lbm.h:2313
lbm_ulong_t callback_events_svc_max
Definition: lbm.h:4653
int num_ids
Definition: lbm.h:1622
LBMExpDLL int lbm_msg_ume_send_explicit_ack(lbm_msg_t *msg)
Send an Explicit UMP ACK for a UM message object.
LBMExpDLL int lbm_request_delete_ex(lbm_request_t *req, lbm_event_queue_cancel_cb_info_t *cbinfo)
Extended delete a UM request object.
lbm_rcv_transport_stats_lbtsmx_t lbtsmx
Definition: lbm.h:4344
int(* lbm_datagram_acceleration_getaddr_function_t)(void *device, struct sockaddr_in *sin)
Application callback function to implement datagram acceleration get address.
Definition: lbm.h:2480
int status
Definition: lbm.h:1651
LBMExpDLL int lbm_context_process_events_ex(lbm_context_t *ctx, lbm_ulong_t msec, lbm_process_events_info_t *info)
Extended process internal events in the given UM context object.
void * clientd
Definition: lbm.h:1950
LBMExpDLL lbm_rcv_t * lbm_rcv_from_hf_rcv(lbm_hf_rcv_t *hfrcv)
Return the LBM receiver object associated with a UM Hot Failover (HF) receiver object.
LBMExpDLL int lbm_serialized_response_delete(lbm_serialized_response_t *serialized_response)
Delete a UM serialized response object.
struct lbm_msg_gateway_info_t_stct lbm_msg_gateway_info_t
Structure that holds originating information for UM messages which arrived via a gateway.
lbm_ulong_t bytes_rcved
Definition: lbm.h:4205
long refcnt
Definition: lbm.h:3259
LBMExpDLL int lbm_msg_is_fragment(lbm_msg_t *msg)
Determine if the current message is fragmented.
int flags
Definition: lbm.h:1582
Structure that holds queue topic information and can be used as a handle to a queue topic...
Definition: lbm.h:1634
LBMExpDLL int lbm_cancel_fd_ex(lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev, lbm_event_queue_cancel_cb_info_t *cbinfo)
Extended cancel a previously registered file descriptor/socket event.
LBMExpDLL int lbm_event_queue_getopt(lbm_event_queue_t *evq, const char *optname, void *optval, size_t *optlen)
Retrieve an option value within the given event queue.
struct lbm_xsp_zero_transports_func_t_stct lbm_xsp_zero_transports_func_t
Structure that holds the XSP zero transports function.
LBMExpDLL int lbm_authstorage_addtpnam(const char *username, const char *pass, unsigned char flags)
Add the new user credential to the password file.
Structure that holds information used for sending and receiving messages with UMQ indices...
Definition: lbm.h:1487
lbm_ume_rcv_regid_ex_function_cb func
Definition: lbm.h:2745
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:3845
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:4158
LBMExpDLL int lbm_context_reset_stats(lbm_context_t *ctx)
Reset the stats for a context.
lbm_ulong_t msgs_sent
Definition: lbm.h:3779
void *(* lbm_ume_ctx_rcv_ctx_notification_create_function_cb)(const ume_liveness_receiving_context_t *rcv, void *clientd)
Application callback for notification of detection of a receiving application.
Definition: lbm.h:2922
int(* lbm_ume_rcv_recovery_info_ex_function_cb)(lbm_ume_rcv_recovery_info_ex_func_info_t *info, void *clientd)
Application callback to set the lowest sequence number to be requested during recovery, extended form.
Definition: lbm.h:2641
lbm_ulong_t fragments_unrecoverably_lost
Definition: lbm.h:4784
const void * source_clientd
Definition: lbm.h:3284
lbm_ulong_t tr_dgrams_dropped_malformed
Definition: lbm.h:4696
LBMExpDLL int lbm_hfx_attr_set_from_xml(lbm_hfx_attr_t *attr, const char *topicname)
Fill a UM HFX attribute object with the current default values for the given topic name...
Structure that holds store deregistration information for the UMP source in an extended form...
Definition: lbm.h:1311
Structure that holds the application callback for forced reclamation notifications.
Definition: lbm.h:2755
Struct containing an array of UMQ messages retrieved via lbm_rcv_umq_queue_msg_retrieve.
Definition: lbm.h:1707
LBMExpDLL int lbm_src_setopt(lbm_src_t *src, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied source.
LBMExpDLL int lbm_apphdr_chain_iter_next(lbm_apphdr_chain_iter_t **chain_iter)
Advances the iterator to the next element in an app header chain, if any (deprecated).
LBMExpDLL int lbm_context_unblock(lbm_context_t *ctx)
Unblock a sequential mode UM context.
lbm_async_operation_function_cb func
Definition: lbm.h:1946
LBMExpDLL int lbm_request_delete(lbm_request_t *req)
Delete a UM request object.
LBMExpDLL int lbm_src_sendv(lbm_src_t *src, const lbm_iovec_t *iov, int num, int flags)
Send a set of messages to the topic associated with a UM source.
LBMExpDLL int lbm_context_rcv_immediate_topic_msgs(lbm_context_t *ctx, lbm_immediate_msg_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
Set the callback procedure and delivery method for immediate messages to a topic for which there is n...
LBMExpDLL int lbm_rcv_umq_index_reserve(lbm_rcv_t *rcv, const char *queue_name, lbm_umq_index_info_t *index_info)
Instruct the given UMQ queue(s) to reserve an index for assignment to this receiver.
struct lbm_src_event_umq_ulb_receiver_info_ex_t_stct lbm_src_event_umq_ulb_receiver_info_ex_t
Structure that holds UMQ ULB receiver information in an extended form.
lbm_ulong_t naks_shed
Definition: lbm.h:3671
lbm_ulong_t events
Definition: lbm.h:4607
Structure that holds information for receivers after registration is complete to all involved queue i...
Definition: lbm.h:2212
lbm_umq_regid_t registration_id
Definition: lbm.h:2286
lbm_uint32_t transport_idx
Definition: lbm.h:3390
lbm_ushort_t source_port
Definition: lbm.h:2817
lbm_ulong_t msgs_rcved
Definition: lbm.h:3870
LBMExpDLL int lbm_ctx_umq_queue_topic_list(lbm_context_t *ctx, const char *queue_name, lbm_async_operation_func_t *async_opfunc)
Retrieves a list of currently available topics from a queue (asynchronous operation) ...
struct lbm_src_cost_func_t_stct lbm_src_cost_func_t
Structure that holds the source_cost_evaluation_function (context) context option.
lbm_uint_t sequence_number
Definition: lbm.h:1334
LBMExpDLL int lbm_msg_properties_create(lbm_msg_properties_t **properties)
Creates a new properties object, used for sending messages with properties. Send a message with prope...
lbm_src_notify_function_cb notifyfunc
Definition: lbm.h:2702
LBMExpDLL int lbm_context_get_name(lbm_context_t *ctx, char *name, size_t *size)
DEPRECATED! Get the name associated with a context.
LBMExpDLL lbm_topic_t * lbm_topic_from_src(lbm_src_t *src)
Retrieve the UM topic object associated with a UM source object.
int flags
Definition: lbm.h:1695
lbm_ulong_t tr_dgrams_sent
Definition: lbm.h:4674
struct lbm_ume_rcv_recovery_info_ex_func_t_stct lbm_ume_rcv_recovery_info_ex_func_t
Structure that holds the application callback for recovery sequence number information, extended form.
lbm_uint_t sequence_number
Definition: lbm.h:1373
Structure that holds sequence number information for a message sent by a source.
Definition: lbm.h:2091
struct lbm_serialized_response_t_stct lbm_serialized_response_t
Structure that holds a serialized UM response object.
LBMExpDLL int lbm_wildcard_rcv_setopt(lbm_wildcard_rcv_t *wrcv, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied wildcard receiver...
lbm_ulong_t data_msgs
Definition: lbm.h:4373
struct lbm_src_event_wakeup_t_stct lbm_src_event_wakeup_t
Structure that holds source wakeup event data.
struct lbm_rcv_t_stct lbm_rcv_t
Opaque structure that designates a UM receiver.
Definition: lbm.h:3129
lbm_timeval_t time_val
Definition: lbm.h:1906
lbm_uint_t addr
Definition: lbm.h:1203
LBMExpDLL lbm_serialized_response_t * lbm_serialize_response(lbm_response_t *resp)
Serialize a UM response object.
int(* lbm_fd_cb_proc)(lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev, void *clientd)
Application callback for events associated with an application file descriptor or socket...
Definition: lbm.h:4910
LBMExpDLL int lbm_xsp_process_events(lbm_xsp_t *xsp, lbm_ulong_t msec)
Process internal events in the given XSP object.
lbm_uint32_t topic_idx
Definition: lbm.h:3388
LBMExpDLL int lbm_wildcard_rcv_umq_index_start_assignment(lbm_wildcard_rcv_t *wrcv, const char *queue_name)
Start assignment of new UMQ indices to the given wildcard receiver from the given UMQ queue or all UM...
LBMExpDLL int lbm_send_response(lbm_response_t *resp, const char *data, size_t len, int flags)
Send a response for a given resp response.
LBMExpDLL int lbm_context_lbtipc_unblock(lbm_context_t *ctx)
Unblock a sequential mode LBT-IPC processing loop.
int num_topics
Definition: lbm.h:1661
LBMExpDLL int lbm_ume_ack_delete(lbm_ume_rcv_ack_t *ack)
Deletes an ACK structure that was allocated via lbm_msg_extract_ume_ack().
lbm_ulong_t tr_dgrams_dropped_type
Definition: lbm.h:4694
unsigned int lbm_uint_t
For portability.
Definition: lbm.h:1143
lbm_uint_t sequence_number
Definition: lbm.h:3171
char * usr_supplied_buffer
Definition: lbm.h:2054
lbm_uint32_t registration_id
Definition: lbm.h:1315
char ** mprop_int_keys
Definition: lbm.h:2045
Structure that holds information for a unicast resolver daemon for configuration purposes.
Definition: lbm.h:2810
char * data
Definition: lbm.h:9514
lbm_ulong_t msgs_sent
Definition: lbm.h:3536
lbm_ulong_t resp_msgs_svc_min
Definition: lbm.h:4408
LBMExpDLL int lbm_apphdr_chain_delete(lbm_apphdr_chain_t *chain)
Delete an app header chain previously created with lbm_apphdr_chain_create (deprecated).
struct lbm_hf_rcv_t_stct lbm_hf_rcv_t
Opaque structure that designates a UM Hot Failover receiver object.
Definition: lbm.h:3094
lbm_uint32_t channel
Definition: lbm.h:2051
LBMExpDLL int lbm_context_retrieve_rcv_transport_stats_ex(lbm_context_t *ctx, int *num, int size, lbm_rcv_transport_stats_t *stats)
Retrieve the transport stats for all receivers in a given context.
LBMExpDLL int lbm_context_attr_create_default(lbm_context_attr_t **attr)
Create and fill a UM context attribute object with the initial default values.
LBMExpDLL int lbm_msg_properties_get(lbm_msg_properties_t *properties, const char *name, void *value, int *type, size_t *size)
Gets the value of the property with the specified name, type, and size. Note that this function perfo...
Structure that holds information for the extended Process Events calls A structure used with Sequenti...
Definition: lbm.h:1897
struct lbm_src_transport_stats_lbtipc_t_stct lbm_src_transport_stats_lbtipc_t
Structure that holds datagram statistics for source LBT-IPC transports.
LBMExpDLL int lbm_context_setopt(lbm_context_t *ctx, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied context.
int flags
Definition: lbm.h:1983
LBMExpDLL int lbm_ssrc_reset_transport_stats(lbm_ssrc_t *ssrc)
Reset the transport statistics for the transport used by the given smart source.
int(* lbm_wildcard_rcv_compare_function_cb)(const char *topic_str, void *clientd)
Application callback for application-supplied wildcard matching.
Definition: lbm.h:2569
lbm_datagram_acceleration_init_function_t init
Definition: lbm.h:2491
LBMExpDLL int lbm_src_topic_attr_create(lbm_src_topic_attr_t **attr)
Create and fill a UM source topic attribute object with the current default values. Not recommended for use. Use lbm_src_topic_attr_create_from_xml() instead.
struct lbm_rcv_topic_attr_t_stct lbm_rcv_topic_attr_t
Opaque structure that holds configuration options for receiver topics.
Definition: lbm.h:3441
lbm_event_queue_t * event_queue
Definition: lbm.h:5251
LBMExpDLL int lbm_license_ummnm_valid(void)
Determine is the UMM product is licensed.
lbm_timespec_t hr_timestamp
Definition: lbm.h:3310
lbm_ulong_t naks_rcved
Definition: lbm.h:3560
void * ume_msg_clientd
Definition: lbm.h:1986
lbm_ulong_t dgrams_dropped_version
Definition: lbm.h:4000
LBMExpDLL int lbm_context_reset_rcv_transport_stats(lbm_context_t *ctx)
Reset the transport stats for all receivers in a given context.
lbm_uint_t queue_id
Definition: lbm.h:1548
Structure that holds datagram statistics for source LBT-SMX transports.
Definition: lbm.h:3734
LBMExpDLL int lbm_event_queue_retrieve_stats(lbm_event_queue_t *evq, lbm_event_queue_stats_t *stats)
Retrieve the stats for an event queue.
LBMExpDLL int lbm_xsp_cancel_fd(lbm_xsp_t *xsp, lbm_handle_t handle, lbm_ulong_t ev)
Cancel a previously registered file descriptor/socket event on the given XSP.
lbm_ulong_t tr_rcv_topics
Definition: lbm.h:4720
lbm_ulong_t source_events_tot
Definition: lbm.h:4531
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:3850
lbm_uint_t sequence_number
Definition: lbm.h:1432
Structure that holds a serialized UM response object.
Definition: lbm.h:3079
Structure that holds the information about a receiving context.
Definition: lbm.h:2905
struct lbm_ume_store_entry_t_stct lbm_ume_store_entry_t
Structure that holds information for a UMP store for configuration purposes.
lbm_ulong_t callback_events
Definition: lbm.h:4631
struct lbm_resolver_event_info_t_stct lbm_resolver_event_info_t
Resolver event structure (for UM internal use only).
lbm_ulong_t resp_would_block
Definition: lbm.h:4757
lbm_uint_t sequence_number
Definition: lbm.h:3254
uint32_t length
Definition: lbm.h:2335
struct lbm_wildcard_rcv_create_func_t_stct lbm_wildcard_rcv_create_func_t
Structure that holds the receiver creation callback information for wildcard receivers.
lbm_uint8_t type
Definition: lbm.h:4852
lbm_ushort_t service_port
Definition: lbm.h:2832
lbm_uint32_t transport_id
Definition: lbm.h:3384
LBMExpDLL int lbm_rcv_topic_attr_create(lbm_rcv_topic_attr_t **attr)
Create and fill a UM receiver topic attribute object with the current default values. Not recommended for use. Use lbm_rcv_topic_attr_create_from_xml() instead.
lbm_ulong_t ncfs_unknown
Definition: lbm.h:3919
size_t apphdr_len
Definition: lbm.h:3262
int(* lbm_src_cb_proc)(lbm_src_t *src, int event, void *ed, void *clientd)
Application callback for events associated with a source.
Definition: lbm.h:5051
LBMExpDLL int lbm_ssrc_create(lbm_ssrc_t **ssrcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_ssrc_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
Create a UM Smart Source that will send messages to the given topic.
lbm_uint_t queue_instance_index
Definition: lbm.h:2163
int(* lbm_async_operation_function_cb)(lbm_async_operation_info_t *opinfo, void *clientd)
User-supplied application callback for asynchronous operation status and completion.
Definition: lbm.h:1929
lbm_ulong_t context_source_events
Definition: lbm.h:4580
Advertisement event structure (for UM internal use only).
Definition: lbm.h:1804
Definition: lbm.h:3426
lbm_ulong_t lbtrm_unknown_msgs_rcved
Definition: lbm.h:4732
Structure that holds index assignment information for receivers.
Definition: lbm.h:1561
void *(* lbm_mem_mgt_malloc_cb_func)(size_t size, void *clientd)
Application callback to malloc memory using application specific function.
Definition: lbm.h:1839
LBMExpDLL int lbm_context_retrieve_im_rcv_transport_stats(lbm_context_t *ctx, int *num, int size, lbm_rcv_transport_stats_t *stats)
Retrieve the IM receiver stats for a context.
LBMExpDLL int lbm_msg_properties_iter_delete(lbm_msg_properties_iter_t *iter)
Deletes an lbm_msg_properties_iterator See Message Properties.
void * msg_clientd
Definition: lbm.h:2252
void *(* lbm_mem_mgt_realloc_cb_func)(void *ptr, size_t size, void *clientd)
Application callback to reallocate memory using application specific function.
Definition: lbm.h:1853
LBMExpDLL int lbm_rcv_unsubscribe_channel(lbm_rcv_t *rcv, lbm_uint32_t channel)
Discontinue an existing channel subscription.
lbm_uint_t first_sequence_number
Definition: lbm.h:2244
struct lbm_rcv_transport_stats_tcp_t_stct lbm_rcv_transport_stats_tcp_t
Structure that holds datagram statistics for receiver TCP transports.
lbm_ulong_t timer_events_svc_mean
Definition: lbm.h:4519
struct lbm_transport_source_info_t_stct lbm_transport_source_info_t
Structure that holds parsed transport source strings.
lbm_uint32_t topic_idx
Definition: lbm.h:4839
Structure that holds statistics for a wildcard receiver.
Definition: lbm.h:4848
lbm_ulong_t rcv_cb_svc_time_mean
Definition: lbm.h:4822
lbm_ulong_t bytes_sent
Definition: lbm.h:3539
lbm_ulong_t unblock_events_tot
Definition: lbm.h:4556
LBMExpDLL int lbm_context_reactor_only_create(lbm_context_t **ctxp, const lbm_context_attr_t *attr)
Create and initialize an lbm_context_t object suitable for FD and timers only.
struct lbm_src_event_umq_registration_complete_ex_t_stct lbm_src_event_umq_registration_complete_ex_t
Structure that holds information for sources after registration is complete to all involved queue ins...
lbm_uint_t sequence_number
Definition: lbm.h:1451
LBMExpDLL int lbm_config_xml_file(const char *url, const char *application_name)
Load a UM XML configuration file.
int status
Definition: lbm.h:1693
LBMExpDLL int lbm_src_topic_alloc(lbm_topic_t **topicp, lbm_context_t *ctx, const char *symbol, const lbm_src_topic_attr_t *attr)
Turn a Topic string into a UM topic object usable by sources.
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:4284
LBMExpDLL int lbm_src_channel_create(lbm_src_channel_info_t **chnp, lbm_src_t *src, lbm_uint32_t channel_num)
Create a channel info object to send messages with the given channel_num.
LBMExpDLL int lbm_src_topic_attr_dup(lbm_src_topic_attr_t **attr, const lbm_src_topic_attr_t *original)
Duplicate a UM source topic attribute object.
LBMExpDLL lbm_hf_rcv_t * lbm_hf_rcv_from_rcv(lbm_rcv_t *rcv)
Return the LBM Hot Failover (HF) receiver object (if any) from a UM receiver object.
Structure that holds seconds and microseconds since midnight, Jan 1, 1970 UTC.
Definition: lbm.h:1212
LBMExpDLL int lbm_unicast_immediate_message(lbm_context_t *ctx, const char *target, const char *topic, const char *data, size_t len, int flags)
Send a unicast immediate message to the target and optional topic.
lbm_ulong_t msgs_rcved
Definition: lbm.h:4044
lbm_ulong_t topicless_im_msgs_svc_max
Definition: lbm.h:4447
LBMExpDLL int lbm_hf_rcv_delete(lbm_hf_rcv_t *hfrcv)
Delete a UM Hot Failover (HF) receiver object. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
struct lbm_context_event_func_t_stct lbm_context_event_func_t
Structure that holds the application callback for context-level events.
lbm_uint_t sequence_number
Definition: lbm.h:1417
LBMExpDLL int lbm_apphdr_chain_iter_done(lbm_apphdr_chain_iter_t **chain_iter)
Tests an lbm_apphdr_chain_iter_t iterator to see if more elements in the chain remain (deprecated)...
LBMExpDLL int lbm_src_buff_acquire(lbm_src_t *const src, void **const bufp, const size_t len, const int flags)
Acquires a pointer to a buffer of the specified length, to be filled in and sent later.
lbm_ulong_t dgrams_dropped_other
Definition: lbm.h:4007
LBMExpDLL int lbm_hfx_rcv_delete_ex(lbm_hfx_rcv_t *hfrcv, lbm_event_queue_cancel_cb_info_t *cbinfo)
Extended delete a UM HFX receiver object.
lbm_uint_t application_set_index
Definition: lbm.h:2315
lbm_ulong_t apphdr_code
Definition: lbm.h:3264
lbm_ulong_t tr_bytes_sent
Definition: lbm.h:4678
Structure that holds datagram statistics for source LBT-RM transports.
Definition: lbm.h:3531
lbm_ulong_t tr_dgrams_dropped_ver
Definition: lbm.h:4690
Structure that holds the receiver deletion callback information for wildcard receivers.
Definition: lbm.h:3492
lbm_ulong_t tr_rcv_unresolved_topics
Definition: lbm.h:4725
Structure that holds datagram statistics for receiver LBT-SMX transports.
Definition: lbm.h:4235
LBMExpDLL int lbm_event_queue_delete(lbm_event_queue_t *evq)
Delete a given UM event queue object.
lbm_ulong_t io_events_svc_max
Definition: lbm.h:4499
lbm_ulong_t io_events_svc_min
Definition: lbm.h:4488
unsigned long int lbm_ulong_t
For portability.
Definition: lbm.h:1145
lbm_uint_t service_ip
Definition: lbm.h:2830
char * cert_file_password
Definition: lbm.h:10073
Structure that holds store deregistration information for the UM receiver in an extended form...
Definition: lbm.h:1407
LBMExpDLL int lbm_wildcard_rcv_delete_ex(lbm_wildcard_rcv_t *wrcv, lbm_event_queue_cancel_cb_info_t *cbinfo)
Extended delete a UM wildcard receiver object.
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:4219
lbm_ulong_t bytes_sent
Definition: lbm.h:3741
lbm_ulong_t bytes_rcved
Definition: lbm.h:4026
void * msg_clientd
Definition: lbm.h:2145
lbm_src_transport_stats_tcp_t tcp
Definition: lbm.h:3804
LBMExpDLL int lbm_wildcard_rcv_umq_index_stop_assignment(lbm_wildcard_rcv_t *wrcv, const char *queue_name)
Stop assignment of new UMQ indices to the given wildcard receiver from the given UMQ queue or all UMQ...
LBMExpDLL int lbm_src_topic_attr_create_from_xml(lbm_src_topic_attr_t **attr, const char *context_name, const char *topicname)
Create and fill a UM source topic attribute object with the current default values for the given topi...
lbm_uint_t high_sequence_number
Definition: lbm.h:2122
Struct containing an array of queue topics retrieved via lbm_umq_queue_topic_list.
Definition: lbm.h:1657
Structure that holds statistics for a context.
Definition: lbm.h:4669
lbm_rcv_transport_stats_broker_t broker
Definition: lbm.h:4346
lbm_uint_t(* lbm_ume_rcv_regid_function_cb)(const char *src_str, lbm_uint_t src_regid, void *clientd)
Application callback to set the registration ID for a receiver for a specific source.
Definition: lbm.h:2584
LBMExpDLL int lbm_hf_src_sendv(lbm_src_t *src, const lbm_iovec_t *iov, int num, lbm_uint_t sqn, int flags)
Send a set of Hot Failover (HF) messages to the topic associated with a UM source. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
LBMExpDLL int lbm_hfx_setopt(lbm_hfx_t *hfx, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied HFX.
LBMExpDLL int lbm_authstorage_user_del_role(const char *username, const char *role)
Delete the role entry for the user from the password file.
lbm_umq_queue_msg_status_t * msgs
Definition: lbm.h:1709
lbm_uint32_t flags
Definition: lbm.h:4833
lbm_ulong_t nak_pckts_sent
Definition: lbm.h:3877
lbm_uint_t queue_id
Definition: lbm.h:2201
LBMExpDLL int lbm_hfx_create(lbm_hfx_t **hfxp, lbm_hfx_attr_t *cattr, const char *symbol, lbm_rcv_cb_proc proc, lbm_event_queue_t *evq)
Create and initialize an lbm_hfx_t object.
LBMExpDLL int lbm_authstorage_user_add_role(const char *username, const char *role)
Add one role entry for the user to the password file.
lbm_datagram_acceleration_bind_function_t bind
Definition: lbm.h:2497
lbm_ulong_t resp_msgs_svc_max
Definition: lbm.h:4419
lbm_ulong_t rxs_sent
Definition: lbm.h:3590
Structure that holds the application callback for receiving context status notifications for source c...
Definition: lbm.h:2943
const char * name
Definition: lbm.h:9512
Structure that holds information for the extended smart source send calls.
Definition: lbm.h:2024
lbm_uint_t src_registration_id
Definition: lbm.h:2069
LBMExpDLL int lbm_event_queue_attr_dup(lbm_event_queue_attr_t **attr, const lbm_event_queue_attr_t *original)
Duplicate a UM event queue attribute object.
LBMExpDLL int lbm_hf_src_send(lbm_src_t *src, const char *msg, size_t len, lbm_uint_t sqn, int flags)
Send a Hot Failover (HF) message to the topic associated with a UM source. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
lbm_ulong_t bytes_sent
Definition: lbm.h:3781
LBMExpDLL int lbm_msg_delete(lbm_msg_t *msg)
Delete a UM message object.
LBMExpDLL int lbm_hf_src_send_rcv_reset(lbm_src_t *src, int flags, lbm_src_send_ex_info_t *exinfo)
Send a message that will reset order and loss information for hot failover receivers on this topic...
lbm_ushort_t store_index
Definition: lbm.h:1285
LBMExpDLL int lbm_ssrc_delete(lbm_ssrc_t *ssrc)
Delete a UM Smart Source object.
struct lbm_wildcard_rcv_compare_func_t_stct lbm_wildcard_rcv_compare_func_t
Structure that holds the application callback pattern type information for wildcard receivers...
struct lbm_rcv_transport_stats_lbtsmx_t_stct lbm_rcv_transport_stats_lbtsmx_t
Structure that holds datagram statistics for receiver LBT-SMX transports.
LBMExpDLL int lbm_event_queue_dump(lbm_event_queue_t *evq, int *size, lbm_config_option_t *opts)
Retrieves all event queue attribute options.
LBMExpDLL int lbm_wildcard_rcv_attr_str_setopt(lbm_wildcard_rcv_attr_t *attr, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied wildcard receiver attribut...
LBMExpDLL int lbm_src_topic_attr_dump(lbm_src_topic_attr_t *sattr, int *size, lbm_config_option_t *opts)
Retrieves all source topic configuration options.
LBMExpDLL int lbm_event_queue_attr_dump(lbm_event_queue_attr_t *eattr, int *size, lbm_config_option_t *opts)
Retrieves all event queue attribute options.
struct lbm_hfx_attr_t_stct lbm_hfx_attr_t
Opaque structure that designates HFX configuration options.
Definition: lbm.h:3098
LBMExpDLL int lbm_wildcard_rcv_attr_option_size(void)
Retrieves the number of options that are of type "wildcard receiver".
lbm_uint_t sequence_number
Definition: lbm.h:1302
struct lbm_msg_properties_t_stct lbm_msg_properties_t
A struct that holds information used for messages with properties. (opaque)
Definition: lbm.h:1960
Structure that holds the receiver application callback functions when sources are subscribed or unsub...
Definition: lbm.h:2892
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:4214
Structure that holds the hash function callback information.
Definition: lbm.h:2676
lbm_uint_t first_sequence_number
Definition: lbm.h:2309
LBMExpDLL int lbm_wildcard_rcv_create(lbm_wildcard_rcv_t **wrcvp, lbm_context_t *ctx, const char *pattern, const lbm_rcv_topic_attr_t *tattr, const lbm_wildcard_rcv_attr_t *wattr, lbm_rcv_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
Create a UM wildcard receiver that will receive messages sent to any topic matching the given pattern...
LBMExpDLL int lbm_src_send(lbm_src_t *src, const char *msg, size_t len, int flags)
Send a message to the topic associated with a UM source.
lbm_umq_msgid_t msg_id
Definition: lbm.h:2305
LBMExpDLL int lbm_rcv_topic_attr_delete(lbm_rcv_topic_attr_t *attr)
Delete a receiver topic attribute object.
lbm_ulong_t naks_rx_delay_ignored
Definition: lbm.h:3679
lbm_src_transport_stats_lbtrm_t lbtrm
Definition: lbm.h:3806
int flags
Definition: lbm.h:1546
Structure that holds message statistics for receiver BROKER transports.
Definition: lbm.h:4304
Structure for specifying UMM daemon connection options.
Definition: lbm.h:10057
lbm_src_transport_stats_lbtrdma_t lbtrdma
Definition: lbm.h:3816
struct lbm_umq_index_info_t_stct lbm_umq_index_info_t
Structure that holds information used for sending and receiving messages with UMQ indices...
LBMExpDLL int lbm_src_buffs_cancel(lbm_src_t *const src)
Cancels all outstanding (not yet completed) buffers previously acquired using lbm_src_buff_acquire fo...
LBMExpDLL int lbm_hfx_delete(lbm_hfx_t *hfx)
Delete a UM HFX object.
size_t size
Definition: lbm.h:9516
lbm_ushort_t index
Definition: lbm.h:2984
int(* lbm_datagram_acceleration_sendto_function_t)(void *device, struct sockaddr_in *sin, const void *buffer, size_t length, int flags)
Application callback function to implement datagram acceleration send to.
Definition: lbm.h:2470
lbm_ulong_t send_would_block
Definition: lbm.h:4749
lbm_msg_channel_info_t * channel_info
Definition: lbm.h:3292
LBMExpDLL int lbm_src_send_ex(lbm_src_t *src, const char *msg, size_t len, int flags, lbm_src_send_ex_info_t *info)
Extended send of a message to the topic associated with a UM source.
uint64_t timestamp
Definition: lbm.h:2336
int(* lbm_log_cb_proc)(int level, const char *message, void *clientd)
Application callback for message logging.
Definition: lbm.h:5201
lbm_ulong_t unblock_events
Definition: lbm.h:4552
A structure used to define the datagram acceleration implementation functions.
Definition: lbm.h:2489
lbm_apphdr_chain_t * apphdr_chain
Definition: lbm.h:1992
int flags
Definition: lbm.h:1449
LBMExpDLL int lbm_ume_src_msg_stable(lbm_src_t *src, lbm_uint32_t sqn)
Mark a specific sqn as stable at a store, triggering a source event notification if configured to do ...
lbm_ulong_t nak_stm_mean
Definition: lbm.h:3932
lbm_ulong_t source_events_svc_min
Definition: lbm.h:4538
lbm_ulong_t bytes_rcved
Definition: lbm.h:4240
struct lbm_src_event_umq_message_id_info_t_stct lbm_src_event_umq_message_id_info_t
Structure that holds Message ID information for a message sent by a sending UMQ application.
LBMExpDLL int lbm_msg_properties_set(lbm_msg_properties_t *properties, const char *name, const void *value, int type, size_t size)
Sets the value of the property with the specified name. Each property name may be associated with one...
lbm_ushort_t store_index
Definition: lbm.h:1419
lbm_ulong_t wrcv_msgs
Definition: lbm.h:4450
struct lbm_ume_store_name_entry_t_stct lbm_ume_store_name_entry_t
Structure that holds information for a UMP store by name for configuration purposes.
LBMExpDLL int lbm_multicast_immediate_request(lbm_request_t **reqp, lbm_context_t *ctx, const char *topic, const char *data, size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq, int flags)
Multicast an immediate request to the target and topic.
struct lbm_ucast_resolver_entry_t_stct lbm_ucast_resolver_entry_t
Structure that holds information for a unicast resolver daemon for configuration purposes.
lbm_ulong_t tr_src_topics
Definition: lbm.h:4709
lbm_ulong_t dgrams_dropped_type
Definition: lbm.h:4171
lbm_umq_msgid_t msgid
Definition: lbm.h:1687
Structure that holds the application callbacks for Smart Source memory management.
Definition: lbm.h:1874
LBMExpDLL int lbm_context_process_events(lbm_context_t *ctx, lbm_ulong_t msec)
Process internal events in the given UM context object.
lbm_ulong_t wrcv_msgs_tot
Definition: lbm.h:4454
lbm_timeval_t tsp
Definition: lbm.h:3271
lbm_ulong_t ncfs_shed
Definition: lbm.h:3905
lbm_ulong_t nak_pckts_rcved
Definition: lbm.h:3553
Structure that holds information for a UMP store group for configuration purposes.
Definition: lbm.h:2878
struct lbm_rcv_topic_stats_t_stct lbm_rcv_topic_stats_t
Structure that holds statistics for a receiver topic.
lbm_ulong_t nak_tx_min
Definition: lbm.h:3943
struct lbm_msg_umq_index_released_ex_t_stct lbm_msg_umq_index_released_ex_t
Structure that holds end-of-index information for receivers.
Struct containing extended asynchronous operation status information about a single UMQ topic...
Definition: lbm.h:1647
lbm_ulong_t txw_msgs
Definition: lbm.h:3545
struct lbm_request_t_stct lbm_request_t
Opaque structure that designates a UM request object.
Definition: lbm.h:3137
struct lbm_context_event_umq_registration_ex_t_stct lbm_context_event_umq_registration_ex_t
Structure that holds queue registration information for the UMQ context in an extended form...
LBMExpDLL int lbm_xsp_register_fd(lbm_xsp_t *xsp, lbm_handle_t handle, lbm_fd_cb_proc proc, void *clientd, lbm_event_queue_t *evq, lbm_ulong_t ev)
Register a file descriptor/socket on the given XSP for events that calls proc when a given event occu...
LBMExpDLL const char * lbm_errmsg(void)
Return an ASCII string containing the error message last encountered by this thread.
Structure that holds information for contexts after registration is complete to all involved queue in...
Definition: lbm.h:2176
int flags
Definition: lbm.h:1411
void * msg_clientd
Definition: lbm.h:1457
lbm_ulong_t source_events_svc_mean
Definition: lbm.h:4544
LBMExpDLL int lbm_apphdr_chain_iter_delete(lbm_apphdr_chain_iter_t *chain_iter)
Delete an iterator allocated by one of the lbm_apphdr_chain_iter functions (deprecated).
LBMExpDLL int lbm_src_getopt(lbm_src_t *src, const char *optname, void *optval, size_t *optlen)
Retrieve an option value within the given src.
LBMExpDLL int lbm_rcv_topic_attr_set_from_xml(lbm_rcv_topic_attr_t *attr, const char *context_name, const char *topicname)
Fill a UM receiver topic attribute object with the current default values for the given topic name...
Structure that holds ACK information for a given message.
Definition: lbm.h:1430
Structure that holds information for a UMQ ULB sources application set attributes.
Definition: lbm.h:2982
LBMExpDLL int lbm_context_delete(lbm_context_t *ctx)
Delete a UM context object.
lbm_hf_sequence_number_t hf_sqn
Definition: lbm.h:2007
int(* lbm_immediate_msg_cb_proc)(lbm_context_t *ctx, lbm_msg_t *msg, void *clientd)
Application callback for topicless immediate-mode received messages.
Definition: lbm.h:3330
struct lbm_src_send_ex_info_t_stct lbm_src_send_ex_info_t
Structure that holds information for the extended send calls.
lbm_ulong_t num_clients
Definition: lbm.h:3514
LBMExpDLL int lbm_wildcard_rcv_attr_create(lbm_wildcard_rcv_attr_t **attr)
Create and fill a UM wildcard receiver attribute object with the current default values. Not recommended for use. Use lbm_wildcard_rcv_attr_create_from_xml() instead.
Structure that holds the receiver creation callback information for wildcard receivers.
Definition: lbm.h:3466
int type
Definition: lbm.h:1752
Information returned from lbm_datagram_acceleration_recvfrom_function_t function. ...
Definition: lbm.h:2331
Structure that holds information for source total inflight messages and bytes See lbm_flight_size_inf...
Definition: lbm.h:1466
lbm_ulong_t timer_events_svc_min
Definition: lbm.h:4513
lbm_ulong_t msgs_rcved
Definition: lbm.h:4202
LBMExpDLL int lbm_event_queue_attr_create_from_xml(lbm_event_queue_attr_t **attr, const char *event_queue_name)
Create and fill a UM event queue attribute object with the current default values for the given event...
lbm_uint_t low_rxreq_max_sequence_number
Definition: lbm.h:2120
lbm_ulong_t bytes_sent
Definition: lbm.h:3764
int(* lbm_context_src_cb_proc)(lbm_context_t *ctx, int event, void *ed, void *clientd)
Application context-level callback for events associated with context sources (immediate mode sources...
Definition: lbm.h:3034
LBMExpDLL int lbm_ssrc_send_ex(lbm_ssrc_t *ssrc, const char *usr_bufp, size_t len, int flags, lbm_ssrc_send_ex_info_t *info)
Extended send of a message using a pre-allocated buffer to the topic associated with a UM Smart Sourc...
int type
Definition: lbm.h:3237
struct lbm_event_queue_cancel_cb_info_t_stct lbm_event_queue_cancel_cb_info_t
Structure passed to cancel/delete functions so that a cancel callback may be called.
LBMExpDLL int lbm_wildcard_rcv_unsubscribe_channel_ex(lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel, lbm_event_queue_cancel_cb_info_t *cbinfo)
Discontinue an existing channel subscription with an application callback indicating when all message...
struct lbm_new_transport_info_t_stct lbm_new_transport_info_t
Structure that holds information about a transport session that we&#39;re about to join.
LBMExpDLL int lbm_msg_retrieve_fragment_info(lbm_msg_t *msg, lbm_msg_fragment_info_t *info)
Retrieves fragment information from a message.
lbm_ulong_t nak_stm_mean
Definition: lbm.h:4106
Structure that holds information for receivers after they de-register from a queue.
Definition: lbm.h:2265
LBMExpDLL int lbm_hfx_getopt(lbm_hfx_t *hfx, const char *optname, void *optval, size_t *optlen)
Retrieve an option value within the given HFX.
lbm_datagram_acceleration_mcast_leave_function_t mcast_leave
Definition: lbm.h:2503
LBMExpDLL int lbm_is_umq_capable(void)
Determine if the LBM library is capable of UMQ operations.
struct lbm_wildcard_rcv_delete_func_t_stct lbm_wildcard_rcv_delete_func_t
Structure that holds the receiver deletion callback information for wildcard receivers.
void * clientd
Definition: lbm.h:1691
struct lbm_iovec_t_stct lbm_iovec_t
Structure, struct iovec compatible, that holds information about buffers used for vectored sends...
lbm_uint_t registration_id
Definition: lbm.h:2869
struct lbm_msg_umq_deregistration_complete_ex_t_stct lbm_msg_umq_deregistration_complete_ex_t
Structure that holds information for receivers after they de-register from a queue.
LBMExpDLL int lbm_context_dump(lbm_context_t *ctx, int *size, lbm_config_option_t *opts)
Retrieves all context configuration option values.
union lbm_hf_sequence_number_t_stct lbm_hf_sequence_number_t
Structure to hold a hot failover sequence number.
lbm_uint_t src_registration_id
Definition: lbm.h:1346
lbm_ulong_t num_clients
Definition: lbm.h:3756
Structure that holds information for UMQ messages that allows the message to be identified uniquely...
Definition: lbm.h:1605
lbm_umq_msgid_t msg_id
Definition: lbm.h:2242
LBMExpDLL int lbm_src_delete(lbm_src_t *src)
Delete a UM source object.
struct lbm_hfx_rcv_t_stct lbm_hfx_rcv_t
Opaque structure that designates an HFX receiver.
Definition: lbm.h:3106
LBMExpDLL int lbm_src_flush(lbm_src_t *src)
Send messages from both the explicit and implicit batches ASAP.
LBMExpDLL lbm_rcv_t * lbm_rcv_from_hfx_rcv(lbm_hfx_rcv_t *hfxrcv)
Retrieve the underlying receiver from an lbm_hfx_rcv_t.
struct lbm_src_transport_stats_t_stct lbm_src_transport_stats_t
Structure that holds statistics for source transports.
lbm_datagram_acceleration_send_function_t send
Definition: lbm.h:2511
struct lbm_rcv_transport_stats_lbtrdma_t_stct lbm_rcv_transport_stats_lbtrdma_t
Deprecated structure that holds datagram statistics for receiver LBT-RDMA transports.
lbm_mim_unrecloss_function_cb func
Definition: lbm.h:2769
lbm_ushort_t src_port
Definition: lbm.h:3378
Structure that holds the application callback for recovery sequence number information, extended form.
Definition: lbm.h:2779
LBMExpDLL int lbm_errnum(void)
Return the error number last encountered by this thread.
lbm_ulong_t source_events_svc_max
Definition: lbm.h:4549
LBMExpDLL int lbm_context_rcv_immediate_msgs(lbm_context_t *ctx, lbm_immediate_msg_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
Set the callback procedure and delivery method for topicless immediate messages.
struct lbm_ume_rcv_ack_t_stct lbm_ume_rcv_ack_t
Opaque structure that designates a UMP ack object.
Definition: lbm.h:3196
struct lbm_src_transport_stats_lbtsmx_t_stct lbm_src_transport_stats_lbtsmx_t
Structure that holds datagram statistics for source LBT-SMX transports.
LBMExpDLL int lbm_msg_properties_clear(lbm_msg_properties_t *properties, const char *name)
Clear the value associated with the name in the specified properties object See Message Properties...
LBMExpDLL int lbm_context_attr_create_from_xml(lbm_context_attr_t **attr, const char *context_name)
Create and fill a UM context attribute object with the current default values for the given context n...
lbm_ulong_t cancel_events_tot
Definition: lbm.h:4563
lbm_async_operation_handle_t handle
Definition: lbm.h:1763
lbm_umq_msgid_t msg_id
Definition: lbm.h:2143
lbm_ulong_t ncfs_shed
Definition: lbm.h:4079
void * ume_msg_clientd
Definition: lbm.h:2039
LBMExpDLL int lbm_rcv_msg_source_clientd(lbm_rcv_t *rcv, const char *source, void *source_clientd)
Set the pointer value to set in the messages received for the given receiver from a specific source...
LBMExpDLL int lbm_src_topic_attr_setopt(lbm_src_topic_attr_t *attr, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied source topic attribute obj...
LBMExpDLL int lbm_event_queue_str_setopt(lbm_event_queue_t *evq, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied event queue.
LBMExpDLL int lbm_context_attr_setopt(lbm_context_attr_t *attr, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied context attribute object...
lbm_ulong_t events_tot
Definition: lbm.h:4611
lbm_ulong_t lu
Definition: lbm.h:2990
int(* lbm_request_cb_proc)(lbm_request_t *req, lbm_msg_t *msg, void *clientd)
Application callback for responses returned when a request is sent.
Definition: lbm.h:5125
Resolver event function (for UM internal use only).
Definition: lbm.h:1823
int(* lbm_rcv_cb_proc)(lbm_rcv_t *rcv, lbm_msg_t *msg, void *clientd)
Application callback for receiver events.
Definition: lbm.h:4888
LBMExpDLL int lbm_multicast_immediate_message(lbm_context_t *ctx, const char *topic, const char *data, size_t len, int flags)
Multicast an immediate message to the topic. Note that immediate messages are processed somewhat less...
struct lbm_str_hash_func_ex_t_stct lbm_str_hash_func_ex_t
Structure that holds the extended hash function callback information.
Structure that holds information for a UMP store for configuration purposes.
Definition: lbm.h:2791
lbm_ushort_t hdrlen
Definition: lbm.h:3273
uint32_t lbm_uint32_t
For portability.
Definition: lbm.h:1155
lbm_ulong_t timer_events
Definition: lbm.h:4502
lbm_ushort_t group_size
Definition: lbm.h:2882
LBMExpDLL int lbm_wildcard_rcv_str_setopt(lbm_wildcard_rcv_t *wrcv, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied wildcard receiver...
LBMExpDLL int lbm_rcv_umq_deregister(lbm_rcv_t *rcv, const char *queue_name)
De-Register the given receiver from the given UMQ queue or all UMQ queues.
LBMExpDLL int lbm_hf_src_send_ex(lbm_src_t *src, const char *msg, size_t len, lbm_uint_t sqn, int flags, lbm_src_send_ex_info_t *exinfo)
Send a Hot Failover (HF) message to the topic associated with a UM source. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
LBMExpDLL int lbm_rcv_retrieve_all_transport_stats_ex(lbm_rcv_t *rcv, int *num, int size, lbm_rcv_transport_stats_t *stats)
Retrieve the transport stats for all the sources seen by the given receiver.
lbm_ulong_t lost
Definition: lbm.h:4066
LBMExpDLL int lbm_event_queue_attr_option_size(void)
Retrieves the number of options that are of type "event queue".
LBMExpDLL int lbm_debug_dump(const char *filename, int append)
Dump a running rollback debug log to the given filename.
lbm_ulong_t age_max
Definition: lbm.h:4628
LBMExpDLL int lbm_xsp_attr_setopt(lbm_xsp_attr_t *attr, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied XSP attribute object...
int(* lbm_datagram_acceleration_send_function_t)(void *send_handle, const void *buffer, size_t length, int flags)
Application callback function to implement datagram acceleration send.
Definition: lbm.h:2457
lbm_uint_t queue_id
Definition: lbm.h:2219
struct lbm_msg_channel_info_t_stct lbm_msg_channel_info_t
Structure that represents UMS Spectrum channel information.
lbm_xsp_t *(* lbm_transport_mapping_cb_proc)(lbm_context_t *ctx, lbm_new_transport_info_t *info, void *clientd)
Application callback to provide the user an opportunity to map a new transport session to an XSP...
Definition: lbm.h:10458
LBMExpDLL int lbm_hf_rcv_delete_ex(lbm_hf_rcv_t *hfrcv, lbm_event_queue_cancel_cb_info_t *cbinfo)
Extended delete a UM Hot Failover (HF) receiver object. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
lbm_response_t * response
Definition: lbm.h:3250
lbm_ulong_t unrecovered_txw
Definition: lbm.h:4139
LBMExpDLL int lbm_authstorage_unload_roletable(void)
Unload the role table.
size_t len
Definition: lbm.h:3247
LBMExpDLL int lbm_xsp_attr_str_getopt(lbm_xsp_attr_t *attr, const char *optname, char *optval, size_t *optlen)
Retrieve the textual value of an option for the given UM XSP attribute.
LBMExpDLL int lbm_event_queue_shutdown(lbm_event_queue_t *evq)
Shutdown the event queue by purging any pending events and not allowing additional events to be added...
LBMExpDLL int lbm_async_operation_status(lbm_async_operation_handle_t handle, int flags)
Query the current status of an outstanding asynchronous operation.
struct lbm_context_event_umq_registration_complete_ex_t_stct lbm_context_event_umq_registration_complete_ex_t
Structure that holds information for contexts after registration is complete to all involved queue in...
lbm_ulong_t naks_rx_delay_ignored
Definition: lbm.h:3582
int(* lbm_rcv_src_notification_delete_function_cb)(const char *source_name, void *clientd, void *source_clientd)
Application callback for notification of deletion of sources for a topic.
Definition: lbm.h:2668
lbm_ulong_t resp_blocked
Definition: lbm.h:4752
lbm_uint_t src_registration_id
Definition: lbm.h:1413
lbm_ulong_t topicless_im_msgs
Definition: lbm.h:4423
LBMExpDLL int lbm_wildcard_rcv_umq_deregister(lbm_wildcard_rcv_t *wrcv, const char *queue_name)
De-Register the given wildcard receiver from the given UMQ queue or all UMQ queues.
LBMExpDLL int lbm_response_delete(lbm_response_t *resp)
Delete a UM response object.
LBMExpDLL int lbm_context_retrieve_rcv_transport_stats(lbm_context_t *ctx, int *num, lbm_rcv_transport_stats_t *stats)
Retrieve the transport stats for all receivers in a given context.
int(* lbm_datagram_acceleration_init_function_t)(uint16_t api_version)
Application callback function to implement datagram acceleration initialization.
Definition: lbm.h:2346
#define LBM_CONFIG_OPTIONS_STR_LEN
Config option structure holding the option name and value via string types.
Definition: lbm.h:3425
lbm_uint_t last_sequence_number
Definition: lbm.h:2097
LBMExpDLL int lbm_ssrc_buff_get(lbm_ssrc_t *const ssrc, char **const usr_bufp, const int flags)
Get a pre-allocated user buffer associated with a UM Smart Source.
LBMExpDLL int lbm_context_topic_resolution_request(lbm_context_t *ctx, lbm_ushort_t flags, lbm_ulong_t interval_msec, lbm_ulong_t duration_sec)
Request Topic Advertisements (sources), Topic Queries (receivers), and/or Wildcard Topic Queries (wil...
lbm_uint32_t flags
Definition: lbm.h:1812
void * reserved
Definition: lbm.h:1642
lbm_wildcard_rcv_compare_function_cb compfunc
Definition: lbm.h:2721
Structure that holds datagram statistics for source LBT-RU transports.
Definition: lbm.h:3638
lbm_uint32_t src_ip
Definition: lbm.h:3376
void * msg_clientd
Definition: lbm.h:1436
struct lbm_response_t_stct lbm_response_t
Opaque structure that designates a UM response object.
Definition: lbm.h:3142
struct lbm_src_t_stct lbm_src_t
Opaque structure that designates a UM source.
Definition: lbm.h:3116
LBMExpDLL int lbm_src_reset_transport_stats(lbm_src_t *src)
Reset the transport statistics for the transport used by the given source.
lbm_ulong_t context_source_events_svc_min
Definition: lbm.h:4592
int(* lbm_xsp_zero_transports_cb_proc)(lbm_xsp_t *xsp, void *clientd)
Application callback to indicate that the number of transports associated with the given XSP has fall...
Definition: lbm.h:10311
Structure that holds statistics for receiver transports.
Definition: lbm.h:4325
lbm_rcv_transport_stats_daemon_t daemon
Definition: lbm.h:4336
int(* lbm_timer_cb_proc)(lbm_context_t *ctx, const void *clientd)
Application callback for timer events.
Definition: lbm.h:4865
lbm_src_transport_stats_daemon_t daemon
Definition: lbm.h:3808
Structure that holds queue registration information for the UMQ context in an extended form...
Definition: lbm.h:2155
lbm_ulong_t lost
Definition: lbm.h:3892
Structure that holds information for a UMP store by name for configuration purposes.
Definition: lbm.h:2862
struct lbm_ume_rcv_regid_func_t_stct lbm_ume_rcv_regid_func_t
Structure that holds the application callback for registration ID setting.
LBMExpDLL int lbm_wildcard_rcv_attr_str_getopt(lbm_wildcard_rcv_attr_t *attr, const char *optname, char *optval, size_t *optlen)
Retrieve a textual option value within the given wildcard receiver attribute.
LBMExpDLL int lbm_event_queue_attr_set_from_xml(lbm_event_queue_attr_t *attr, const char *event_queue_name)
Fill a UM event queue attribute object with the current default values for the given event queue name...
LBMExpDLL int lbm_apphdr_chain_iter_create(lbm_apphdr_chain_iter_t **chain_iter, lbm_apphdr_chain_t *chain)
Create an iterator (an lbm_apphdr_chain_iter_t structure) to point to the first element in an apphdr ...
LBMExpDLL int lbm_src_buffs_complete_and_acquire(lbm_src_t *const src, void **const bufp, const size_t len, const int flags)
First sends all buffers on a transport session that had been previously acquired, and then acquires a...
struct lbm_msg_umq_index_assignment_eligibility_stop_complete_ex_t_stct lbm_msg_umq_index_assignment_eligibility_stop_complete_ex_t
Structure that holds index assignment information for receivers.
LBMExpDLL int lbm_rcv_str_setopt(lbm_rcv_t *rcv, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied receiver.
lbm_uint_t sequence_number
Definition: lbm.h:1283
LBMExpDLL int lbm_rcv_reset_all_transport_stats(lbm_rcv_t *rcv)
Reset the transport stats for all the sources seen by the given receiver.
LBMExpDLL int lbm_src_delete_ex(lbm_src_t *src, lbm_event_queue_cancel_cb_info_t *cbinfo)
Extended delete a UM source object.
lbm_ulong_t dgrams_dropped_hdr
Definition: lbm.h:4177
lbm_ulong_t wrcv_msgs_svc_max
Definition: lbm.h:4474
lbm_ulong_t msgs_sent
Definition: lbm.h:3738
lbm_uint_t resolver_ip
Definition: lbm.h:2814
LBMExpDLL int lbm_src_topic_attr_getopt(lbm_src_topic_attr_t *attr, const char *optname, void *optval, size_t *optlen)
Retrieve an option value within the given source topic attribute object.
lbm_ipv4_address_mask_t iface
Definition: lbm.h:2851
Structure that holds end-of-index information for receivers.
Definition: lbm.h:1542
struct lbm_src_event_ume_registration_t_stct lbm_src_event_ume_registration_t
Structure that holds store registration information for the UMP source.
struct lbm_msg_ume_registration_ex_t_stct lbm_msg_ume_registration_ex_t
Structure that holds store registration information for the UM receiver in an extended form...
lbm_ulong_t cancel_events_svc_max
Definition: lbm.h:4577
lbm_ulong_t rcv_cb_svc_time_min
Definition: lbm.h:4800
lbm_rcv_transport_stats_lbtrdma_t lbtrdma
Definition: lbm.h:4342
LBMExpDLL void lbm_debug_filename(const char *filename)
Set the file to receive LBM debug log entries.
Structure that holds statistics for source transports.
Definition: lbm.h:3797
lbm_rcv_transport_stats_tcp_t tcp
Definition: lbm.h:4332
LBMExpDLL int lbm_authstorage_checkpermission(char *username, char *command)
Check if the user is authorized to execute the specified command.
struct lbm_apphdr_chain_elem_t_stct lbm_apphdr_chain_elem_t
Structure that represents an element in an app header chain.
LBMExpDLL int lbm_src_ume_deregister(lbm_src_t *src)
Deregister a source from the UMP stores.
LBMExpDLL int lbm_src_buffs_complete(lbm_src_t *const src)
Sends all buffers on a transport session that had been previously been acquired.
Structure that holds the High Resolution Timestamp and sequence number associated with the sent messa...
Definition: lbm.h:1330
lbm_ulong_t lu
Definition: lbm.h:3008
struct lbm_msg_umq_registration_complete_ex_t_stct lbm_msg_umq_registration_complete_ex_t
Structure that holds information for receivers after registration is complete to all involved queue i...
lbm_ulong_t bytes_rcved
Definition: lbm.h:3836
lbm_ulong_t dgrams_dropped_version
Definition: lbm.h:4174
lbm_ulong_t ncfs_ignored
Definition: lbm.h:4073
LBMExpDLL int lbm_hfx_attr_getopt(lbm_hfx_attr_t *attr, const char *optname, void *optval, size_t *optlen)
Retrieve the value of an option for the given LBM HFX attribute.
LBMExpDLL int lbm_context_attr_delete(lbm_context_attr_t *attr)
Delete a UM context attribute object.
Structure that holds information for a UMQ queue registration ID for configuration purposes...
Definition: lbm.h:2955
struct lbm_transport_broker_entry_t_stct lbm_transport_broker_entry_t
Structure that holds IP and Port of the broker for the broker transport configuration.
Structure that holds an IPv4 address and a CIDR style netmask.
Definition: lbm.h:1201
int type
Definition: lbm.h:4327
lbm_ulong_t duplicate_data
Definition: lbm.h:4133
lbm_ulong_t cancel_events_svc_mean
Definition: lbm.h:4573
LBMExpDLL int lbm_hfx_rcv_create(lbm_hfx_rcv_t **hfrcvp, lbm_hfx_t *hfx, lbm_context_t *ctx, lbm_rcv_topic_attr_t *rattr, void *clientd)
Create a HFX receiver.
int flags
Definition: lbm.h:10437
lbm_datagram_acceleration_getaddr_function_t getaddr
Definition: lbm.h:2515
int mprop_int_cnt
Definition: lbm.h:2042
LBMExpDLL int lbm_src_topic_attr_str_getopt(lbm_src_topic_attr_t *attr, const char *optname, char *optval, size_t *optlen)
Retrieve a textual option value within the given source topic attribute object.
lbm_ulong_t nak_tx_mean
Definition: lbm.h:4122
LBMExpDLL int lbm_event_queue_size(lbm_event_queue_t *evq)
Determine the number of queued events in the event queue.
Structure that holds information for sources after registration is complete to all involved stores...
Definition: lbm.h:1296
lbm_ulong_t resp_msgs_tot
Definition: lbm.h:4401
LBMExpDLL int lbm_hfx_rcv_delete(lbm_hfx_rcv_t *hfrcv)
Delete a HFX receiver.
lbm_datagram_acceleration_close_function_t close
Definition: lbm.h:2495
struct lbm_umq_ulb_receiver_type_entry_t_stct lbm_umq_ulb_receiver_type_entry_t
Structure that holds information for a UMQ ULB sources receiver type associations with application se...
lbm_ulong_t dgrams_dropped_hdr
Definition: lbm.h:4003
lbm_src_transport_stats_lbtru_t lbtru
Definition: lbm.h:3810
void(* lbm_event_queue_cancel_cb_proc)(int dispatch_thrd, void *clientd)
Application callback for: lbm_*_delete_ex() (i.e. lbm_context_delete_ex(), lbm_src_delete_ex(), lbm_rcv_delete_ex(), lbm_request_delete_ex(), lbm_wildcard_rcv_delete_ex(), lbm_hf_rcv_delete_ex(), lbm_hfx_delete_ex(), lbm_hfx_rcv_delete_ex()).
Definition: lbm.h:5242
lbm_ulong_t send_blocked
Definition: lbm.h:4745
LBMExpDLL int lbm_ssrc_retrieve_transport_stats(lbm_ssrc_t *ssrc, lbm_src_transport_stats_t *stats)
Retrieve the transport statistics for the transport used by the given smart source.
lbm_ulong_t data_msgs_svc_min
Definition: lbm.h:4384
lbm_uint_t registration_id
Definition: lbm.h:1281
LBMExpDLL int lbm_rcv_topic_attr_str_getopt(lbm_rcv_topic_attr_t *attr, const char *optname, char *optval, size_t *optlen)
Retrieve a textual option value within the given receiver topic attribute.
A struct used for iterating over properties pointed to by an lbm_msg_properties_t. The iterator is used to access the fields of a property.
Definition: lbm.h:9510
lbm_ushort_t subtype
Definition: lbm.h:9412
Structure that holds datagram statistics for receiver LBT-IPC transports.
Definition: lbm.h:4197
lbm_ulong_t naks_ignored
Definition: lbm.h:3664
LBMExpDLL int lbm_queue_immediate_message(lbm_context_t *ctx, const char *qname, const char *topic, const char *data, size_t len, int flags, lbm_src_send_ex_info_t *info)
Submit a message to a given UMQ queue and to a given topic. Note that immediate messages are processe...
lbm_ushort_t group_index
Definition: lbm.h:2867
struct lbm_umq_queue_application_set_t_stct lbm_umq_queue_application_set_t
Structure for defining a UMQ application set.
LBMExpDLL int lbm_rcv_str_getopt(lbm_rcv_t *rcv, const char *optname, char *optval, size_t *optlen)
Retrieve a textual option value within the given rcv.
struct lbm_src_notify_func_t_stct lbm_src_notify_func_t
Structure that holds the context application callback function when new sources are discovered...
lbm_ulong_t age_mean
Definition: lbm.h:4623
lbm_uchar_t type
Definition: lbm.h:9410
struct lbm_context_t_stct lbm_context_t
Context object (opaque) for UM.
Definition: lbm.h:1180
lbm_uint_t last_sequence_number
Definition: lbm.h:2311
Structure that holds information for asynchronous operation callbacks.
Definition: lbm.h:1944
Structure that holds statistics for receiver daemon mode transport (deprecated)
Definition: lbm.h:4024
LBMExpDLL void lbm_set_lbtrm_src_loss_rate(int rate)
Dynamically set the LBT-RM source loss rate.
LBMExpDLL int lbm_context_attr_getopt(lbm_context_attr_t *attr, const char *optname, void *optval, size_t *optlen)
Retrieve the value of an option for the given UM context attribute object.
int(* lbm_src_notify_function_cb)(const char *topic_str, const char *src_str, void *clientd)
Application callback to inform application of the presence of new sources for topics.
Definition: lbm.h:2555
Structure that holds beginning-of-index information for receivers.
Definition: lbm.h:1522
lbm_ulong_t naks_shed
Definition: lbm.h:3574
struct lbm_xsp_t_stct lbm_xsp_t
XSP object (opaque) for UM.
Definition: lbm.h:10210
LBMExpDLL int lbm_ume_ack_mark_not_outstanding(lbm_ume_rcv_ack_t *ack, lbm_uint_t sqn)
Updates the internal acking state up to the sequence number provided for throttled recovery (max outs...
LBMExpDLL int lbm_rcv_umq_queue_msg_list(lbm_rcv_t *rcv, const char *queue_name, lbm_umq_msg_selector_t *selector, lbm_async_operation_func_t *async_opfunc)
Retrieves a list of all currently-queued messages from a queue (asynchronous operation).
LBMExpDLL int lbm_src_topic_attr_str_setopt(lbm_src_topic_attr_t *attr, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied source topic attribute obj...
int(* lbm_event_queue_monitor_proc)(lbm_event_queue_t *evq, int event, size_t evq_size, lbm_ulong_t event_delay_usec, void *clientd)
Application callback for event queue monitor events.
Definition: lbm.h:5180
Structure that holds the source_cost_evaluation_function (context) context option.
Definition: lbm.h:3411
struct lbm_rcv_transport_stats_daemon_t_stct lbm_rcv_transport_stats_daemon_t
Structure that holds statistics for receiver daemon mode transport (deprecated)
LBMExpDLL lbm_ume_rcv_ack_t * lbm_msg_extract_ume_ack(lbm_msg_t *msg)
Retrieves the ack structure from a UMP message. This is used to do explicit ACKs without having to re...
LBMExpDLL int lbm_rcv_topic_lookup(lbm_topic_t **topicp, lbm_context_t *ctx, const char *symbol, const lbm_rcv_topic_attr_t *attr)
Turn a Topic string into a UM topic object usable by receivers.
lbm_uint64_t stamp
Definition: lbm.h:1609
LBMExpDLL int lbm_context_attr_dump(lbm_context_attr_t *cattr, int *size, lbm_config_option_t *opts)
Retrieves all context configuration options.
LBMExpDLL int lbm_send_request(lbm_request_t **reqp, lbm_src_t *src, const char *data, size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq, int send_flags)
Send a request on the given src that contains the given data.
struct lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t_stct lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t
Structure that holds index assignment information for receivers.
LBMExpDLL int lbm_wildcard_rcv_dump(lbm_wildcard_rcv_t *wrcv, int *size, lbm_config_option_t *opts)
Retrieves all wildcard receiver attribute options.
lbm_ulong_t msgs_rcved
Definition: lbm.h:4272
Structure that holds datagram statistics for receiver LBT-RM transports.
Definition: lbm.h:3865
Resolver event structure (for UM internal use only).
Definition: lbm.h:1776
lbm_ushort_t broker_port
Definition: lbm.h:2849
lbm_ulong_t callback_events_svc_min
Definition: lbm.h:4642
LBMExpDLL int lbm_context_set_name(lbm_context_t *ctx, const char *name)
DEPRECATED! Set the name associated with a context.
LBMExpDLL int lbm_msg_umq_reassign(lbm_msg_t *msg, int flags)
Do not acknowledge the given message and instead request that the message be reassigned.
lbm_ushort_t source_port
Definition: lbm.h:2853
LBMExpDLL int lbm_rcv_topic_attr_dump(lbm_rcv_topic_attr_t *rattr, int *size, lbm_config_option_t *opts)
Retrieves all receiver topic configuration options.
Structure that holds store registration information for the UMP source in an extended form...
Definition: lbm.h:1273
lbm_ulong_t ncfs_rx_delay
Definition: lbm.h:3913
lbm_ulong_t topicless_im_msgs_svc_mean
Definition: lbm.h:4441
Structure that holds information for the extended send calls.
Definition: lbm.h:1967
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:4163
LBMExpDLL int lbm_src_str_getopt(lbm_src_t *src, const char *optname, char *optval, size_t *optlen)
Retrieve a textual option value within the given src.
lbm_ushort_t group_index
Definition: lbm.h:2797
struct lbm_rcv_src_notification_func_t_stct lbm_rcv_src_notification_func_t
Structure that holds the receiver application callback functions when sources are subscribed or unsub...
LBMExpDLL int lbm_event_dispatch(lbm_event_queue_t *evq, lbm_ulong_t tmo)
Dispatch waiting events to appropriate callback functions.
lbm_uint_t rcv_registration_id
Definition: lbm.h:1348
lbm_ulong_t rx_bytes_sent
Definition: lbm.h:3612
int type
Definition: lbm.h:9522
lbm_ulong_t uim_msgs_no_stream_rcved
Definition: lbm.h:4761
LBMExpDLL int lbm_hf_src_create(lbm_src_t **srcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_src_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
Create a UM Hot Failover (HF) source that will send messages to the given topic. See https://communit...
lbm_ulong_t dgrams_dropped_other
Definition: lbm.h:4184
struct lbm_src_transport_stats_daemon_t_stct lbm_src_transport_stats_daemon_t
Structure that holds statistics for source daemon mode transport (deprecated)
Structure that holds UMQ ULB receiver information in an extended form.
Definition: lbm.h:2282
LBMExpDLL int lbm_hfx_attr_setopt(lbm_hfx_attr_t *attr, const char *optname, const void *optval, size_t optlen)
Set the value (in binary format) of a configuration option in the supplied HFX attribute object...
lbm_datagram_acceleration_send_disconnect_function_t send_disconnect
Definition: lbm.h:2509
Structure that holds datagram statistics for source BROKER transports.
Definition: lbm.h:3777
int flags
Definition: lbm.h:1761
const void * pdata
Definition: lbm.h:3298
LBMExpDLL int lbm_src_str_setopt(lbm_src_t *src, const char *optname, const char *optval)
Set the value (in string format) of a configuration option in the supplied source.
uint16_t lbm_uint16_t
For portability.
Definition: lbm.h:1153
LBMExpDLL int lbm_rcv_topic_attr_dup(lbm_rcv_topic_attr_t **attr, const lbm_rcv_topic_attr_t *original)
Duplicate a UM receiver topic attribute object.
int(* lbm_mim_unrecloss_function_cb)(const char *source_name, lbm_uint_t seqnum, void *clientd)
Application callback in receiving application for notification of unrecoverable lost messages from a ...
Definition: lbm.h:2628
LBMExpDLL int lbm_event_queue_attr_create_default(lbm_event_queue_attr_t **attr)
Create and fill a UM event queue attribute object with the initial default values.
LBMExpDLL int lbm_umq_msg_selector_create(lbm_umq_msg_selector_t **selector, char *str, lbm_uint16_t len)
Create an umq message selector (an lbm_umq_msg_selector_t structure).
lbm_ulong_t bytes_sent
Definition: lbm.h:3721
lbm_uint_t application_set_index
Definition: lbm.h:2290
struct lbm_resolver_event_func_t_stct lbm_resolver_event_func_t
Resolver event function (for UM internal use only).