UM C API  6.12.1
lbm.h
Go to the documentation of this file.
1 
4 /*
5  $Id: //UMprod/REL_6_12_1/29West/lbm/src/lib/lbm/lbm.h#1 $
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-2019, 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 12
36 #define LBM_VERS_MAINT 1
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 
145 #define LBM_EWOULDBLOCK 2
146 
147 #define LBM_ENOMEM 3
148 
149 #define LBM_EOP 4
150 
151 #define LBM_EOS 5
152 
153 #define LBM_ETIMEDOUT 6
154 
155 #define LBM_EDAEMONCONN 7
156 
157 #define LBM_EUMENOREG 8
158 
159 #define LBM_EOPNOTSUPP 9
160 
161 #define LBM_EINPROGRESS 10
162 
163 #define LBM_ENO_QUEUE_REG 11
164 
165 #define LBM_ENO_STORE_REG 12
166 
167 #define LBM_EMSG_SELECTOR 14
168 
169 /* lbm_msg_t types */
171 #define LBM_MSG_DATA 0
172 
173 #define LBM_MSG_EOS 1
174 
175 #define LBM_MSG_REQUEST 2
176 
177 #define LBM_MSG_RESPONSE 3
178 
179 #define LBM_MSG_UNRECOVERABLE_LOSS 4
180 
181 #define LBM_MSG_UNRECOVERABLE_LOSS_BURST 5
182 
183 #define LBM_MSG_NO_SOURCE_NOTIFICATION 6
184 
185 #define LBM_MSG_UME_REGISTRATION_ERROR 7
186 
187 #define LBM_MSG_UME_REGISTRATION_SUCCESS 8
188 
189 #define LBM_MSG_UME_REGISTRATION_CHANGE 9
190 
191 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX 10
192 
193 #define LBM_MSG_UME_REGISTRATION_COMPLETE_EX 11
194 
195 #define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX 12
196 
197 #define LBM_MSG_UME_DEREGISTRATION_COMPLETE_EX 13
198 
200 #define LBM_MSG_UMQ_REGISTRATION_ERROR 16
201 
202 #define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX 18
203 
204 #define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX 19
205 
206 #define LBM_MSG_BOS 20
207 
208 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_ERROR 21
209 
210 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX 22
211 
212 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX 23
213 
214 #define LBM_MSG_UMQ_INDEX_ASSIGNED_EX 24
215 
216 #define LBM_MSG_UMQ_INDEX_RELEASED_EX 25
217 
218 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ERROR 26
219 
220 #define LBM_MSG_HF_RESET 27
221 
222 #define LBM_MSG_RESERVED_1 28
223 
224 /* Flags to sending/receiving functions. */
226 #define LBM_MSG_START_BATCH 0x1
227 
228 #define LBM_MSG_END_BATCH 0x2
229 
231 #define LBM_MSG_COMPLETE_BATCH 0x3 /* same as START | END */
232 
234 #define LBM_MSG_FLUSH 0x4
235 
237 #define LBM_SRC_NONBLOCK 0x8
238 
239 #define LBM_SRC_BLOCK_TEMP 0x10
240 
243 #define LBM_SRC_BLOCK 0x20
244 
245 #define LBM_MSG_IOV_GATHER 0x40
246 
251 #define LBM_MSG_BUFF_ALLOC 0x100
252 
254 #define LBM_RCV_NONBLOCK 0x8
255 
256 #define LBM_RCV_BLOCK_TEMP 0x10
257 
258 #define LBM_RCV_BLOCK 0x20
259 
262 #define LBM_MSG_FLAG_START_BATCH 0x1
263 
264 #define LBM_MSG_FLAG_END_BATCH 0x2
265 
266 #define LBM_MSG_FLAG_HF_PASS_THROUGH 0x4
267 
268 #define LBM_MSG_FLAG_UME_RETRANSMIT 0x8
269 
270 #define LBM_MSG_FLAG_RETRANSMIT 0x8
271 
272 #define LBM_MSG_FLAG_IMMEDIATE 0x10
273 
274 #define LBM_MSG_FLAG_HF_DUPLICATE 0x20
275 
276 #define LBM_MSG_FLAG_UMQ_REASSIGNED 0x40
277 
278 #define LBM_MSG_FLAG_UMQ_RESUBMITTED 0x80
279 
280 #define LBM_MSG_FLAG_TOPICLESS 0x100
281 
283 #define LBM_MSG_FLAG_DELIVERY_LATENCY 0x200
284 
286 #define LBM_MSG_FLAG_HF_OPTIONAL 0x400
287 
288 #define LBM_MSG_FLAG_HF_32 0x800
289 
290 #define LBM_MSG_FLAG_HF_64 0x1000
291 
292 #define LBM_MSG_FLAG_OTR 0x2000
293 
294 #define LBM_MSG_FLAG_UME_SRC_REGID 0x4000
295 
296 
299 #define LBM_MSG_FLAG_NUMBERED_CHANNEL 0x1
300 
301 /* Flags to topic resolution request function. May be ORed together. */
303 #define LBM_TOPIC_RES_REQUEST_GW_REMOTE_INTEREST 0x40
304 
305 #define LBM_TOPIC_RES_REQUEST_CONTEXT_QUERY 0x20
306 
307 #define LBM_TOPIC_RES_REQUEST_CONTEXT_ADVERTISEMENT 0x10
308 
309 #define LBM_TOPIC_RES_REQUEST_RESERVED1 0x08
310 
311 #define LBM_TOPIC_RES_REQUEST_ADVERTISEMENT 0x04
312 
313 #define LBM_TOPIC_RES_REQUEST_QUERY 0x02
314 
315 #define LBM_TOPIC_RES_REQUEST_WILDCARD_QUERY 0x01
316 
317 /* event types for source callbacks */
320 #define LBM_SRC_EVENT_CONNECT 1
321 
322 #define LBM_SRC_EVENT_DISCONNECT 2
323 
324 #define LBM_SRC_EVENT_WAKEUP 3
325 
326 #define LBM_SRC_EVENT_DAEMON_CONFIRM 4
327 
328 #define LBM_SRC_EVENT_UME_REGISTRATION_ERROR 5
329 
330 #define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS 6
331 
332 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE 7
333 
334 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION 8
335 
336 #define LBM_SRC_EVENT_UME_STORE_UNRESPONSIVE 9
337 
338 #define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED 10
339 
340 #define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX 11
341 
342 #define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX 12
343 
344 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX 13
345 
346 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX 14
347 
348 #define LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO 15
349 
350 #define LBM_SRC_EVENT_UMQ_REGISTRATION_ERROR 16
351 
352 #define LBM_SRC_EVENT_UMQ_MESSAGE_ID_INFO 17
353 
354 #define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX 18
355 
356 #define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX 19
357 
358 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_ASSIGNED_EX 20
359 
360 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX 21
361 
362 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX 22
363 
364 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_COMPLETE_EX 23
365 
366 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_CONSUMED_EX 24
367 
368 #define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_REGISTRATION_EX 25
369 
370 #define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_DEREGISTRATION_EX 26
371 
372 #define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_READY_EX 27
373 
374 #define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_TIMEOUT_EX 28
375 
376 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION 29
377 
378 #define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX 30
379 
380 #define LBM_SRC_EVENT_UME_DEREGISTRATION_SUCCESS_EX 31
381 
382 #define LBM_SRC_EVENT_UME_DEREGISTRATION_COMPLETE_EX 32
383 
384 #define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE 33
385 
386 #define LBM_SRC_EVENT_TIMESTAMP 34
387 
388 /* event types for context event callbacks */
390 #define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX 1
391 
392 #define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_SUCCESS_EX 2
393 
394 #define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_ERROR 3
395 
396 #define LBM_CONTEXT_EVENT_UMQ_INSTANCE_LIST_NOTIFICATION 4
397 
398 /* UM Transport Types */
400 #define LBM_TRANSPORT_TYPE_TCP 0x00
401 
402 #define LBM_TRANSPORT_TYPE_LBTRU 0x01
403 
404 #define LBM_TRANSPORT_TYPE_LBTSMX 0x4
405 
406 #define LBM_TRANSPORT_TYPE_LBTRM 0x10
407 
408 #define LBM_TRANSPORT_TYPE_LBTIPC 0x40
409 
410 #define LBM_TRANSPORT_TYPE_LBTRDMA 0x20
411 
412 #define LBM_TRANSPORT_TYPE_BROKER 0x80
413 
414 /* Security protocols */
416 #define LBM_SECURITY_PROTOCOL_NONE 0x1
417 
418 #define LBM_SECURITY_PROTOCOL_TLS 0x2
419 
420 
421 /* TCP compression types. */
422 #define LBM_CTX_ATTR_COMPRESSION_NONE 0
423 #define LBM_CTX_ATTR_COMPRESSION_LZ4 1
424 
425 /* Context attr - Opmode */
427 #define LBM_CTX_ATTR_OP_EMBEDDED 1
428 
429 #define LBM_CTX_ATTR_OP_DAEMON 2
430 
431 #define LBM_CTX_ATTR_OP_SEQUENTIAL 3
432 
433 /* Context attr - fdtype */
434 #define LBM_CTX_ATTR_FDTYPE_POLL 1
435 #define LBM_CTX_ATTR_FDTYPE_SELECT 2
436 #define LBM_CTX_ATTR_FDTYPE_WSAEV 3
437 #define LBM_CTX_ATTR_FDTYPE_WINCPORT 4
438 #define LBM_CTX_ATTR_FDTYPE_WINCPORT_OV 5
439 #define LBM_CTX_ATTR_FDTYPE_EPOLL 6
440 #define LBM_CTX_ATTR_FDTYPE_DEVPOLL 7
441 #define LBM_CTX_ATTR_FDTYPE_KQUEUE 8
442 #define LBM_CTX_ATTR_FDTYPE_WINRIOCPORT 9
443 
444 /* Context attr - monitor transport */
445 #define LBM_CTX_ATTR_MON_TRANSPORT_LBM 1
446 #define LBM_CTX_ATTR_MON_TRANSPORT_LBMSNMP 2
447 
448 /* Context attr - IPC receiver signaling behavior */
449 #define LBM_CTX_ATTR_IPC_RCV_THREAD_PEND 1
450 #define LBM_CTX_ATTR_IPC_RCV_THREAD_BUSY_WAIT 2
451 
452 /* Context attr - File Descriptor Management signaling behavior */
453 #define LBM_CTX_ATTR_FD_MANAGEMENT_BEHAVIOR_PEND 1
454 #define LBM_CTX_ATTR_FD_MANAGEMENT_BEHAVIOR_BUSY_WAIT 2
455 
456 /* Context attr - LBT-RDMA receiver signaling behavior */
457 #define LBM_CTX_ATTR_RDMA_RCV_THREAD_PEND 1
458 #define LBM_CTX_ATTR_RDMA_RCV_THREAD_BUSY_WAIT 2
459 
460 /* Context attr - Receive Thread Pool Behavior */
461 #define LBM_CTX_ATTR_RCV_THRD_POOL_CREATE 1
462 #define LBM_CTX_ATTR_RCV_THRD_POOL_DYNAMIC 2
463 
464 /* Context attr - Network compatibility mode */
465 #define LBM_CTX_ATTR_NET_COMPAT_MODE_DEFAULT 0x00000000
466 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6 0x00030600
467 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_1 0x00030601
468 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_2 0x00030602
469 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_5 0x00030605
470 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_0 0x00040000
471 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_0_1 0x00040001
472 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1 0x00040100
473 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_1 0x00040101
474 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_2 0x00040102
475 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_3 0x00040103
476 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_1 0x00040201
477 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_2 0x00040202
478 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_3 0x00040203
479 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_4 0x00040204
480 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_5 0x00040205
481 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_6 0x00040206
482 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_7 0x00040207
483 #define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_8 0x00040208
484 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0 0x01030000
485 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0_1 0x01030001
486 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0_2 0x01030002
487 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1 0x01030100
488 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_1 0x01030101
489 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_2 0x01030102
490 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_3 0x01030103
491 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_1 0x01030201
492 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_2 0x01030202
493 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_3 0x01030203
494 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_4 0x01030204
495 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_5 0x01030205
496 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_6 0x01030206
497 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_7 0x01030207
498 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_8 0x01030208
499 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_0 0x02010000
500 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_1 0x02010100
501 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_1_1 0x02010101
502 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_0 0x02020000
503 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_0_1 0x02020001
504 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_1 0x02020101
505 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_3 0x02020103
506 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_4 0x02020104
507 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_5 0x02020105
508 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_6 0x02020106
509 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_7 0x02020107
510 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_8 0x02020108
511 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_9 0x02020109
512 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_10 0x0202010a
513 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_0 0x03050000
514 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_0_1 0x03050001
515 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1 0x03050100
516 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1_1 0x03050101
517 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1_2 0x03050102
518 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2 0x03050200
519 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2_1 0x03050201
520 #define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2_2 0x03050202
521 
522 /* Src Topic attr */
523 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_TCP LBM_TRANSPORT_TYPE_TCP
524 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTRM LBM_TRANSPORT_TYPE_LBTRM
525 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTRU LBM_TRANSPORT_TYPE_LBTRU
526 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTIPC LBM_TRANSPORT_TYPE_LBTIPC
527 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTSMX LBM_TRANSPORT_TYPE_LBTSMX
528 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTRDMA LBM_TRANSPORT_TYPE_LBTRDMA
529 #define LBM_SRC_TOPIC_ATTR_TRANSPORT_BROKER LBM_TRANSPORT_TYPE_BROKER
530 #define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_NORMAL 0
531 #define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_BOUNDED_LATENCY 1
532 #define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SOURCE_PACED 2
533 #define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SEND_ORDER_SERIAL 0
534 #define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SEND_ORDER_RANDOM 1
535 #define LBM_SRC_TOPIC_ATTR_SSF_NONE 0
536 #define LBM_SRC_TOPIC_ATTR_SSF_INCLUSION 1
537 #define LBM_SRC_TOPIC_ATTR_SSF_EXCLUSION 2
538 #define LBM_SRC_TOPIC_ATTR_SSF_ULB 3
539 #define LBM_SRC_TOPIC_ATTR_IMPLICIT_BATCH_TYPE_DEFAULT 0
540 #define LBM_SRC_TOPIC_ATTR_IMPLICIT_BATCH_TYPE_ADAPTIVE 1
541 #define LBM_SRC_TOPIC_ATTR_UME_STORE_BEHAVIOR_RR 0x0
542 #define LBM_SRC_TOPIC_ATTR_UME_STORE_BEHAVIOR_QC 0x1
543 #define LBM_SRC_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_LOWEST 0x0
544 #define LBM_SRC_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_MAJORITY 0x1
545 #define LBM_SRC_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_HIGHEST 0x2
546 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_ANY 0x0
547 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_MAJORITY 0x1
548 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_QUORUM 0x1
549 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_ALL 0x2
550 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_ALL_ACTIVE 0x3
551 #define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_ANY 0x0
552 #define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_MAJORITY 0x1
553 #define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_QUORUM 0x1
554 #define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_ALL 0x2
555 #define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_ALL_ACTIVE 0x3
556 #define LBM_SRC_TOPIC_ATTR_LBTIPC_BEHAVIOR_SOURCE_PACED LBTIPC_BEHAVIOR_SRC_PACED
557 #define LBM_SRC_TOPIC_ATTR_LBTIPC_BEHAVIOR_RECEIVER_PACED LBTIPC_BEHAVIOR_RCVR_PACED
558 /* The following ULB event masks should not be changed.
559  * The numeric values are embedded in user configuration files. */
560 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_CONSUME 0x1
561 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_TIMEOUT 0x2
562 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_ASSIGNMENT 0x4
563 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_REASSIGNMENT 0x8
564 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_COMPLETE 0x10
565 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_TIMEOUT 0x20
566 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_REGISTRATION 0x40
567 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_DEREGISTRATION 0x80
568 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_READY 0x100
569 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_ALL 0x1FF
570 
571 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_ASSIGNMENT_DEFAULT 0x0
572 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_ASSIGNMENT_RANDOM 0x1
573 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_LF_BEHAVIOR_IGNORED 0x0
574 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_LF_BEHAVIOR_PROVISIONED 0x1
575 #define LBM_SRC_TOPIC_ATTR_UMQ_ULB_LF_BEHAVIOR_DYNAMIC 0x2
576 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_NONE 0x0
577 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_PER_FRAGMENT 0x1
578 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_PER_MESSAGE 0x2
579 #define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_FRAG_AND_MSG 0x3
580 #define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_NONE 0x0
581 #define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_PER_FRAGMENT 0x1
582 #define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_PER_MESSAGE 0x2
583 #define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_FRAG_AND_MSG 0x3
584 #define LBM_SRC_TOPIC_ATTR_SECURITY_PROTOCOL_NONE LBM_SECURITY_PROTOCOL_NONE
585 #define LBM_SRC_TOPIC_ATTR_SECURITY_PROTOCOL_TLS LBM_SECURITY_PROTOCOL_TLS
586 
587 /* Rcv Topic attr */
588 #define LBM_RCV_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_LOWEST 0x0
589 #define LBM_RCV_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_MAJORITY 0x1
590 #define LBM_RCV_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_HIGHEST 0x2
591 #define LBM_RCV_TOPIC_ATTR_TCP_ACTIVITY_TIMEOUT_SO_KEEPALIVE 0x1
592 #define LBM_RCV_TOPIC_ATTR_TCP_ACTIVITY_TIMEOUT_TIMER 0x2
593 #define LBM_RCV_TOPIC_ATTR_CHANNEL_BEHAVIOR_DELIVER_MSGS 0x1
594 #define LBM_RCV_TOPIC_ATTR_CHANNEL_BEHAVIOR_DISCARD_MSGS 0x2
595 #define LBM_RCV_TOPIC_ATTR_UMQ_INDEX_ASSIGN_ELIGIBILITY_INELIGIBLE 0x0
596 #define LBM_RCV_TOPIC_ATTR_UMQ_INDEX_ASSIGN_ELIGIBILITY_ELIGIBLE 0x1
597 #define LBM_RCV_TOPIC_ATTR_UMQ_QUEUE_PARTICIPATION_NONE 0
598 #define LBM_RCV_TOPIC_ATTR_UMQ_QUEUE_PARTICIPATION_NORMAL 1
599 #define LBM_RCV_TOPIC_ATTR_UMQ_QUEUE_PARTICIPATION_OBSERVER 2
600 #define LBM_RCV_TOPIC_ATTR_UMQ_HOLD_INTERVAL_FOREVER 0xFFFFFFFF
601 #define LBM_RCV_TOPIC_ATTR_SECURITY_PROTOCOL_NONE LBM_SECURITY_PROTOCOL_NONE
602 #define LBM_RCV_TOPIC_ATTR_SECURITY_PROTOCOL_TLS LBM_SECURITY_PROTOCOL_TLS
603 
604 
605 /* Limits */
606 #define LBM_MSG_MAX_SOURCE_LEN 128
607 #define LBM_MSG_MAX_TOPIC_LEN 256
608 #define LBM_MSG_MAX_STATE_LEN 32
609 #define LBM_UME_MAX_STORE_STRLEN 24
610 #define LBM_UMQ_MAX_QUEUE_STRLEN 256
611 #define LBM_UMQ_MAX_TOPIC_STRLEN 256
612 #define LBM_UMQ_MAX_APPSET_STRLEN 256
613 #define LBM_MAX_CONTEXT_NAME_LEN 128
614 #define LBM_MAX_EVENT_QUEUE_NAME_LEN 128
615 #define LBM_MAX_UME_STORES 25
616 #define LBM_MAX_UME_GROUPS 5
617 #define LBM_UMQ_ULB_MAX_RECEIVER_STRLEN 32
618 #define LBM_UMQ_MAX_INDEX_LEN 216
619 #define LBM_UMQ_USER_NAME_LENGTH_MAX 127
620 #define LBM_UMQ_PASSWORD_LENGTH_MAX 15
621 #define LBM_UMM_NUM_SERVERS_MAX 16
622 #define LBM_UMM_USER_NAME_LENGTH_MAX 100
623 #define LBM_UMM_APP_NAME_LENGTH_MAX 100
624 #define LBM_UMM_PASSWORD_LENGTH_MAX 100
625 #define LBM_UMM_SERVER_LENGTH_MAX 32
626 #define LBM_HMAC_BLOCK_SZ 20
627 #define LBM_MAX_GATEWAY_NAME_LEN 128
628 #define LBM_OTID_BLOCK_SZ 32
629 #define LBM_CONTEXT_INSTANCE_BLOCK_SZ 8
630 
631 #define LBM_FLIGHT_SIZE_BEHAVIOR_NOTIFY 0x0
632 #define LBM_FLIGHT_SIZE_BEHAVIOR_BLOCK 0x1
633 
634 /* Event types for file descriptor/socket management */
636 #define LBM_FD_EVENT_READ 0x1
637 
638 #define LBM_FD_EVENT_WRITE 0x2
639 
640 #define LBM_FD_EVENT_EXCEPT 0x4
641 
642 #define LBM_FD_EVENT_ACCEPT 0x8
643 
644 #define LBM_FD_EVENT_CLOSE 0x10
645 
646 #define LBM_FD_EVENT_CONNECT 0x20
647 
648 #define LBM_FD_EVENT_ALL 0x3f
649 
651 #define LBM_EVENT_QUEUE_BLOCK 0xFFFFFFFF
652 
653 #define LBM_EVENT_QUEUE_POLL 0x0
654 
655 /* Event Queue monitor event types */
657 #define LBM_EVENT_QUEUE_SIZE_WARNING 0x1
658 
659 #define LBM_EVENT_QUEUE_DELAY_WARNING 0x2
660 
661 #define LBM_EVENT_QUEUE_ENQUEUE_NOTIFICATION 0x3
662 
663 /* UM Log level values */
665 #define LBM_LOG_EMERG 1
666 
667 #define LBM_LOG_ALERT 2
668 
669 #define LBM_LOG_CRIT 3
670 
671 #define LBM_LOG_ERR 4
672 
673 #define LBM_LOG_WARNING 5
674 
675 #define LBM_LOG_NOTICE 6
676 
677 #define LBM_LOG_INFO 7
678 
679 #define LBM_LOG_DEBUG 8
680 
681 /* Daemon log file rollover max size (MB) */
682 #define LBM_LOG_ROLLOVER_SIZE_MAX 4000
683 /* Debug log file rollover max size (bytes) */
684 #define LBM_DEBUG_LOG_ROLLOVER_SIZE_MAX 0xFFFFFFFF
685 
686 /* UM daemon event types */
688 #define LBM_DAEMON_EVENT_CONNECTED 1
689 
690 #define LBM_DAEMON_EVENT_CONNECT_ERROR 2
691 
692 #define LBM_DAEMON_EVENT_DISCONNECTED 3
693 
694 #define LBM_DAEMON_EVENT_CONNECT_TIMEOUT 4
695 
696 /* transport statistics types */
698 #define LBM_TRANSPORT_STAT_TCP LBM_TRANSPORT_TYPE_TCP
699 
700 #define LBM_TRANSPORT_STAT_LBTRM LBM_TRANSPORT_TYPE_LBTRM
701 
702 #define LBM_TRANSPORT_STAT_DAEMON 0xFF
703 
704 #define LBM_TRANSPORT_STAT_LBTRU LBM_TRANSPORT_TYPE_LBTRU
705 
706 #define LBM_TRANSPORT_STAT_LBTIPC LBM_TRANSPORT_TYPE_LBTIPC
707 
708 #define LBM_TRANSPORT_STAT_LBTSMX LBM_TRANSPORT_TYPE_LBTSMX
709 
710 #define LBM_TRANSPORT_STAT_LBTRDMA LBM_TRANSPORT_TYPE_LBTRDMA
711 
712 #define LBM_TRANSPORT_STAT_BROKER LBM_TRANSPORT_TYPE_BROKER
713 
714 /* wildcard receiver pattern types */
716 #define LBM_WILDCARD_RCV_PATTERN_TYPE_PCRE 1
717 
718 #define LBM_WILDCARD_RCV_PATTERN_TYPE_REGEX 2
719 
720 #define LBM_WILDCARD_RCV_PATTERN_TYPE_APP_CB 3
721 
722 /* LBM_SRC_EVENT_WAKEUP source type flags */
724 #define LBM_SRC_EVENT_WAKEUP_FLAG_NORMAL 0x1
725 
726 #define LBM_SRC_EVENT_WAKEUP_FLAG_MIM 0x2
727 
728 #define LBM_SRC_EVENT_WAKEUP_FLAG_UIM 0x4
729 
730 #define LBM_SRC_EVENT_WAKEUP_FLAG_REQUEST 0x8
731 
732 #define LBM_SRC_EVENT_WAKEUP_FLAG_RESPONSE 0x10
733 
734 /* LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX event flags */
736 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_TOTAL_LIFETIME_EXPIRED 0x1
737 
738 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_EXPLICIT 0x2
739 
740 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_DISCARD 0x4
741 
742 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_MAX_REASSIGNS 0x8
743 
744 /* LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX event flags */
746 #define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX_FLAG_EXPLICIT 0x1
747 
748 /* LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION type */
750 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_UME 0x1
751 
752 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_ULB 0x2
753 
754 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_UMQ 0x3
755 
756 /* LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION state */
758 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_OVER 0x1
759 
760 #define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_UNDER 0x2
761 
762 /* lbm_src_get_inflight types */
764 #define LBM_FLIGHT_SIZE_TYPE_UME 0x1
765 
766 #define LBM_FLIGHT_SIZE_TYPE_ULB 0x2
767 
768 #define LBM_FLIGHT_SIZE_TYPE_UMQ 0x3
769 
770 /* lbm_src_send_ex info flags */
773 #define LBM_SRC_SEND_EX_FLAG_UME_CLIENTD 0x1
774 
776 #define LBM_SRC_SEND_EX_FLAG_UMQ_CLIENTD 0x1
777 
778 #define LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO 0x2
779 
780 #define LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY 0x4
781 
783 #define LBM_SRC_SEND_EX_FLAG_APPHDR_CHAIN 0x8
784 
785 #define LBM_SRC_SEND_EX_FLAG_UMQ_MESSAGE_ID_INFO 0x10
786 
787 #define LBM_SRC_SEND_EX_FLAG_CHANNEL 0x20
788 
790 #define LBM_SRC_SEND_EX_FLAG_UMQ_INDEX 0x40
791 
793 #define LBM_SRC_SEND_EX_FLAG_UMQ_TOTAL_LIFETIME 0x80
794 
795 #define LBM_SRC_SEND_EX_FLAG_HF_OPTIONAL 0x100
796 
798 #define LBM_SRC_SEND_EX_FLAG_PROPERTIES 0x200
799 
801 #define LBM_SRC_SEND_EX_FLAG_HF_32 0x400
802 
804 #define LBM_SRC_SEND_EX_FLAG_HF_64 0x800
805 
806 /* lbm_ssrc_send_ex() info flags */
809 #define LBM_SSRC_SEND_EX_FLAG_UME_CLIENTD 0x1
810 
811 #define LBM_SSRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO 0x2
812 
813 #define LBM_SSRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY 0x4
814 
816 #define LBM_SSRC_SEND_EX_FLAG_CHANNEL 0x20
817 
819 #define LBM_SSRC_SEND_EX_FLAG_PROPERTIES 0x200
820 
821 #define LBM_SSRC_SEND_EX_FLAG_REBUILD_BUFFER 0x1000
822 
823 #define LBM_SSRC_SEND_EX_FLAG_UPDATE_CHANNEL 0x2000
824 
825 #define LBM_SSRC_SEND_EX_FLAG_UPDATE_PROPERTY_VALUES 0x4000
826 
828 #define LBM_SSRC_SEND_EX_FLAG_USER_SUPPLIED_BUFFER 0x8000
829 
830 /* Smart Source defaults */
832 #define SSRC_DEFAULT_MAX_MSG_LEN 368
833 
834 /* Message properties types */
836 #define LBM_MSG_PROPERTY_NONE 0x0
837 
838 #define LBM_MSG_PROPERTY_BOOLEAN 0x1
839 
840 #define LBM_MSG_PROPERTY_BYTE 0x2
841 
842 #define LBM_MSG_PROPERTY_SHORT 0x3
843 
844 #define LBM_MSG_PROPERTY_INT 0x4
845 
846 #define LBM_MSG_PROPERTY_LONG 0x5
847 
848 #define LBM_MSG_PROPERTY_FLOAT 0x6
849 
850 #define LBM_MSG_PROPERTY_DOUBLE 0x7
851 
852 #define LBM_MSG_PROPERTY_STRING 0x8
853 
855 #define LBM_MSG_PROPERTIES_MAX_NAMELEN 250
856 
857 /* appheader chain element types */
859 #define LBM_CHAIN_ELEM_CHANNEL_NUMBER 0x1
860 
861 #define LBM_CHAIN_ELEM_HF_SQN 0x2
862 
863 #define LBM_CHAIN_ELEM_GW_INFO 0x3
864 
865 #define LBM_CHAIN_ELEM_APPHDR 0x4
866 
867 #define LBM_CHAIN_ELEM_USER_DATA 0x5
868 
869 #define LBM_CHAIN_ELEM_PROPERTIES_LENGTH 0x6
870 
871 /* flags for registration successful extended event for UMP sources */
873 #define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_OLD 0x1
874 
875 #define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_NOACKS 0x2
876 
877 #define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP 0x4
878 
879 /* flags for registration complete extended event for UMP sources */
881 #define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX_FLAG_QUORUM 0x1
882 
883 /* flags for message stability extended event for UMP sources */
885 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_INTRAGROUP_STABLE 0x1
886 
887 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_INTERGROUP_STABLE 0x2
888 
889 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_STABLE 0x4
890 
891 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_STORE 0x8
892 
893 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_WHOLE_MESSAGE_STABLE 0x10
894 
895 #define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_USER 0x20
896 
898 #define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE_FLAG_STORE 0x8
899 
900 #define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE_FLAG_LOSS 0x40
901 
902 #define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE_FLAG_TIMEOUT 0x80
903 
904 /* flags for delivery confirmation extended event for UMP sources */
906 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_UNIQUEACKS 0x1
907 
908 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_UREGID 0x2
909 
910 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_OOD 0x4
911 
912 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_EXACK 0x8
913 
914 #define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_WHOLE_MESSAGE_CONFIRMED 0x10
915 
916 /* flags for message reclaimed extended event for source */
918 #define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX_FLAG_FORCED 0x1
919 
920 /* flags for registration successful extended event for UMP receivers */
922 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_OLD 0x1
923 
924 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_NOCACHE 0x2
925 
926 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP 0x4
927 
928 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_SRC_SID 0x8
929 
930 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP_IS_NON_BLOCKING 0x10
931 
932 #define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_PROACTIVE_KEEPALIVE 0x20
933 
934 /* flags for recovery sequence number information structure */
936 #define LBM_UME_RCV_RECOVERY_INFO_EX_FLAG_SRC_SID 0x1
937 
938 /* flags for registration complete extended event for UMP receivers */
940 #define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_QUORUM 0x1
941 
942 #define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_RXREQMAX 0x2
943 
944 #define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_SRC_SID 0x4
945 
947 #define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX_FLAG_RPP 0x1
948 
949 /* flags for registration complete extended event for UMQ contexts */
951 #define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM 0x1
952 
953 /* flags for registration complete extended event for UMQ sources */
955 #define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM 0x1
956 
958 #define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_INTRAGROUP_STABLE 0x1
959 
960 #define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_INTERGROUP_STABLE 0x2
961 
962 #define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_STABLE 0x4
963 
964 #define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_USER 0x8
965 
966 /* flags for registration complete extended event for UMQ receivers */
968 #define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM 0x1
969 
970 #define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX_FLAG_ULB 0x2
971 
972 /* flags for deregistration complete extended event for UMQ receivers */
974 #define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX_FLAG_ULB 0x1
975 
976 /* flags for beginning of index event for UMQ receivers */
978 #define LBM_MSG_UMQ_INDEX_ASSIGNED_EX_FLAG_ULB 0x1
979 
980 #define LBM_MSG_UMQ_INDEX_ASSIGNED_EX_FLAG_REQUESTED 0x2
981 
982 /* flags for end of index event for UMQ receivers */
984 #define LBM_MSG_UMQ_INDEX_RELEASED_EX_FLAG_ULB 0x1
985 
986 /* flags for index assignment stop complete extended event for UMQ receivers */
988 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX_FLAG_ULB 0x1
989 
990 /* flags for index assignment start complete extended event for UMQ receivers */
992 #define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX_FLAG_ULB 0x1
993 
994 /* flags for lbm_msg_umq_reassign */
996 #define LBM_MSG_UMQ_REASSIGN_FLAG_DISCARD 0x1
997 
998 /* flags for ume receiver liveness */
999 /* TMO means that the source context has not heard from a given receiver for
1000  * a specified amount of time and is therefore declared "dead". */
1001 #define LBM_UME_LIVENESS_RECEIVER_UNRESPONSIVE_FLAG_TMO 0x1
1002 
1003 /* EOF means that the receiver context has closed the response socket
1004  * and the source context declares the receiver "dead".
1005  */
1006 #define LBM_UME_LIVENESS_RECEIVER_UNRESPONSIVE_FLAG_EOF 0x2
1007 
1008 /* flags for \ref lbm_umm_info_t */
1010 #define LBM_UMM_INFO_FLAGS_USE_SSL 0x1
1011 
1012 /*
1013  Possible JMS Message Types.
1014 */
1015 #define LBM_TEXTMESSAGE 0
1016 #define LBM_BYTEMESSAGE 1
1017 #define LBM_MAPMESSAGE 2
1018 #define LBM_MESSAGE 3
1019 #define LBM_OBJECTMESSAGE 4
1020 #define LBM_STREAMMESSAGE 5
1021 
1022 /*
1023  List of JMS provider message properties.
1024 */
1025 
1026 /* int, NON_PERSISTENT = 1, PERSISTENT = 2 */
1027 #define LBM_JMSDeliveryMode "JMSDeliveryMode"
1028 
1029 /* long, Number of milliseconds since 1970. */
1030 #define LBM_JMSExpiration "JMSExpiration"
1031 
1032 /* int */
1033 #define LBM_JMSPriority "JMSPriority"
1034 
1035 /* String */
1036 #define LBM_JMSMessageID "JMSMessageID"
1037 
1038 /* long, Number of milliseconds since 1970. */
1039 #define LBM_JMSTimestamp "JMSTimestamp"
1040 
1041 /* String */
1042 #define LBM_JMSCorrelationID "JMSCorrelationID"
1043 
1044 /* String, topic, queue or destination */
1045 #define LBM_JMSType "JMSType"
1046 
1047 /* boolean */
1048 #define LBM_JMSRedelivered "JMSRedelivered"
1049 
1050 /* int, LBM_TEXTMESSAGE, LBM_BYTEMESSAGE, LBM_MAPMESSAGE, LBM_MESSAGE, LBM_OBJECTMESSAGE, LBM_STREAMMESSAGE */
1051 #define LBM_LBMMessageType "JMS_UM_MessageType"
1052 
1053 /* String, topic, queue or destination */
1054 #define LBM_JMSTopicType "JMSTopicType"
1055 
1056 /* String */
1057 #define LBM_JMSReplyToName "JMSReplyToName"
1058 
1059 /* boolean*/
1060 #define LBM_JMSReplyToWildcard "JMSReplyToWildcard"
1061 
1062 /* String, topic, queue or destination */
1063 #define LBM_JMSReplyToType "JMSReplyToType"
1064 
1065 /* enums */
1066 enum {
1067  LBM_OK = 0,
1068  LBM_FAILURE = -1
1069 };
1070 
1071 /* Types */
1073 typedef unsigned int lbm_uint_t;
1075 typedef unsigned long int lbm_ulong_t;
1077 typedef unsigned short int lbm_ushort_t;
1079 typedef unsigned char lbm_uchar_t;
1081 typedef uint8_t lbm_uint8_t;
1083 typedef uint16_t lbm_uint16_t;
1085 typedef uint32_t lbm_uint32_t;
1087 typedef int32_t lbm_int32_t;
1089 typedef uint64_t lbm_uint64_t;
1090 
1091 #if !defined(DONT_TYPEDEF_INT_T)
1092 
1093 typedef int64_t lbm_int64_t;
1094 #else
1095 
1096 typedef __int64 lbm_int64_t;
1097 #endif
1098 
1099 #define LBM_EXTERNAL_STRUCT_FILL_SIZE (512)
1100 
1101 #if defined(_WIN32)
1102 typedef SOCKET lbm_handle_t;
1103 #else
1104 typedef int lbm_handle_t;
1105 #endif /* _WIN32 */
1106 
1107 struct lbm_context_t_stct;
1110 typedef struct lbm_context_t_stct lbm_context_t;
1111 
1118 typedef struct lbm_iovec_t_stct {
1120  char *iov_base;
1122  size_t iov_len;
1123 } lbm_iovec_t;
1124 
1133  lbm_uint_t addr;
1135  int bits;
1137 
1142 typedef struct lbm_timeval_t_stct {
1143  lbm_ulong_t tv_sec;
1144  lbm_ulong_t tv_usec;
1145 } lbm_timeval_t;
1146 
1151 typedef struct lbm_timespec_t_stct {
1152  lbm_ulong_t tv_sec;
1153  lbm_ulong_t tv_nsec;
1154 } lbm_timespec_t;
1155 
1170  int flags;
1172 
1181  int type;
1183  int state;
1185 
1194  lbm_uint_t registration_id;
1196 
1209  int flags;
1211  lbm_uint_t registration_id;
1213  lbm_uint_t sequence_number;
1215  lbm_ushort_t store_index;
1217  char store[LBM_UME_MAX_STORE_STRLEN];
1219 
1230  int flags;
1232  lbm_uint_t sequence_number;
1234 
1243  int flags;
1245  lbm_uint32_t registration_id;
1247  lbm_uint_t sequence_number;
1249  lbm_ushort_t store_index;
1251  char store[LBM_UME_MAX_STORE_STRLEN];
1253 
1264  lbm_uint_t sequence_number;
1266 
1267 
1280 
1296  int flags;
1302  lbm_uint_t sequence_number;
1304  lbm_ushort_t store_index;
1306  char store[LBM_UME_MAX_STORE_STRLEN];
1308  lbm_uint64_t src_session_id;
1310 
1323  int flags;
1325  lbm_uint_t sequence_number;
1327  lbm_uint64_t src_session_id;
1329 
1340  int flags;
1346  lbm_uint_t sequence_number;
1348  lbm_ushort_t store_index;
1350  char store[LBM_UME_MAX_STORE_STRLEN];
1352 
1361  lbm_uint_t sequence_number;
1367 
1378  int flags;
1380  lbm_uint_t sequence_number;
1384  char store[LBM_UME_MAX_STORE_STRLEN];
1388  lbm_ushort_t store_index;
1390 
1391 
1399  lbm_uint64_t bytes;
1401 
1402 struct lbm_src_channel_info_t_stct;
1405 typedef struct lbm_src_channel_info_t_stct lbm_src_channel_info_t;
1406 
1408 #define LBM_UMQ_INDEX_FLAG_NUMERIC 0x1
1409 
1420  int flags;
1424  char index[LBM_UMQ_MAX_INDEX_LEN];
1426  size_t index_len;
1428 
1437  int flags;
1439  lbm_uint_t queue_id;
1440  /* The name of the queue */
1441  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
1443 
1444 
1456  int flags;
1458  lbm_uint_t queue_id;
1459  /* The name of the queue */
1460  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
1461  /* The index info. */
1462  lbm_umq_index_info_t index_info;
1464 
1475  int flags;
1477  lbm_uint_t queue_id;
1478  /* The name of the queue */
1479  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
1480  /* The index info. */
1481  lbm_umq_index_info_t index_info;
1483 
1492  int flags;
1494  lbm_uint_t queue_id;
1495  /* The name of the queue */
1496  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
1498 
1499 struct lbm_apphdr_chain_t_stct;
1501 typedef struct lbm_apphdr_chain_t_stct lbm_apphdr_chain_t;
1502 
1511  int flags;
1515 
1519  lbm_uint32_t u32;
1521  lbm_uint64_t u64;
1523 
1525 typedef lbm_uint64_t lbm_umq_regid_t;
1526 
1534 typedef struct lbm_umq_msgid_t_stct {
1536  lbm_umq_regid_t regid;
1538  lbm_uint64_t stamp;
1539 } lbm_umq_msgid_t;
1540 
1547  char appset_name[LBM_UMQ_MAX_APPSET_STRLEN];
1549  lbm_uint32_t *ids;
1551  int num_ids;
1554  /* Reserved field; do not touch. */
1555  void *reserved;
1557 
1565  char topic_name[LBM_UMQ_MAX_TOPIC_STRLEN];
1571  void *reserved;
1573 
1576 typedef struct {
1580  int status;
1582  int flags;
1584 
1586 typedef struct {
1592 
1593 struct lbm_msg_t_stct;
1595 typedef struct lbm_msg_t_stct lbm_msg_t;
1596 
1597 struct lbm_event_queue_t_stct;
1600 typedef struct lbm_event_queue_t_stct lbm_event_queue_t;
1601 
1603 #define LBM_UMQ_QUEUE_MSG_STATUS_UNKNOWN 0
1604 
1605 #define LBM_UMQ_QUEUE_MSG_STATUS_UNASSIGNED 1
1606 
1607 #define LBM_UMQ_QUEUE_MSG_STATUS_ASSIGNED 2
1608 
1609 #define LBM_UMQ_QUEUE_MSG_STATUS_REASSIGNING 3
1610 
1611 #define LBM_UMQ_QUEUE_MSG_STATUS_CONSUMED 4
1612 
1614 typedef struct {
1620  void *clientd;
1622  int status;
1624  int flags;
1626 
1628 typedef struct {
1632  lbm_uint64_t num_msgs;
1634 
1636 typedef struct {
1642 
1644 #define LBM_ASYNC_OP_TYPE_CTX_UMQ_QUEUE_TOPIC_LIST 1
1645 
1646 #define LBM_ASYNC_OP_TYPE_RCV_UMQ_QUEUE_MSG_LIST 2
1647 
1648 #define LBM_ASYNC_OP_TYPE_RCV_UMQ_QUEUE_MSG_RETRIEVE 3
1649 
1651 #define LBM_ASYNC_OP_STATUS_IN_PROGRESS 1
1652 
1653 #define LBM_ASYNC_OP_STATUS_COMPLETE 128
1654 
1655 #define LBM_ASYNC_OP_STATUS_ERROR 129
1656 
1657 #define LBM_ASYNC_OP_STATUS_CANCELED 130
1658 
1660 #define LBM_ASYNC_OP_INVALID_HANDLE 0
1661 
1663 #define LBM_ASYNC_OPERATION_CANCEL_FLAG_NONBLOCK 0x1
1664 
1666 #define LBM_ASYNC_OPERATION_STATUS_FLAG_NONBLOCK 0x1
1667 
1670 typedef lbm_uint64_t lbm_async_operation_handle_t;
1671 
1679 typedef struct {
1681  int type;
1683  int status;
1690  int flags;
1692  lbm_async_operation_handle_t handle;
1694  union {
1695  lbm_ctx_umq_queue_topic_list_info_t *ctx_umq_queue_topic_list;
1696  lbm_rcv_umq_queue_msg_list_info_t *rcv_umq_queue_msg_list;
1697  lbm_rcv_umq_queue_msg_retrieve_info_t *rcv_umq_queue_msg_retrieve;
1698  } info;
1700 
1706  lbm_uint64_t info_flags;
1707  lbm_uint32_t capability_flags;
1708  lbm_uint8_t source_type;
1709  lbm_uint32_t domain_id;
1710  lbm_uint32_t version;
1711  lbm_uint8_t source_id[8];
1713 
1716 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);
1717 
1718 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_TYPE 0x01
1719 
1721 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_LJ 0x00000001
1722 
1723 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_UME 0x00000002
1724 
1725 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_UMQ 0x00000004
1726 
1727 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_ULB 0x00000008
1728 
1729 #define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_EVC 0x00000010 /* Eviction Notice */
1730 
1741  lbm_uint32_t flags;
1742  char topic_string[LBM_MSG_MAX_TOPIC_LEN];
1743  char transport_string[LBM_MSG_MAX_SOURCE_LEN];
1744  lbm_uint32_t topic_index;
1745  lbm_uint32_t source_domain_id;
1746  lbm_uint8_t otid[LBM_OTID_BLOCK_SZ];
1747  lbm_uint32_t source_type;
1749 
1753  lbm_resolver_event_cb_func event_cb_func;
1754  void * clientd;
1756 
1768 typedef void *(*lbm_mem_mgt_malloc_cb_func) (size_t size, void *clientd);
1769 
1782 typedef void *(*lbm_mem_mgt_realloc_cb_func) (void *ptr, size_t size, void *clientd);
1783 
1795 typedef void(*lbm_mem_mgt_free_cb_func) (void *ptr, void *clientd);
1796 
1804  lbm_mem_mgt_malloc_cb_func malloc_cb_func;
1805  lbm_mem_mgt_realloc_cb_func realloc_cb_func;
1806  lbm_mem_mgt_free_cb_func free_cb_func;
1807  void * clientd;
1809 
1810 /* lbm_process_events_info_tinfo flags */
1813 #define LBM_PROC_EVENT_EX_FLAG_USER_TIME 0x0001
1814 
1816 #define LBM_PROC_EVENT_EX_FLAG_NO_MAIN_LOOP_MUTEX 0x0002
1817 
1831  int flags;
1837 
1838 #define LBM_RESOLVER_EVENT_INFO_CAPABILITY_VERSION_FLAG_UME 0x1
1839 #define LBM_RESOLVER_EVENT_INFO_CAPABILITY_VERSION_FLAG_UMQ 0x2
1840 
1841 
1842 #define LBM_RESOLVER_EVENT_INFO_INFO_DOMAIN_ID_PRESENT_FLAG 0x1ULL
1843 #define LBM_RESOLVER_EVENT_INFO_INFO_SOURCE_ID_PRESENT_FLAG 0x2ULL
1844 #define LBM_RESOLVER_EVENT_INFO_INFO_SOURCE_ID_TYPE_PRESENT_FLAG 0x4ULL
1845 #define LBM_RESOLVER_EVENT_INFO_INFO_VERSION_PRESENT_FLAG 0x8ULL
1846 
1847 #define LBMR_RESOLVER_EVENT_INFO_SRC_TYPE_APPLICATION 0
1848 #define LBMR_RESOLVER_EVENT_INFO_SRC_TYPE_TNWGD 1
1849 #define LBMR_RESOLVER_EVENT_INFO_SRC_TYPE_STORE 2
1850 
1851 
1858 typedef int (*lbm_async_operation_function_cb)(lbm_async_operation_info_t *opinfo, void *clientd);
1859 
1862 #define LBM_ASYNC_OP_INFO_FLAG_INLINE 0x1
1863 
1864 #define LBM_ASYNC_OP_INFO_FLAG_FIRST 0x2
1865 
1866 #define LBM_ASYNC_OP_INFO_FLAG_LAST 0x4
1867 
1868 #define LBM_ASYNC_OP_INFO_FLAG_ONLY (LBM_ASYNC_OP_INFO_FLAG_FIRST | LBM_ASYNC_OP_INFO_FLAG_LAST)
1869 
1873 typedef struct {
1879  void *clientd;
1881  int flags;
1883 
1884 struct lbm_msg_properties_t_stct;
1887 typedef struct lbm_msg_properties_t_stct lbm_msg_properties_t;
1888 
1910  int flags;
1937 
1962  int flags;
1974  lbm_int32_t *mprop_int_vals;
1977  lbm_uint32_t channel;
1982 
1993  int flags;
1997  lbm_ushort_t store_index;
2002  char source[LBM_MSG_MAX_SOURCE_LEN];
2004  char store[LBM_UME_MAX_STORE_STRLEN];
2006 
2017  int flags;
2025 
2039  int flags;
2051  char source[LBM_MSG_MAX_SOURCE_LEN];
2053  lbm_uint64_t src_session_id;
2055 
2065  int flags;
2071 
2081  int flags;
2083  lbm_umq_regid_t registration_id;
2085  lbm_uint_t queue_id;
2089  char queue_instance[LBM_UME_MAX_STORE_STRLEN];
2091  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2093 
2104  int flags;
2106  lbm_umq_regid_t registration_id;
2108  lbm_uint_t queue_id;
2110  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2112 
2123  int flags;
2125  lbm_uint_t queue_id;
2127  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2129 
2141  int flags;
2143  lbm_uint_t queue_id;
2145  lbm_uint_t assignment_id;
2147  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2149 
2164  int flags;
2172  lbm_uint_t queue_id;
2178  char queue_instance[LBM_UME_MAX_STORE_STRLEN];
2180  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2182 
2193  int flags;
2195  lbm_uint_t queue_id;
2196  /* The name of the queue */
2197  char queue[LBM_UMQ_MAX_QUEUE_STRLEN];
2199 
2208  int flags;
2210  lbm_umq_regid_t registration_id;
2212  lbm_uint_t assignment_id;
2216  char receiver[LBM_UMQ_ULB_MAX_RECEIVER_STRLEN];
2218 
2227  int flags;
2231  lbm_umq_regid_t registration_id;
2237  lbm_uint_t assignment_id;
2243  char receiver[LBM_UMQ_ULB_MAX_RECEIVER_STRLEN];
2245 
2246 struct sockaddr_in;
2247 struct in_addr;
2248 
2256  void *handle;
2257  void *clientd;
2258  char *buffer;
2259  uint32_t length;
2260  uint64_t timestamp;
2262 
2270 typedef int (*lbm_datagram_acceleration_init_function_t)(uint16_t api_version);
2271 
2281 typedef int (*lbm_datagram_acceleration_open_function_t)(struct in_addr *interface_addr, int flags, void **device_out);
2282 
2290 typedef int (*lbm_datagram_acceleration_close_function_t)(void *device);
2291 
2303 typedef int (*lbm_datagram_acceleration_bind_function_t)(void *device, int flags, int port, void *context, void **handle_out);
2304 
2312 typedef int (*lbm_datagram_acceleration_unbind_function_t)(void *handle);
2313 
2322 typedef int (*lbm_datagram_acceleration_mcast_join_function_t)(void *handle, struct in_addr *mcast_addr);
2323 
2332 typedef int (*lbm_datagram_acceleration_mcast_leave_function_t)(void *handle, struct in_addr *mcast_addr);
2333 
2347 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);
2348 
2360 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);
2361 
2370 
2381 typedef int (*lbm_datagram_acceleration_send_function_t)(void *send_handle, const void *buffer, size_t length, int flags);
2382 
2394 typedef int (*lbm_datagram_acceleration_sendto_function_t)(void *device, struct sockaddr_in *sin, const void *buffer, size_t length, int flags);
2395 
2404 typedef int (*lbm_datagram_acceleration_getaddr_function_t)(void *device, struct sockaddr_in *sin);
2405 
2441 
2450 typedef lbm_ulong_t (*lbm_str_hash_function_cb)(const char *str);
2451 
2462 typedef lbm_ulong_t (*lbm_str_hash_function_cb_ex)(const char *str, size_t strlen, void* clientd);
2463 
2464 
2479 typedef int (*lbm_src_notify_function_cb)(const char *topic_str, const char *src_str, void *clientd);
2480 
2493 typedef int (*lbm_wildcard_rcv_compare_function_cb)(const char *topic_str, void *clientd);
2494 
2508 typedef lbm_uint_t (*lbm_ume_rcv_regid_function_cb)(const char *src_str, lbm_uint_t src_regid, void *clientd);
2509 
2523 
2537 typedef int (*lbm_ume_src_force_reclaim_function_cb)(const char *topic_str, lbm_uint_t seqnum, void *clientd);
2538 
2552 typedef int (*lbm_mim_unrecloss_function_cb)(const char *source_name, lbm_uint_t seqnum, void *clientd);
2553 
2566 
2578 typedef void *(*lbm_rcv_src_notification_create_function_cb)(const char *source_name, void *clientd);
2579 
2592 typedef int (*lbm_rcv_src_notification_delete_function_cb)(const char *source_name, void *clientd, void *source_clientd);
2593 
2604 
2614  void* clientd;
2616 
2627  void *clientd;
2629 
2630 typedef void *(*lbm_rcv_batch_notify_func_start_cb)(void *clientd);
2631 typedef void (*lbm_rcv_batch_notify_func_end_cb)(void *per_batch_clientd, void *clientd);
2633  lbm_rcv_batch_notify_func_start_cb start_notify;
2634  lbm_rcv_batch_notify_func_end_cb end_notify;
2635  void *clientd;
2637 
2646  void *clientd;
2648 
2658  void *clientd;
2660 
2670  void *clientd;
2672 
2682  void *clientd;
2684 
2694  void *clientd;
2696 
2706  void *clientd;
2708 
2717  lbm_uint_t ip_address;
2719  lbm_ushort_t tcp_port;
2721  lbm_ushort_t group_index;
2723  lbm_uint_t registration_id;
2725  lbm_uint32_t domain_id;
2727 
2738  lbm_uint_t resolver_ip;
2741  lbm_ushort_t source_port;
2743  lbm_ushort_t destination_port;
2745 
2754  lbm_uint_t service_ip;
2756  lbm_ushort_t service_port;
2760  lbm_ushort_t source_port;
2762 
2771  lbm_uint_t broker_ip;
2773  lbm_ushort_t broker_port;
2777  lbm_ushort_t source_port;
2779 
2788  char name[LBM_MAX_CONTEXT_NAME_LEN+1];
2790  lbm_ushort_t group_index;
2792  lbm_uint_t registration_id;
2794 
2803  lbm_ushort_t index;
2805  lbm_ushort_t group_size;
2807 
2818  void *clientd;
2820 
2829  lbm_uint64_t regid;
2830  lbm_uint64_t session_id;
2831  int flag;
2833 
2845 typedef void *(*lbm_ume_ctx_rcv_ctx_notification_create_function_cb)(const ume_liveness_receiving_context_t *rcv, void *clientd);
2846 
2858 typedef int (*lbm_ume_ctx_rcv_ctx_notification_delete_function_cb)(const ume_liveness_receiving_context_t *rcv, void *clientd, void *source_clientd);
2859 
2869  void *clientd;
2871 
2880  char name[LBM_UMQ_MAX_QUEUE_STRLEN];
2882  lbm_umq_regid_t regid;
2884 
2894  lbm_ulong_t id;
2898 
2907  lbm_ushort_t index;
2909  union {
2911  int d;
2913  lbm_ulong_t lu;
2914  } value;
2916 
2925  lbm_ulong_t id;
2927  union {
2929  int d;
2931  lbm_ulong_t lu;
2932  } value;
2934 
2935 
2957 typedef int (*lbm_context_src_cb_proc)(lbm_context_t *ctx, int event, void *ed, void *clientd);
2958 
2967  lbm_event_queue_t *evq;
2968  void *clientd;
2970 
2984 typedef int (*lbm_context_event_cb_proc)(lbm_context_t *ctx, int event, void *ed, void *clientd);
2985 
2994  lbm_event_queue_t *evq;
2995  void *clientd;
2997 
3003  char serial_response[32];
3005 
3006 struct lbm_buff_t_stct;
3007 typedef struct lbm_buff_t_stct lbm_buff_t;
3008 
3009 struct lbm_wildcard_rcv_t_stct;
3012 typedef struct lbm_wildcard_rcv_t_stct lbm_wildcard_rcv_t;
3013 
3014 struct lbm_hf_rcv_t_stct;
3017 typedef struct lbm_hf_rcv_t_stct lbm_hf_rcv_t;
3018 
3019 struct lbm_hfx_attr_t_stct;
3021 typedef struct lbm_hfx_attr_t_stct lbm_hfx_attr_t;
3022 
3023 struct lbm_hfx_t_stct;
3025 typedef struct lbm_hfx_t_stct lbm_hfx_t;
3026 
3027 struct lbm_hfx_rcv_t_stct;
3029 typedef struct lbm_hfx_rcv_t_stct lbm_hfx_rcv_t;
3030 
3031 struct lbm_topic_t_stct;
3034 typedef struct lbm_topic_t_stct lbm_topic_t;
3035 
3036 struct lbm_src_t_stct;
3039 typedef struct lbm_src_t_stct lbm_src_t;
3040 
3041 struct lbm_ssrc_t_stct;
3047 typedef struct lbm_ssrc_t_stct lbm_ssrc_t;
3048 
3049 struct lbm_rcv_t_stct;
3052 typedef struct lbm_rcv_t_stct lbm_rcv_t;
3053 
3054 struct lbm_request_t_stct;
3060 typedef struct lbm_request_t_stct lbm_request_t;
3061 
3062 struct lbm_response_t_stct;
3065 typedef struct lbm_response_t_stct lbm_response_t;
3066 
3080  lbm_uint_t offset;
3085 
3094  lbm_uint_t sequence_number;
3097  char source[LBM_MSG_MAX_SOURCE_LEN];
3099 
3111  int flags;
3113  lbm_uint32_t channel_number;
3115 
3116 struct lbm_ume_rcv_ack_t_stct;
3119 typedef struct lbm_ume_rcv_ack_t_stct lbm_ume_rcv_ack_t;
3120 
3128  char source[LBM_MSG_MAX_SOURCE_LEN];
3131  char topic_name[LBM_MSG_MAX_TOPIC_LEN];
3133  char copied_state[LBM_MSG_MAX_STATE_LEN];
3160  int type;
3163  int flags;
3167  const char *data;
3170  size_t len;
3177  lbm_uint_t sequence_number;
3179 #if defined(_WIN32)
3180  LONG refcnt;
3181 #else
3182  long refcnt;
3183 #endif /* _WIN32 */
3184 
3185  size_t apphdr_len;
3187  lbm_ulong_t apphdr_code;
3196  lbm_ushort_t hdrlen;
3198  const lbm_buff_t *buffer;
3201  const void *fragment_info;
3204  const char *apphdr_data;
3207  const void *source_clientd;
3209  const void *umeack;
3211  const void *src_cd;
3213  lbm_uint_t osqn;
3217  const void *umq_msgid;
3219  const void *umq_cr;
3221  const void *pdata;
3223  size_t plen;
3231  const void *broker_msg_state;
3234 };
3235 
3254 typedef int (*lbm_immediate_msg_cb_proc)(lbm_context_t *ctx, lbm_msg_t *msg, void *clientd);
3255 
3276  lbm_event_queue_t *evq;
3277  void *clientd;
3279 
3298  int type;
3300  lbm_uint32_t src_ip;
3302  lbm_ushort_t src_port;
3304  lbm_ushort_t dest_port;
3306  lbm_uint32_t mc_group;
3308  lbm_uint32_t transport_id;
3310  lbm_uint32_t session_id;
3312  lbm_uint32_t topic_idx;
3314  lbm_uint32_t transport_idx;
3316 
3318 #define LBM_SRC_COST_FUNCTION_REJECT 0xffffffff
3319 
3331 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);
3332 
3336 {
3337  lbm_src_cost_function_cb cost_cb;
3338  void *clientd;
3340 
3341 struct lbm_context_attr_t_stct;
3346 typedef struct lbm_context_attr_t_stct lbm_context_attr_t;
3347 
3349 #define LBM_CONFIG_OPTIONS_STR_LEN 128
3351 {
3352  char type[LBM_CONFIG_OPTIONS_STR_LEN];
3353  char oname[LBM_CONFIG_OPTIONS_STR_LEN];
3354  char val[LBM_CONFIG_OPTIONS_STR_LEN];
3356 
3357 struct lbm_src_topic_attr_t_stct;
3360 typedef struct lbm_src_topic_attr_t_stct lbm_src_topic_attr_t;
3361 
3362 struct lbm_rcv_topic_attr_t_stct;
3365 typedef struct lbm_rcv_topic_attr_t_stct lbm_rcv_topic_attr_t;
3366 
3381 typedef int (*lbm_wildcard_rcv_create_function_cb)(const char * topic_str, lbm_rcv_topic_attr_t * attr, void * clientd);
3382 
3392  void *clientd;
3394 
3407 typedef int (*lbm_wildcard_rcv_delete_function_cb)(const char * topic_str, void * clientd);
3408 
3418  void *clientd;
3420 
3421 struct lbm_wildcard_rcv_attr_t_stct;
3424 typedef struct lbm_wildcard_rcv_attr_t_stct lbm_wildcard_rcv_attr_t;
3425 
3438  lbm_ulong_t num_clients;
3442  lbm_ulong_t bytes_buffered;
3444 
3460  lbm_ulong_t msgs_sent;
3463  lbm_ulong_t bytes_sent;
3469  lbm_ulong_t txw_msgs;
3473  lbm_ulong_t txw_bytes;
3477  lbm_ulong_t nak_pckts_rcved;
3484  lbm_ulong_t naks_rcved;
3491  lbm_ulong_t naks_ignored;
3498  lbm_ulong_t naks_shed;
3514  lbm_ulong_t rxs_sent;
3520  lbm_ulong_t rctlr_data_msgs;
3527  lbm_ulong_t rctlr_rx_msgs;
3536  lbm_ulong_t rx_bytes_sent;
3538 
3549  lbm_ulong_t bytes_buffered;
3551 
3567  lbm_ulong_t msgs_sent;
3570  lbm_ulong_t bytes_sent;
3574  lbm_ulong_t nak_pckts_rcved;
3581  lbm_ulong_t naks_rcved;
3588  lbm_ulong_t naks_ignored;
3595  lbm_ulong_t naks_shed;
3611  lbm_ulong_t rxs_sent;
3613  lbm_ulong_t num_clients;
3622  lbm_ulong_t rx_bytes_sent;
3624 
3637  lbm_ulong_t num_clients;
3642  lbm_ulong_t msgs_sent;
3645  lbm_ulong_t bytes_sent;
3647 
3660  lbm_ulong_t num_clients;
3662  lbm_ulong_t msgs_sent;
3665  lbm_ulong_t bytes_sent;
3667 
3680  lbm_ulong_t num_clients;
3685  lbm_ulong_t msgs_sent;
3688  lbm_ulong_t bytes_sent;
3690 
3703  lbm_ulong_t msgs_sent;
3705  lbm_ulong_t bytes_sent;
3707 
3723  int type;
3725  char source[LBM_MSG_MAX_SOURCE_LEN];
3726  union {
3743  } transport;
3744  char _fill[LBM_EXTERNAL_STRUCT_FILL_SIZE];
3746 
3760  lbm_ulong_t bytes_rcved;
3769  lbm_ulong_t lbm_msgs_rcved;
3776  lbm_ulong_t lbm_reqs_rcved;
3778 
3794  lbm_ulong_t msgs_rcved;
3797  lbm_ulong_t bytes_rcved;
3801  lbm_ulong_t nak_pckts_sent;
3814  lbm_ulong_t naks_sent;
3816  lbm_ulong_t lost;
3823  lbm_ulong_t ncfs_ignored;
3829  lbm_ulong_t ncfs_shed;
3837  lbm_ulong_t ncfs_rx_delay;
3843  lbm_ulong_t ncfs_unknown;
3850  lbm_ulong_t nak_stm_min;
3856  lbm_ulong_t nak_stm_mean;
3861  lbm_ulong_t nak_stm_max;
3867  lbm_ulong_t nak_tx_min;
3872  lbm_ulong_t nak_tx_mean;
3878  lbm_ulong_t nak_tx_max;
3883  lbm_ulong_t duplicate_data;
3889  lbm_ulong_t unrecovered_txw;
3899  lbm_ulong_t unrecovered_tmo;
3908  lbm_ulong_t lbm_msgs_rcved;
3915  lbm_ulong_t lbm_reqs_rcved;
3918  lbm_ulong_t dgrams_dropped_size;
3921  lbm_ulong_t dgrams_dropped_type;
3927  lbm_ulong_t dgrams_dropped_hdr;
3937  lbm_ulong_t out_of_order;
3939 
3950  lbm_ulong_t bytes_rcved;
3952 
3968  lbm_ulong_t msgs_rcved;
3971  lbm_ulong_t bytes_rcved;
3975  lbm_ulong_t nak_pckts_sent;
3988  lbm_ulong_t naks_sent;
3990  lbm_ulong_t lost;
3997  lbm_ulong_t ncfs_ignored;
4003  lbm_ulong_t ncfs_shed;
4011  lbm_ulong_t ncfs_rx_delay;
4017  lbm_ulong_t ncfs_unknown;
4024  lbm_ulong_t nak_stm_min;
4030  lbm_ulong_t nak_stm_mean;
4035  lbm_ulong_t nak_stm_max;
4041  lbm_ulong_t nak_tx_min;
4046  lbm_ulong_t nak_tx_mean;
4052  lbm_ulong_t nak_tx_max;
4057  lbm_ulong_t duplicate_data;
4063  lbm_ulong_t unrecovered_txw;
4073  lbm_ulong_t unrecovered_tmo;
4082  lbm_ulong_t lbm_msgs_rcved;
4089  lbm_ulong_t lbm_reqs_rcved;
4092  lbm_ulong_t dgrams_dropped_size;
4095  lbm_ulong_t dgrams_dropped_type;
4101  lbm_ulong_t dgrams_dropped_hdr;
4104  lbm_ulong_t dgrams_dropped_sid;
4110 
4126  lbm_ulong_t msgs_rcved;
4129  lbm_ulong_t bytes_rcved;
4138  lbm_ulong_t lbm_msgs_rcved;
4145  lbm_ulong_t lbm_reqs_rcved;
4147 
4148 
4161  lbm_ulong_t msgs_rcved;
4164  lbm_ulong_t bytes_rcved;
4171  lbm_ulong_t lbm_msgs_rcved;
4178  lbm_ulong_t reserved1;
4180 
4196  lbm_ulong_t msgs_rcved;
4199  lbm_ulong_t bytes_rcved;
4208  lbm_ulong_t lbm_msgs_rcved;
4215  lbm_ulong_t lbm_reqs_rcved;
4217 
4231  lbm_ulong_t msgs_rcved;
4233  lbm_ulong_t bytes_rcved;
4235 
4251  int type;
4253  char source[LBM_MSG_MAX_SOURCE_LEN];
4254  union {
4271  } transport;
4272  char _fill[LBM_EXTERNAL_STRUCT_FILL_SIZE];
4274 
4275 struct lbm_event_queue_attr_t_stct;
4278 typedef struct lbm_event_queue_attr_t_stct lbm_event_queue_attr_t;
4279 
4297  lbm_ulong_t data_msgs;
4301  lbm_ulong_t data_msgs_tot;
4308  lbm_ulong_t data_msgs_svc_min;
4314  lbm_ulong_t data_msgs_svc_mean;
4319  lbm_ulong_t data_msgs_svc_max;
4322  lbm_ulong_t resp_msgs;
4325  lbm_ulong_t resp_msgs_tot;
4332  lbm_ulong_t resp_msgs_svc_min;
4338  lbm_ulong_t resp_msgs_svc_mean;
4343  lbm_ulong_t resp_msgs_svc_max;
4347  lbm_ulong_t topicless_im_msgs;
4374  lbm_ulong_t wrcv_msgs;
4378  lbm_ulong_t wrcv_msgs_tot;
4386  lbm_ulong_t wrcv_msgs_svc_min;
4392  lbm_ulong_t wrcv_msgs_svc_mean;
4398  lbm_ulong_t wrcv_msgs_svc_max;
4401  lbm_ulong_t io_events;
4405  lbm_ulong_t io_events_tot;
4412  lbm_ulong_t io_events_svc_min;
4418  lbm_ulong_t io_events_svc_mean;
4423  lbm_ulong_t io_events_svc_max;
4426  lbm_ulong_t timer_events;
4430  lbm_ulong_t timer_events_tot;
4451  lbm_ulong_t source_events;
4455  lbm_ulong_t source_events_tot;
4476  lbm_ulong_t unblock_events;
4480  lbm_ulong_t unblock_events_tot;
4483  lbm_ulong_t cancel_events;
4487  lbm_ulong_t cancel_events_tot;
4531  lbm_ulong_t events;
4535  lbm_ulong_t events_tot;
4542  lbm_ulong_t age_min;
4547  lbm_ulong_t age_mean;
4552  lbm_ulong_t age_max;
4555  lbm_ulong_t callback_events;
4559  lbm_ulong_t callback_events_tot;
4579 
4598  lbm_ulong_t tr_dgrams_sent;
4602  lbm_ulong_t tr_bytes_sent;
4607  lbm_ulong_t tr_dgrams_rcved;
4611  lbm_ulong_t tr_bytes_rcved;
4626  lbm_ulong_t tr_src_topics;
4629  lbm_ulong_t tr_rcv_topics;
4654  lbm_ulong_t send_blocked;
4658  lbm_ulong_t send_would_block;
4661  lbm_ulong_t resp_blocked;
4666  lbm_ulong_t resp_would_block;
4668  lbm_ulong_t uim_dup_msgs_rcved;
4680  lbm_ulong_t fragments_lost;
4709  lbm_ulong_t rcv_cb_svc_time_min;
4722  lbm_ulong_t rcv_cb_svc_time_max;
4733 
4740  char topic[LBM_MSG_MAX_TOPIC_LEN];
4742  lbm_uint32_t flags;
4744  char source[LBM_MSG_MAX_SOURCE_LEN];
4746  lbm_uint8_t otid[LBM_OTID_BLOCK_SZ];
4748  lbm_uint32_t topic_idx;
4751 #define LBM_RCV_TOPIC_STATS_FLAG_SRC_VALID 0x1
4752 
4759  char pattern[LBM_MSG_MAX_TOPIC_LEN];
4761  lbm_uint8_t type;
4763 
4774 typedef int (*lbm_timer_cb_proc)(lbm_context_t *ctx, const void *clientd);
4775 
4797 typedef int (*lbm_rcv_cb_proc)(lbm_rcv_t *rcv, lbm_msg_t *msg, void *clientd);
4798 
4819 typedef int (*lbm_fd_cb_proc)(lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev, void *clientd);
4820 
4960 typedef int (*lbm_src_cb_proc)(lbm_src_t *src, int event, void *ed, void *clientd);
4961 
5014 typedef int (*lbm_ssrc_cb_proc)(lbm_ssrc_t *ssrc, int event, void *ed, void *clientd);
5015 
5034 typedef int (*lbm_request_cb_proc)(lbm_request_t *req, lbm_msg_t *msg, void *clientd);
5035 
5089 typedef int (*lbm_event_queue_monitor_proc)(lbm_event_queue_t *evq, int event, size_t evq_size,
5090  lbm_ulong_t event_delay_usec, void *clientd);
5091 
5110 typedef int (*lbm_log_cb_proc)(int level, const char *message, void *clientd);
5111 
5126 typedef int (*lbm_daemon_event_cb_proc)(lbm_context_t *ctx, int event, const char *info, void *clientd);
5127 
5151 typedef void (*lbm_event_queue_cancel_cb_proc)(int dispatch_thrd, void *clientd);
5152 
5164  void *clientd;
5166 
5179 typedef int (*lbm_flight_size_set_inflight_cb_proc)(int inflight, void *clientd);
5180 
5194 
5195 /* Functions */
5196 
5201 LBMExpDLL const char *lbm_version(void);
5202 
5210 LBMExpDLL int lbm_context_dump(lbm_context_t *ctx, int *size, lbm_config_option_t *opts);
5211 
5219 LBMExpDLL int lbm_context_attr_dump(lbm_context_attr_t *cattr, int *size, lbm_config_option_t *opts);
5220 
5227 LBMExpDLL int lbm_context_attr_option_size(void);
5228 
5238 LBMExpDLL int lbm_context_attr_create(lbm_context_attr_t * * attr);
5239 
5249 LBMExpDLL int lbm_context_attr_create_default(lbm_context_attr_t * * attr);
5250 
5268 LBMExpDLL int lbm_context_attr_create_from_xml(lbm_context_attr_t * * attr, const char * context_name);
5269 
5283 LBMExpDLL int lbm_context_attr_set_from_xml(lbm_context_attr_t * attr, const char * context_name);
5284 
5292 LBMExpDLL int lbm_context_attr_delete(lbm_context_attr_t *attr);
5293 
5304 LBMExpDLL int lbm_context_attr_dup(lbm_context_attr_t * * attr, const lbm_context_attr_t * original);
5305 
5318 LBMExpDLL int lbm_context_attr_setopt(lbm_context_attr_t *attr, const char *optname,
5319  const void *optval, size_t optlen);
5320 
5332 LBMExpDLL int lbm_context_attr_str_setopt(lbm_context_attr_t *attr, const char *optname,
5333  const char *optval);
5334 
5345 LBMExpDLL int lbm_context_attr_getopt(lbm_context_attr_t *attr, const char *optname,
5346  void *optval, size_t *optlen);
5347 
5357 LBMExpDLL int lbm_context_attr_str_getopt(lbm_context_attr_t *attr, const char *optname,
5358  char *optval, size_t *optlen);
5359 
5381 LBMExpDLL int lbm_context_create(lbm_context_t **ctxp, const lbm_context_attr_t *attr,
5382  lbm_daemon_event_cb_proc proc, void *clientd);
5383 
5400 LBMExpDLL int lbm_context_reactor_only_create(lbm_context_t **ctxp, const lbm_context_attr_t *attr);
5401 
5407 LBMExpDLL int lbm_context_delete(lbm_context_t *ctx);
5408 
5420 
5449 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);
5450 
5476 LBMExpDLL int lbm_context_setopt(lbm_context_t *ctx, const char *optname, const void *optval, size_t optlen);
5477 
5502 LBMExpDLL int lbm_context_str_setopt(lbm_context_t *ctx, const char *optname, const char *optval);
5503 
5514 LBMExpDLL int lbm_context_getopt(lbm_context_t *ctx, const char *optname, void *optval, size_t *optlen);
5515 
5525 LBMExpDLL int lbm_context_str_getopt(lbm_context_t *ctx, const char *optname, char *optval, size_t *optlen);
5526 
5542 LBMExpDLL int lbm_context_rcv_immediate_msgs(lbm_context_t *ctx, lbm_immediate_msg_cb_proc proc, void *clientd,
5543  lbm_event_queue_t *evq);
5544 
5561 LBMExpDLL int lbm_context_rcv_immediate_topic_msgs(lbm_context_t *ctx, lbm_immediate_msg_cb_proc proc, void *clientd,
5562  lbm_event_queue_t *evq);
5563 
5570 LBMExpDLL int lbm_context_set_name(lbm_context_t *ctx, const char *name);
5571 
5578 LBMExpDLL int lbm_context_get_name(lbm_context_t *ctx, char *name, size_t *size);
5579 
5588 LBMExpDLL int lbm_license_file(const char *licfile);
5589 
5598 LBMExpDLL int lbm_license_str(const char *licstr);
5599 
5607 LBMExpDLL int lbm_license_ummnm_valid(void);
5608 
5616 LBMExpDLL int lbm_license_vds_valid(void);
5617 
5627 LBMExpDLL int lbm_config(const char *fname);
5628 
5644 LBMExpDLL int lbm_config_xml_file(const char *url, const char *application_name);
5645 
5660 LBMExpDLL int lbm_config_xml_string(const char *xml_data, const char *application_name);
5661 
5668 LBMExpDLL int lbm_log(lbm_log_cb_proc proc, void *clientd);
5669 
5676 LBMExpDLL void lbm_logf(int level, const char * format, ...);
5677 
5682 LBMExpDLL const char *lbm_errmsg(void);
5683 
5687 LBMExpDLL int lbm_errnum(void);
5688 
5689 #if defined(_WIN32) || defined(DOXYGEN)
5690 
5699 LBMExpDLL int lbm_win32_static_thread_attach(void);
5700 
5710 LBMExpDLL int lbm_win32_static_thread_detach(void);
5711 #endif /* _WIN32 */
5712 
5735 LBMExpDLL int lbm_schedule_timer(lbm_context_t *ctx,
5736  lbm_timer_cb_proc proc, void *clientd,
5737  lbm_event_queue_t *evq, lbm_ulong_t delay);
5738 
5757 LBMExpDLL int lbm_schedule_timer_recurring(lbm_context_t *ctx,
5758  lbm_timer_cb_proc proc, void *clientd,
5759  lbm_event_queue_t *evq, lbm_ulong_t delay);
5760 
5781 LBMExpDLL int lbm_cancel_timer(lbm_context_t *ctx, int id, void **clientdp);
5782 
5804 LBMExpDLL int lbm_cancel_timer_ex(lbm_context_t *ctx, int id, void **clientdp,
5806 
5828 LBMExpDLL int lbm_context_process_events(lbm_context_t *ctx, lbm_ulong_t msec);
5829 
5854 LBMExpDLL int lbm_context_process_events_ex(lbm_context_t *ctx, lbm_ulong_t msec, lbm_process_events_info_t *info);
5855 
5869 LBMExpDLL int lbm_context_unblock(lbm_context_t *ctx);
5870 
5892 LBMExpDLL int lbm_context_process_lbtipc_messages(lbm_context_t *ctx, lbm_ulong_t msec, lbm_ulong_t loop_count);
5893 
5904 LBMExpDLL int lbm_context_lbtipc_unblock(lbm_context_t *ctx);
5905 
5933 LBMExpDLL int lbm_register_fd(lbm_context_t *ctx, lbm_handle_t handle, lbm_fd_cb_proc proc,
5934  void *clientd, lbm_event_queue_t *evq, lbm_ulong_t ev);
5935 
5959 LBMExpDLL int lbm_cancel_fd(lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev);
5960 
5976 LBMExpDLL int lbm_cancel_fd_ex(lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev,
5978 
5986 LBMExpDLL int lbm_src_topic_dump(lbm_src_t *src, int *size, lbm_config_option_t *opts);
5987 
5999 LBMExpDLL int lbm_ssrc_topic_dump(lbm_ssrc_t *ssrc, int *size, lbm_config_option_t *opts);
6000 
6008 LBMExpDLL int lbm_src_topic_attr_dump(lbm_src_topic_attr_t *sattr, int *size, lbm_config_option_t *opts);
6009 
6016 LBMExpDLL int lbm_src_topic_attr_option_size(void);
6017 
6028 LBMExpDLL int lbm_src_topic_alloc(lbm_topic_t **topicp, lbm_context_t *ctx,
6029  const char *symbol, const lbm_src_topic_attr_t *attr);
6030 
6041 LBMExpDLL int lbm_src_topic_attr_create(lbm_src_topic_attr_t * * attr);
6042 
6053 
6073 LBMExpDLL int lbm_src_topic_attr_create_from_xml(lbm_src_topic_attr_t * * attr, const char * context_name, const char * topicname);
6074 
6090 LBMExpDLL int lbm_src_topic_attr_set_from_xml(lbm_src_topic_attr_t * attr, const char * context_name, const char * topicname);
6091 
6099 LBMExpDLL int lbm_src_topic_attr_delete(lbm_src_topic_attr_t *attr);
6100 
6111 LBMExpDLL int lbm_src_topic_attr_dup(lbm_src_topic_attr_t * * attr, const lbm_src_topic_attr_t * original);
6112 
6125 LBMExpDLL int lbm_src_topic_attr_setopt(lbm_src_topic_attr_t *attr, const char *optname,
6126  const void *optval, size_t optlen);
6127 
6139 LBMExpDLL int lbm_src_topic_attr_str_setopt(lbm_src_topic_attr_t *attr, const char *optname,
6140  const char *optval);
6141 
6151 LBMExpDLL int lbm_src_topic_attr_getopt(lbm_src_topic_attr_t *attr, const char *optname,
6152  void *optval, size_t *optlen);
6153 
6162 LBMExpDLL int lbm_src_topic_attr_str_getopt(lbm_src_topic_attr_t *attr, const char *optname,
6163  char *optval, size_t *optlen);
6164 
6180 LBMExpDLL int lbm_rcv_topic_lookup(lbm_topic_t **topicp, lbm_context_t *ctx,
6181  const char *symbol, const lbm_rcv_topic_attr_t *attr);
6182 
6190 LBMExpDLL int lbm_rcv_topic_dump(lbm_rcv_t *rcv, int *size, lbm_config_option_t *opts);
6191 
6199 LBMExpDLL int lbm_rcv_topic_attr_dump(lbm_rcv_topic_attr_t *rattr, int *size, lbm_config_option_t *opts);
6200 
6207 LBMExpDLL int lbm_rcv_topic_attr_option_size(void);
6208 
6219 LBMExpDLL int lbm_rcv_topic_attr_create(lbm_rcv_topic_attr_t * * attr);
6220 
6231 
6251 LBMExpDLL int lbm_rcv_topic_attr_create_from_xml(lbm_rcv_topic_attr_t * * attr, const char * context_name, const char * topicname);
6252 
6268 LBMExpDLL int lbm_rcv_topic_attr_set_from_xml(lbm_rcv_topic_attr_t * attr, const char * context_name, const char * topicname);
6269 
6277 LBMExpDLL int lbm_rcv_topic_attr_delete(lbm_rcv_topic_attr_t *attr);
6278 
6288 LBMExpDLL int lbm_rcv_topic_attr_dup(lbm_rcv_topic_attr_t * * attr, const lbm_rcv_topic_attr_t * original);
6289 
6302 LBMExpDLL int lbm_rcv_topic_attr_setopt(lbm_rcv_topic_attr_t *attr, const char *optname,
6303  const void *optval, size_t optlen);
6304 
6316 LBMExpDLL int lbm_rcv_topic_attr_str_setopt(lbm_rcv_topic_attr_t *attr, const char *optname,
6317  const char *optval);
6318 
6329 LBMExpDLL int lbm_rcv_topic_attr_getopt(lbm_rcv_topic_attr_t *attr, const char *optname,
6330  void *optval, size_t *optlen);
6331 
6341 LBMExpDLL int lbm_rcv_topic_attr_str_getopt(lbm_rcv_topic_attr_t *attr, const char *optname,
6342  char *optval, size_t *optlen);
6343 
6353 LBMExpDLL int lbm_src_channel_create(lbm_src_channel_info_t **chnp, lbm_src_t *src, lbm_uint32_t channel_num);
6354 
6361 
6377 LBMExpDLL int lbm_src_create(lbm_src_t **srcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_src_cb_proc proc,
6378  void *clientd, lbm_event_queue_t *evq);
6379 
6400 LBMExpDLL int lbm_ssrc_create(lbm_ssrc_t **ssrcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_ssrc_cb_proc proc,
6401  void *clientd, lbm_event_queue_t *evq);
6402 
6410 LBMExpDLL int lbm_event_queue_dump(lbm_event_queue_t *evq, int *size, lbm_config_option_t *opts);
6411 
6419 LBMExpDLL int lbm_event_queue_attr_dump(lbm_event_queue_attr_t *eattr, int *size, lbm_config_option_t *opts);
6420 
6427 LBMExpDLL int lbm_event_queue_attr_option_size(void);
6428 
6446 LBMExpDLL int lbm_rcv_create(lbm_rcv_t **rcvp, lbm_context_t *ctx, lbm_topic_t *topic,
6447  lbm_rcv_cb_proc proc, void *clientd, lbm_event_queue_t *evq);
6448 
6464 LBMExpDLL int lbm_rcv_subscribe_channel(lbm_rcv_t *rcv, lbm_uint32_t channel, lbm_rcv_cb_proc proc, void *clientd);
6465 
6474 LBMExpDLL int lbm_rcv_unsubscribe_channel(lbm_rcv_t *rcv, lbm_uint32_t channel);
6475 
6486 LBMExpDLL int lbm_rcv_unsubscribe_channel_ex(lbm_rcv_t *rcv, lbm_uint32_t channel, lbm_event_queue_cancel_cb_info_t *cbinfo);
6487 
6503 LBMExpDLL int lbm_wildcard_rcv_subscribe_channel(lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel, lbm_rcv_cb_proc proc, void *clientd);
6504 
6513 LBMExpDLL int lbm_wildcard_rcv_unsubscribe_channel(lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel);
6514 
6525 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);
6526 
6538 LBMExpDLL int lbm_src_delete(lbm_src_t *src);
6539 
6553 LBMExpDLL int lbm_ssrc_delete(lbm_ssrc_t *ssrc);
6554 
6571 LBMExpDLL int lbm_src_delete_ex(lbm_src_t *src, lbm_event_queue_cancel_cb_info_t *cbinfo);
6572 
6586 LBMExpDLL int lbm_ssrc_get_available_data_space(lbm_ssrc_t *ssrc, int *length);
6587 
6593 LBMExpDLL lbm_context_t * lbm_context_from_src(lbm_src_t * src);
6594 
6600 LBMExpDLL lbm_topic_t * lbm_topic_from_src(lbm_src_t * src);
6601 
6608 
6621 LBMExpDLL int lbm_rcv_delete(lbm_rcv_t *rcv);
6622 
6636 LBMExpDLL int lbm_rcv_delete_ex(lbm_rcv_t *rcv, lbm_event_queue_cancel_cb_info_t *cbinfo);
6637 
6643 LBMExpDLL lbm_context_t * lbm_context_from_rcv(lbm_rcv_t * rcv);
6644 
6651 
6677 LBMExpDLL int lbm_src_setopt(lbm_src_t *src, const char *optname, const void *optval, size_t optlen);
6678 
6703 LBMExpDLL int lbm_src_str_setopt(lbm_src_t *src, const char *optname, const char *optval);
6704 
6715 LBMExpDLL int lbm_src_getopt(lbm_src_t *src, const char *optname, void *optval, size_t *optlen);
6716 
6726 LBMExpDLL int lbm_src_str_getopt(lbm_src_t *src, const char *optname, char *optval, size_t *optlen);
6727 
6754 LBMExpDLL int lbm_rcv_setopt(lbm_rcv_t *rcv, const char *optname, const void *optval, size_t optlen);
6755 
6780 LBMExpDLL int lbm_rcv_str_setopt(lbm_rcv_t *rcv, const char *optname, const char *optval);
6781 
6792 LBMExpDLL int lbm_rcv_getopt(lbm_rcv_t *rcv, const char *optname, void *optval, size_t *optlen);
6793 
6803 LBMExpDLL int lbm_rcv_str_getopt(lbm_rcv_t *rcv, const char *optname, char *optval, size_t *optlen);
6804 
6805 /* Send Routines */
6806 
6837 LBMExpDLL int lbm_src_send(lbm_src_t *src, const char *msg, size_t len, int flags);
6838 
6864 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);
6865 
6885 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);
6886 
6897 LBMExpDLL int lbm_src_flush(lbm_src_t *src);
6898 
6910 LBMExpDLL int lbm_flush_all(lbm_context_t *ctx);
6911 
6941 LBMExpDLL int lbm_src_sendv(lbm_src_t *src, const lbm_iovec_t *iov, int num, int flags);
6942 
6971 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);
6972 
6980 LBMExpDLL int lbm_rcv_msg_source_clientd(lbm_rcv_t *rcv, const char *source, void *source_clientd);
6981 
6995 
7012 
7018 LBMExpDLL int lbm_src_reset_transport_stats(lbm_src_t *src);
7019 
7028 LBMExpDLL int lbm_ssrc_reset_transport_stats(lbm_ssrc_t *ssrc);
7029 
7043 LBMExpDLL int lbm_rcv_retrieve_transport_stats(lbm_rcv_t *rcv, const char *source, lbm_rcv_transport_stats_t *stats);
7044 
7051 LBMExpDLL int lbm_rcv_reset_transport_stats(lbm_rcv_t *rcv, const char *source);
7052 
7076 LBMExpDLL int lbm_rcv_retrieve_all_transport_stats(lbm_rcv_t *rcv, int *num, lbm_rcv_transport_stats_t *stats);
7077 
7099 LBMExpDLL int lbm_rcv_retrieve_all_transport_stats_ex(lbm_rcv_t *rcv, int *num, int size, lbm_rcv_transport_stats_t *stats);
7100 
7101 #ifndef LBM_INTERNAL_USE_ONLY
7102 #define lbm_rcv_retrieve_all_transport_stats(r,n,s) \
7103  lbm_rcv_retrieve_all_transport_stats_ex(r,n,sizeof(lbm_rcv_transport_stats_t),s)
7104 #endif
7105 
7111 LBMExpDLL int lbm_rcv_reset_all_transport_stats(lbm_rcv_t *rcv);
7112 
7137 
7159 LBMExpDLL int lbm_context_retrieve_rcv_transport_stats_ex(lbm_context_t *ctx, int *num, int size, lbm_rcv_transport_stats_t *stats);
7160 
7161 #ifndef LBM_INTERNAL_USE_ONLY
7162 #define lbm_context_retrieve_rcv_transport_stats(c,n,s) \
7163  lbm_context_retrieve_rcv_transport_stats_ex(c,n,sizeof(lbm_rcv_transport_stats_t),s)
7164 #endif
7165 
7172 
7197 
7219 LBMExpDLL int lbm_context_retrieve_src_transport_stats_ex(lbm_context_t *ctx, int *num, int size, lbm_src_transport_stats_t *stats);
7220 
7221 #ifndef LBM_INTERNAL_USE_ONLY
7222 #define lbm_context_retrieve_src_transport_stats(c,n,s) \
7223  lbm_context_retrieve_src_transport_stats_ex(c,n,sizeof(lbm_src_transport_stats_t),s)
7224 #endif
7225 
7232 
7246 
7253 
7267 
7273 LBMExpDLL int lbm_context_reset_stats(lbm_context_t *ctx);
7274 
7295 LBMExpDLL int lbm_context_retrieve_im_src_transport_stats(lbm_context_t *ctx, int *num, int size, lbm_src_transport_stats_t *stats);
7296 
7303 
7324 LBMExpDLL int lbm_context_retrieve_im_rcv_transport_stats(lbm_context_t *ctx, int *num, int size, lbm_rcv_transport_stats_t *stats);
7325 
7332 
7345 LBMExpDLL int lbm_msg_retain(lbm_msg_t *msg);
7346 
7352 LBMExpDLL int lbm_msg_is_fragment(lbm_msg_t *msg);
7353 
7361 
7371 
7378 LBMExpDLL int lbm_msg_retrieve_msgid(lbm_msg_t *msg, lbm_umq_msgid_t *id);
7379 
7386 LBMExpDLL int lbm_msg_retrieve_umq_index(lbm_msg_t *msg, lbm_umq_index_info_t *info);
7387 
7388 LBMExpDLL int lbm_msg_retrieve_delivery_latency(lbm_msg_t *msg, lbm_int64_t *latency_nsecs);
7389 
7404 LBMExpDLL int lbm_msg_delete(lbm_msg_t *msg);
7405 
7414 LBMExpDLL int lbm_msg_ume_send_explicit_ack(lbm_msg_t *msg);
7415 
7421 LBMExpDLL int lbm_msg_ume_can_send_explicit_ack(lbm_msg_t *msg);
7422 
7432 LBMExpDLL int lbm_src_ume_deregister(lbm_src_t *src);
7433 
7446 LBMExpDLL int lbm_ssrc_ume_deregister(lbm_ssrc_t *ssrc);
7447 
7456 LBMExpDLL int lbm_rcv_ume_deregister(lbm_rcv_t *rcv);
7457 
7466 LBMExpDLL int lbm_wrcv_ume_deregister(lbm_wildcard_rcv_t *wrcv);
7467 
7475 LBMExpDLL int lbm_msg_umq_reassign(lbm_msg_t *msg, int flags);
7476 
7484 LBMExpDLL int lbm_rcv_umq_deregister(lbm_rcv_t *rcv, const char *queue_name);
7485 
7496 LBMExpDLL int lbm_rcv_umq_index_stop_assignment(lbm_rcv_t *rcv, const char *queue_name);
7497 
7504 LBMExpDLL int lbm_rcv_umq_index_start_assignment(lbm_rcv_t *rcv, const char *queue_name);
7505 
7518 LBMExpDLL int lbm_rcv_umq_index_reserve(lbm_rcv_t *rcv, const char *queue_name, lbm_umq_index_info_t *index_info);
7519 
7529 LBMExpDLL int lbm_rcv_umq_index_release(lbm_rcv_t *rcv, const char *queue_name, lbm_umq_index_info_t *index_info);
7530 
7541 LBMExpDLL int lbm_wildcard_rcv_umq_index_stop_assignment(lbm_wildcard_rcv_t *wrcv, const char *queue_name);
7542 
7549 LBMExpDLL int lbm_wildcard_rcv_umq_index_start_assignment(lbm_wildcard_rcv_t *wrcv, const char *queue_name);
7550 
7560 LBMExpDLL int lbm_wildcard_rcv_umq_index_release(lbm_wildcard_rcv_t *wrcv, const char *queue_name, lbm_umq_index_info_t *index_info);
7561 
7568 LBMExpDLL int lbm_wildcard_rcv_umq_deregister(lbm_wildcard_rcv_t *wrcv, const char *queue_name);
7569 
7588 LBMExpDLL int lbm_send_response(lbm_response_t *resp, const char *data, size_t len, int flags);
7589 
7605 LBMExpDLL int lbm_response_delete(lbm_response_t *resp);
7606 
7607 
7617 LBMExpDLL int lbm_serialized_response_delete(lbm_serialized_response_t* serialized_response);
7618 
7619 
7630 
7647 
7676 LBMExpDLL int lbm_send_request(lbm_request_t **reqp, lbm_src_t *src, const char *data,
7677  size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq,
7678  int send_flags);
7679 
7709 LBMExpDLL int lbm_send_request_ex(lbm_request_t **reqp, lbm_src_t *src, const char *data,
7710  size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq,
7711  int send_flags, lbm_src_send_ex_info_t *exinfo);
7712 
7728 LBMExpDLL int lbm_request_delete(lbm_request_t *req);
7729 
7747 
7760  void *clientd, const lbm_event_queue_attr_t *attr);
7761 
7771 LBMExpDLL int lbm_event_queue_attr_create(lbm_event_queue_attr_t * * attr);
7772 
7783 
7801 LBMExpDLL int lbm_event_queue_attr_create_from_xml(lbm_event_queue_attr_t * * attr, const char * event_queue_name);
7802 
7816 LBMExpDLL int lbm_event_queue_attr_set_from_xml(lbm_event_queue_attr_t * attr, const char * event_queue_name);
7817 
7826 
7837 LBMExpDLL int lbm_event_queue_attr_dup(lbm_event_queue_attr_t * * attr, const lbm_event_queue_attr_t * original);
7838 
7851 LBMExpDLL int lbm_event_queue_attr_setopt(lbm_event_queue_attr_t *attr, const char *optname,
7852  const void *optval, size_t optlen);
7853 
7865 LBMExpDLL int lbm_event_queue_attr_str_setopt(lbm_event_queue_attr_t *attr, const char *optname,
7866  const char *optval);
7867 
7877 LBMExpDLL int lbm_event_queue_attr_getopt(lbm_event_queue_attr_t *attr, const char *optname,
7878  void *optval, size_t *optlen);
7879 
7889 LBMExpDLL int lbm_event_queue_attr_str_getopt(lbm_event_queue_attr_t *attr, const char *optname,
7890  char *optval, size_t *optlen);
7891 
7917 LBMExpDLL int lbm_event_queue_setopt(lbm_event_queue_t *evq, const char *optname, const void *optval, size_t optlen);
7918 
7943 LBMExpDLL int lbm_event_queue_str_setopt(lbm_event_queue_t *evq, const char *optname, const char *optval);
7944 
7955 LBMExpDLL int lbm_event_queue_getopt(lbm_event_queue_t *evq, const char *optname, void *optval, size_t *optlen);
7956 
7966 LBMExpDLL int lbm_event_queue_str_getopt(lbm_event_queue_t *evq, const char *optname, char *optval, size_t *optlen);
7967 
7980 LBMExpDLL int lbm_event_dispatch(lbm_event_queue_t *evq, lbm_ulong_t tmo);
7981 
7991 LBMExpDLL int lbm_event_dispatch_unblock(lbm_event_queue_t *evq);
7992 
8001 LBMExpDLL int lbm_event_queue_size(lbm_event_queue_t *evq);
8002 
8009 LBMExpDLL int lbm_event_queue_shutdown(lbm_event_queue_t *evq);
8010 
8018 LBMExpDLL int lbm_event_queue_delete(lbm_event_queue_t *evq);
8019 
8065 LBMExpDLL int lbm_unicast_immediate_message(lbm_context_t *ctx, const char *target, const char *topic,
8066  const char *data, size_t len, int flags);
8067 
8111 LBMExpDLL int lbm_unicast_immediate_request(lbm_request_t **reqp, lbm_context_t *ctx, const char *target,
8112  const char *topic, const char *data, size_t len,
8113  lbm_request_cb_proc proc, void *clientd,
8114  lbm_event_queue_t *evq, int flags);
8115 
8138 LBMExpDLL int lbm_queue_immediate_message(lbm_context_t *ctx, const char *qname, const char *topic, const char *data,
8139  size_t len, int flags, lbm_src_send_ex_info_t *info);
8140 
8171 LBMExpDLL int lbm_multicast_immediate_message(lbm_context_t *ctx, const char *topic,
8172  const char *data, size_t len, int flags);
8173 
8202  const char *topic, const char *data,
8203  size_t len, lbm_request_cb_proc proc,
8204  void *clientd, lbm_event_queue_t *evq,
8205  int flags);
8206 
8214 LBMExpDLL int lbm_wildcard_rcv_dump(lbm_wildcard_rcv_t *wrcv, int *size, lbm_config_option_t *opts);
8215 
8223 LBMExpDLL int lbm_wildcard_rcv_attr_dump(lbm_wildcard_rcv_attr_t *wattr, int *size, lbm_config_option_t *opts);
8224 
8231 LBMExpDLL int lbm_wildcard_rcv_attr_option_size(void);
8232 
8233 
8244 
8255 
8276 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);
8277 
8294 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);
8295 
8304 
8315 LBMExpDLL int lbm_wildcard_rcv_attr_dup(lbm_wildcard_rcv_attr_t * * attr, const lbm_wildcard_rcv_attr_t * original);
8316 
8329 LBMExpDLL int lbm_wildcard_rcv_attr_setopt(lbm_wildcard_rcv_attr_t *attr, const char *optname,
8330  const void *optval, size_t optlen);
8331 
8343 LBMExpDLL int lbm_wildcard_rcv_attr_str_setopt(lbm_wildcard_rcv_attr_t *attr, const char *optname,
8344  const char *optval);
8345 
8355 LBMExpDLL int lbm_wildcard_rcv_attr_getopt(lbm_wildcard_rcv_attr_t *attr, const char *optname,
8356  void *optval, size_t *optlen);
8357 
8367 LBMExpDLL int lbm_wildcard_rcv_attr_str_getopt(lbm_wildcard_rcv_attr_t *attr, const char *optname,
8368  char *optval, size_t *optlen);
8369 
8395 LBMExpDLL int lbm_wildcard_rcv_setopt(lbm_wildcard_rcv_t *wrcv, const char *optname, const void *optval, size_t optlen);
8396 
8421 LBMExpDLL int lbm_wildcard_rcv_str_setopt(lbm_wildcard_rcv_t *wrcv, const char *optname, const char *optval);
8422 
8433 LBMExpDLL int lbm_wildcard_rcv_getopt(lbm_wildcard_rcv_t *wrcv, const char *optname, void *optval, size_t *optlen);
8434 
8444 LBMExpDLL int lbm_wildcard_rcv_str_getopt(lbm_wildcard_rcv_t *wrcv, const char *optname, char *optval, size_t *optlen);
8445 
8469 LBMExpDLL int lbm_wildcard_rcv_create(lbm_wildcard_rcv_t **wrcvp, lbm_context_t *ctx, const char *pattern,
8470  const lbm_rcv_topic_attr_t *tattr, const lbm_wildcard_rcv_attr_t *wattr,
8471  lbm_rcv_cb_proc proc, void *clientd, lbm_event_queue_t *evq);
8472 
8485 LBMExpDLL int lbm_wildcard_rcv_delete(lbm_wildcard_rcv_t *wrcv);
8486 
8502 
8510 
8518 
8536 LBMExpDLL int lbm_hf_src_create(lbm_src_t **srcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_src_cb_proc proc,
8537  void *clientd, lbm_event_queue_t *evq);
8538 
8567 LBMExpDLL int lbm_hf_src_send(lbm_src_t *src, const char *msg, size_t len, lbm_uint_t sqn, int flags);
8568 
8598 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);
8599 
8632 LBMExpDLL int lbm_hf_src_sendv(lbm_src_t *src, const lbm_iovec_t *iov, int num, lbm_uint_t sqn, int flags);
8633 
8641 LBMExpDLL int lbm_hf_rcv_topic_dump(lbm_hf_rcv_t *hfrcv,
8642  int *size,
8643  lbm_config_option_t *opts);
8644 
8679 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);
8680 
8714 LBMExpDLL int lbm_hf_src_send_rcv_reset(lbm_src_t * src, int flags, lbm_src_send_ex_info_t * exinfo);
8715 
8732 LBMExpDLL int lbm_hf_rcv_create(lbm_hf_rcv_t **hfrcvp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_rcv_cb_proc proc,
8733  void *clientd, lbm_event_queue_t *evq);
8734 
8747 LBMExpDLL int lbm_hf_rcv_delete(lbm_hf_rcv_t *hfrcv);
8748 
8763 
8769 LBMExpDLL lbm_hf_rcv_t *lbm_hf_rcv_from_rcv(lbm_rcv_t *rcv);
8770 
8776 LBMExpDLL lbm_rcv_t *lbm_rcv_from_hf_rcv(lbm_hf_rcv_t *hfrcv);
8777 
8778 
8786 LBMExpDLL int lbm_hfx_dump(lbm_hfx_t *hfx, int *size, lbm_config_option_t *opts);
8787 
8795 LBMExpDLL int lbm_hfx_attr_dump(lbm_hfx_attr_t *attr, int *size, lbm_config_option_t *opts);
8796 
8801 LBMExpDLL int lbm_hfx_attr_option_size(void);
8802 
8813 LBMExpDLL int lbm_hfx_attr_create(lbm_hfx_attr_t **attr);
8814 
8815 
8832 LBMExpDLL int lbm_hfx_attr_create_from_xml(lbm_hfx_attr_t * * attr, const char * topicname);
8833 
8846 LBMExpDLL int lbm_hfx_attr_set_from_xml(lbm_hfx_attr_t * attr, const char * topicname);
8847 
8855 LBMExpDLL int lbm_hfx_attr_delete(lbm_hfx_attr_t *attr);
8856 
8857 
8858 
8871 LBMExpDLL int lbm_hfx_attr_setopt(lbm_hfx_attr_t *attr, const char *optname,
8872  const void *optval, size_t optlen);
8873 
8885 LBMExpDLL int lbm_hfx_attr_str_setopt(lbm_hfx_attr_t *attr, const char *optname,
8886  const char *optval);
8887 
8898 LBMExpDLL int lbm_hfx_attr_getopt(lbm_hfx_attr_t *attr, const char *optname,
8899  void *optval, size_t *optlen);
8900 
8910 LBMExpDLL int lbm_hfx_attr_str_getopt(lbm_hfx_attr_t *attr, const char *optname,
8911  char *optval, size_t *optlen);
8912 
8936 LBMExpDLL int lbm_hfx_setopt(lbm_hfx_t *hfx, const char *optname, const void *optval, size_t optlen);
8937 
8960 LBMExpDLL int lbm_hfx_str_setopt(lbm_hfx_t *hfx, const char *optname, const char *optval);
8961 
8972 LBMExpDLL int lbm_hfx_getopt(lbm_hfx_t *hfx, const char *optname, void *optval, size_t *optlen);
8973 
8983 LBMExpDLL int lbm_hfx_str_getopt(lbm_hfx_t *hfx, const char *optname, char *optval, size_t *optlen);
8984 
8999 LBMExpDLL int lbm_hfx_create(lbm_hfx_t **hfxp,
9000  lbm_hfx_attr_t *cattr,
9001  const char *symbol,
9002  lbm_rcv_cb_proc proc,
9003  lbm_event_queue_t *evq);
9004 
9010 LBMExpDLL int lbm_hfx_delete(lbm_hfx_t *hfx);
9011 
9027 LBMExpDLL int lbm_hfx_delete_ex(lbm_hfx_t *hfx, lbm_event_queue_cancel_cb_info_t *cbinfo);
9028 
9036 LBMExpDLL int lbm_hfx_rcv_topic_dump(lbm_hfx_rcv_t *hfxrcv,
9037  int *size,
9038  lbm_config_option_t *opts);
9039 
9050 LBMExpDLL int lbm_hfx_rcv_create(lbm_hfx_rcv_t **hfrcvp,
9051  lbm_hfx_t *hfx,
9052  lbm_context_t *ctx,
9053  lbm_rcv_topic_attr_t *rattr,
9054  void *clientd);
9055 
9059 LBMExpDLL lbm_rcv_t *lbm_rcv_from_hfx_rcv(lbm_hfx_rcv_t *hfxrcv);
9060 
9066 LBMExpDLL int lbm_hfx_rcv_delete(lbm_hfx_rcv_t *hfrcv);
9067 
9088 
9094 LBMExpDLL void lbm_debug_filename(const char *filename);
9095 
9101 LBMExpDLL void lbm_debug_mask(lbm_uint64_t mask);
9102 
9107 LBMExpDLL void lbm_debugfile_maxsize(lbm_uint64_t size);
9108 
9112 LBMExpDLL void lbm_debug_noflush(int on);
9113 
9120 LBMExpDLL void lbm_log_debug(int on);
9121 
9127 LBMExpDLL int lbm_debug_dump(const char *filename, int append);
9128 
9135 LBMExpDLL void lbm_set_uim_loss_rate(int rate);
9136 
9143 LBMExpDLL void lbm_set_lbtrm_loss_rate(int rate);
9144 
9151 LBMExpDLL void lbm_set_lbtrm_src_loss_rate(int rate);
9152 
9159 LBMExpDLL void lbm_set_lbtru_loss_rate(int rate);
9160 
9167 LBMExpDLL void lbm_set_lbtru_src_loss_rate(int rate);
9168 
9179 LBMExpDLL int lbm_transport_source_parse(const char *source, lbm_transport_source_info_t *info, size_t infosize);
9180 
9192 LBMExpDLL int lbm_transport_source_format(const lbm_transport_source_info_t *info, size_t infosize, char *source, size_t *size);
9193 
9194 struct lbm_apphdr_chain_iter_t_stct;
9196 typedef struct lbm_apphdr_chain_iter_t_stct lbm_apphdr_chain_iter_t;
9197 
9204  lbm_uchar_t type;
9206  lbm_ushort_t subtype;
9208  size_t len;
9210  void *data;
9212 
9218 LBMExpDLL int lbm_apphdr_chain_create(lbm_apphdr_chain_t **chain);
9219 
9224 LBMExpDLL int lbm_apphdr_chain_delete(lbm_apphdr_chain_t *chain);
9225 
9232 
9239 LBMExpDLL int lbm_apphdr_chain_iter_create(lbm_apphdr_chain_iter_t **chain_iter, lbm_apphdr_chain_t *chain);
9240 
9248 
9254 LBMExpDLL int lbm_apphdr_chain_iter_delete(lbm_apphdr_chain_iter_t *chain_iter);
9255 
9261 LBMExpDLL int lbm_apphdr_chain_iter_first(lbm_apphdr_chain_iter_t **chain_iter);
9262 
9268 LBMExpDLL int lbm_apphdr_chain_iter_done(lbm_apphdr_chain_iter_t **chain_iter);
9269 
9275 LBMExpDLL int lbm_apphdr_chain_iter_next(lbm_apphdr_chain_iter_t **chain_iter);
9276 
9283 
9284 
9294  const char *name;
9295  char *data;
9296  size_t size;
9297  int type;
9299 
9310 LBMExpDLL int lbm_msg_properties_create(lbm_msg_properties_t **properties);
9311 
9320 LBMExpDLL int lbm_msg_properties_delete(lbm_msg_properties_t *properties);
9321 
9334 LBMExpDLL int lbm_msg_properties_set(lbm_msg_properties_t *properties, const char *name, const void *value, int type, size_t size);
9335 
9344 LBMExpDLL int lbm_msg_properties_clear(lbm_msg_properties_t *properties, const char *name);
9345 
9363 LBMExpDLL int lbm_msg_properties_get(lbm_msg_properties_t *properties, const char *name, void *value, int *type, size_t *size);
9364 
9378 
9385 
9394 
9402 
9420 LBMExpDLL int lbm_src_get_inflight(lbm_src_t *src, int type, int *inflight, lbm_flight_size_set_inflight_cb_proc proc, void *clientd);
9421 
9439 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);
9440 
9459 LBMExpDLL int lbm_ssrc_get_inflight(lbm_ssrc_t *ssrc, int type, int *inflight, lbm_flight_size_set_inflight_cb_proc proc, void *clientd);
9460 
9479 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);
9480 
9492 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);
9493 
9501 LBMExpDLL int lbm_ume_src_msg_stable(lbm_src_t *src, lbm_uint32_t sqn);
9502 
9513 LBMExpDLL int lbm_umq_ctx_msg_stable(lbm_context_t *ctx, const char *qname, lbm_umq_msgid_t *msg_id);
9514 
9530 
9540 LBMExpDLL int lbm_ume_ack_delete(lbm_ume_rcv_ack_t *ack);
9541 
9553 LBMExpDLL int lbm_ume_ack_send_explicit_ack(lbm_ume_rcv_ack_t *ack, lbm_uint_t sqn);
9554 
9562 LBMExpDLL int lbm_ume_ack_mark_not_outstanding(lbm_ume_rcv_ack_t *ack, lbm_uint_t sqn);
9563 
9579 LBMExpDLL int lbm_ctx_umq_queue_topic_list(lbm_context_t *ctx, const char *queue_name, lbm_async_operation_func_t *async_opfunc);
9580 
9581 struct lbm_umq_msg_selector_t_stct;
9583 typedef struct lbm_umq_msg_selector_t_stct lbm_umq_msg_selector_t;
9584 
9591 LBMExpDLL int lbm_umq_msg_selector_create(lbm_umq_msg_selector_t **selector, char* str, lbm_uint16_t len);
9592 
9596 LBMExpDLL int lbm_umq_msg_selector_delete(lbm_umq_msg_selector_t *selector);
9597 
9614 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);
9615 
9641 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);
9642 
9657 LBMExpDLL int lbm_async_operation_status(lbm_async_operation_handle_t handle, int flags);
9658 
9681 LBMExpDLL int lbm_async_operation_cancel(lbm_async_operation_handle_t handle, int flags);
9682 
9683 typedef int (*lbm_cred_callback_fn)(const char* name, size_t name_len, const char* passwd, size_t passwd_len, void *clientd);
9684 
9707 LBMExpDLL int lbm_auth_set_credentials(lbm_context_t *ctx,
9708  const char* name, size_t name_len,
9709  const char* passwd, size_t passwd_len,
9710  lbm_cred_callback_fn cbfn, void *clientd,
9711  int auth_required);
9712 
9722 LBMExpDLL int lbm_authstorage_open_storage_xml(char *filename);
9723 
9730 LBMExpDLL void lbm_authstorage_close_storage_xml(void);
9731 
9740 LBMExpDLL int lbm_authstorage_checkpermission(char *username, char* command);
9741 
9752 LBMExpDLL int lbm_authstorage_addtpnam(const char* username, const char* pass, unsigned char flags);
9753 
9761 LBMExpDLL int lbm_authstorage_deltpnam(const char* username);
9762 
9771 LBMExpDLL int lbm_authstorage_user_add_role(const char* username, const char* role);
9772 
9781 LBMExpDLL int lbm_authstorage_user_del_role(const char *username, const char* role);
9782 
9789 LBMExpDLL int lbm_authstorage_load_roletable(void);
9790 
9797 LBMExpDLL int lbm_authstorage_unload_roletable(void);
9798 
9807 LBMExpDLL int lbm_authstorage_roletable_add_role_action(const char* rolename, const char* action);
9808 
9816 LBMExpDLL int lbm_authstorage_print_roletable(void);
9817 
9822 typedef struct lbm_umm_info_t_stct {
9824  char username[LBM_UMM_USER_NAME_LENGTH_MAX];
9826  char password[LBM_UMM_PASSWORD_LENGTH_MAX];
9828  char appname[LBM_UMM_APP_NAME_LENGTH_MAX];
9830  char servers[LBM_UMM_NUM_SERVERS_MAX][LBM_UMM_SERVER_LENGTH_MAX];
9834  lbm_uint32_t flags;
9836  char * cert_file;
9839 } lbm_umm_info_t;
9840 
9849 LBMExpDLL int lbm_set_umm_info(lbm_umm_info_t * info);
9850 
9855 LBMExpDLL int lbm_is_ume_capable(void);
9856 
9861 LBMExpDLL int lbm_is_umq_capable(void);
9862 
9863 /* internal error management function(s) */
9864 LBMExpDLL void lbm_seterr(int eno, const char *str);
9865 LBMExpDLL void lbm_seterrf(int eno, const char *format, ...);
9866 LBMExpDLL const char *lbm_strerror(void);
9867 LBMExpDLL const char *lbm_strerror_errnum(int errnum);
9868 LBMExpDLL void lbm_sock_init(void);
9873 LBMExpDLL lbm_uint64_t lbm_create_random_id(void);
9878 LBMExpDLL char * lbm_get_jms_msg_id(lbm_uint64_t source_id, lbm_uint64_t seqno_id, char *topic);
9879 
9888 LBMExpDLL int lbm_src_buff_acquire(lbm_src_t * const src, void ** const bufp, const size_t len, const int flags);
9889 
9895 LBMExpDLL int lbm_src_buffs_complete(lbm_src_t * const src);
9896 
9908 LBMExpDLL int lbm_src_buffs_complete_and_acquire(lbm_src_t * const src, void ** const bufp, const size_t len, const int flags);
9909 
9917 LBMExpDLL int lbm_src_buffs_cancel(lbm_src_t * const src);
9918 
9943 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);
9944 
9957 LBMExpDLL int lbm_ssrc_buff_get(lbm_ssrc_t * const ssrc, char ** const usr_bufp, const int flags);
9958 
9968 LBMExpDLL int lbm_ssrc_buff_put(lbm_ssrc_t * const ssrc, const char * usr_bufp);
9969 
9970 struct lbm_xsp_t_stct;
9975 typedef struct lbm_xsp_t_stct lbm_xsp_t;
9976 
9977 struct lbm_xsp_attr_t_stct;
9982 typedef struct lbm_xsp_attr_t_stct lbm_xsp_attr_t;
9983 
9990 LBMExpDLL int lbm_xsp_attr_option_size(void);
9991 
10003 LBMExpDLL int lbm_xsp_attr_create(lbm_xsp_attr_t **attr);
10004 
10012 LBMExpDLL int lbm_xsp_attr_delete(lbm_xsp_attr_t *attr);
10013 
10026 LBMExpDLL int lbm_xsp_attr_setopt(lbm_xsp_attr_t *attr, const char *optname, const void *optval, size_t optlen);
10027 
10039 LBMExpDLL int lbm_xsp_attr_str_setopt(lbm_xsp_attr_t *attr, const char *optname, const char *optval);
10040 
10051 LBMExpDLL int lbm_xsp_attr_getopt(lbm_xsp_attr_t *attr, const char *optname, void *optval, size_t *optlen);
10052 
10062 LBMExpDLL int lbm_xsp_attr_str_getopt(lbm_xsp_attr_t *attr, const char *optname, char *optval, size_t *optlen);
10063 
10075 typedef int (*lbm_xsp_zero_transports_cb_proc)(lbm_xsp_t *xsp, void *clientd);
10076 
10084  lbm_xsp_zero_transports_cb_proc zero_transports_func;
10085  void *clientd;
10087 
10100 LBMExpDLL int lbm_xsp_create(lbm_xsp_t **xspp, lbm_context_t *ctx, lbm_context_attr_t *cattr, lbm_xsp_attr_t *attr);
10101 
10109 LBMExpDLL int lbm_xsp_delete(lbm_xsp_t *xsp);
10110 
10128 LBMExpDLL int lbm_xsp_process_events(lbm_xsp_t *xsp, lbm_ulong_t msec);
10129 
10139 LBMExpDLL int lbm_xsp_unblock(lbm_xsp_t *xsp);
10140 
10168 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);
10169 
10191 LBMExpDLL int lbm_xsp_cancel_fd(lbm_xsp_t *xsp, lbm_handle_t handle, lbm_ulong_t ev);
10192 
10201  int flags;
10205  char source[LBM_MSG_MAX_SOURCE_LEN];
10207 
10222 typedef lbm_xsp_t *(*lbm_transport_mapping_cb_proc)(lbm_context_t *ctx, lbm_new_transport_info_t *info, void *clientd);
10223 
10231  lbm_transport_mapping_cb_proc mapping_func;
10232  void *clientd;
10234 
10235 #if defined(__cplusplus)
10236 }
10237 #endif /* __cplusplus */
10238 
10239 #endif /* LBM_H */
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:4171
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:3209
lbm_src_transport_stats_lbtipc_t lbtipc
Definition: lbm.h:3736
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:3889
lbm_ulong_t source_events
Definition: lbm.h:4451
int(* lbm_datagram_acceleration_close_function_t)(void *device)
Application callback function to implement datagram acceleration close.
Definition: lbm.h:2290
lbm_ulong_t lbm_reqs_rcved
Definition: lbm.h:3776
void * msg_clientd
Definition: lbm.h:2023
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:4572
const void * umq_cr
Definition: lbm.h:3219
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:4351
lbm_ulong_t age_min
Definition: lbm.h:4542
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:3080
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. This function will only be effective if it ...
lbm_uint_t ip_address
Definition: lbm.h:2717
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:1640
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:1683
lbm_ulong_t resp_msgs_svc_mean
Definition: lbm.h:4338
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:1122
Structure that holds ACK information for a given message in an extended form.
Definition: lbm.h:1374
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:1614
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:1435
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:1118
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:1679
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:1363
lbm_ulong_t id
Definition: lbm.h:2925
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:9202
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:2258
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:3198
lbm_ulong_t context_source_events_svc_mean
Definition: lbm.h:4522
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:2322
lbm_ulong_t tr_dgrams_rcved
Definition: lbm.h:4607
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:3738
unsigned char lbm_uchar_t
For portability.
Definition: lbm.h:1079
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:1618
lbm_rcv_transport_stats_lbtrm_t lbtrm
Definition: lbm.h:4258
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:2723
lbm_ulong_t tr_dgrams_send_failed
Definition: lbm.h:4623
lbm_ushort_t store_index
Definition: lbm.h:1388
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:2752
lbm_event_queue_t * evq
Definition: lbm.h:1877
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:1795
lbm_ulong_t lbm_reqs_rcved
Definition: lbm.h:3915
lbm_ulong_t msgs_sent
Definition: lbm.h:3685
lbm_ushort_t application_set_index
Definition: lbm.h:1553
Structure that holds information for UMP receiver registration ID application callbacks.
Definition: lbm.h:1991
lbm_ushort_t application_set_index
Definition: lbm.h:2896
int type
Definition: lbm.h:3298
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:4191
int flags
Definition: lbm.h:1456
Structure that holds information for sources after registration is complete to all involved queue ins...
Definition: lbm.h:2119
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:3304
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:3547
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:2360
lbm_ulong_t txw_bytes
Definition: lbm.h:3473
lbm_ulong_t bytes_rcved
Definition: lbm.h:4233
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.
Structure that holds the application callback pattern type information for wildcard receivers...
Definition: lbm.h:2643
lbm_uint_t queue_id
Definition: lbm.h:2172
Structure that holds the application callback for multicast immediate message unrecoverable loss noti...
Definition: lbm.h:2691
lbm_ulong_t nak_tx_mean
Definition: lbm.h:3872
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:2174
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:2241
lbm_ushort_t destination_port
Definition: lbm.h:2743
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:2858
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:3549
lbm_umq_regid_t registration_id
Definition: lbm.h:2106
lbm_uint_t first_sequence_number
Definition: lbm.h:2019
lbm_uint32_t mc_group
Definition: lbm.h:3306
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:2667
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:1120
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:5158
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:1287
lbm_ulong_t bytes_rcved
Definition: lbm.h:3797
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:3899
size_t index_len
Definition: lbm.h:1426
Structure that holds UMQ message total lifetime information.
Definition: lbm.h:1509
Structure that holds statistics for an event queue.
Definition: lbm.h:4294
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:1545
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:4722
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:3407
Structure that holds datagram statistics for source LBT-IPC transports.
Definition: lbm.h:3635
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:3581
lbm_ulong_t bytes_rcved
Definition: lbm.h:3971
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:4559
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:2771
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:2611
lbm_umq_queue_topic_t * topic
Definition: lbm.h:1578
lbm_ulong_t fragments_lost
Definition: lbm.h:4680
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:9196
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:1151
unsigned short int lbm_ushort_t
For portability.
Definition: lbm.h:1077
void * data
Definition: lbm.h:9210
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:2965
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:2992
lbm_uint64_t u64
Definition: lbm.h:1521
lbm_ulong_t naks_ignored
Definition: lbm.h:3491
lbm_event_queue_cancel_cb_proc cbproc
Definition: lbm.h:5162
lbm_ulong_t rxs_sent
Definition: lbm.h:3611
lbm_ulong_t msgs_rcved
Definition: lbm.h:4161
Definition: lbm.h:2632
struct lbm_umq_msg_selector_t_stct lbm_umq_msg_selector_t
Opaque handle to a message selector.
Definition: lbm.h:9583
lbm_ulong_t wrcv_msgs_svc_min
Definition: lbm.h:4386
lbm_ulong_t reserved1
Definition: lbm.h:4178
lbm_ulong_t rctlr_rx_msgs
Definition: lbm.h:3527
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:2462
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:2423
LBMExpDLL int lbm_msg_properties_delete(lbm_msg_properties_t *properties)
Deletes a properties object.
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:10083
int32_t lbm_int32_t
For portability.
Definition: lbm.h:1087
lbm_uint_t registration_id
Definition: lbm.h:1194
Structure that holds datagram statistics for receiver TCP transports.
Definition: lbm.h:3757
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:3520
lbm_uint_t queue_id
Definition: lbm.h:2195
lbm_ulong_t num_clients
Definition: lbm.h:3613
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:3908
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:2655
lbm_umq_queue_topic_status_t * topics
Definition: lbm.h:1588
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:1192
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:3223
lbm_uint_t low_sequence_number
Definition: lbm.h:2042
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:3111
lbm_ulong_t nak_tx_min
Definition: lbm.h:4041
uint64_t lbm_uint64_t
For portability.
Definition: lbm.h:1089
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:4405
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:3229
Structure that holds datagram statistics for source TCP transports.
Definition: lbm.h:3436
int flags
Definition: lbm.h:1170
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:2281
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:3814
lbm_ume_src_force_reclaim_function_cb func
Definition: lbm.h:2681
lbm_umq_queue_msg_status_t * msgs
Definition: lbm.h:1630
lbm_ulong_t tr_bytes_rcved
Definition: lbm.h:4611
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:1513
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:1405
lbm_ulong_t bytes_rcved
Definition: lbm.h:4199
Structure that holds the context application callback function when new sources are discovered...
Definition: lbm.h:2624
int flags
Definition: lbm.h:1993
lbm_uint_t rcv_registration_id
Definition: lbm.h:1344
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:3213
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.
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:2894
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:2984
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:1179
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:2145
lbm_ulong_t uim_dup_msgs_rcved
Definition: lbm.h:4668
lbm_ulong_t data_msgs_svc_max
Definition: lbm.h:4319
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:3567
Structure that holds originating information for UM messages which arrived via a gateway.
Definition: lbm.h:3091
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:3381
lbm_msg_properties_t * properties
Definition: lbm.h:3227
Structure that holds the application callback for receiving certain immediate mode messages (UIM)...
Definition: lbm.h:3274
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:2725
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:1249
int flags
Definition: lbm.h:3163
lbm_uint32_t session_id
Definition: lbm.h:3310
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:3660
lbm_uint_t src_registration_id
Definition: lbm.h:1298
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.
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:1501
Struct containing an array of UMQ messages listed via lbm_rcv_umq_queue_msg_list. ...
Definition: lbm.h:1628
lbm_ulong_t bytes_sent
Definition: lbm.h:3570
void * source_clientd
Definition: lbm.h:2049
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:3723
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.
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:1304
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:2156
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:4024
lbm_datagram_acceleration_sendto_function_t sendto
Definition: lbm.h:2437
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:3083
lbm_transport_source_info_t src_info
Definition: lbm.h:10203
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:2257
lbm_ulong_t msgs_rcved
Definition: lbm.h:4231
LBMExpDLL int lbm_license_vds_valid(void)
Determine is the VDS product is licensed.
const void * umq_msgid
Definition: lbm.h:3217
lbm_int32_t * mprop_int_vals
Definition: lbm.h:1974
lbm_timespec_t hr_timestamp
Definition: lbm.h:1262
lbm_ulong_t timer_events_svc_max
Definition: lbm.h:4448
lbm_uint32_t u32
Definition: lbm.h:1519
lbm_uint64_t src_session_id
Definition: lbm.h:1308
Structure to hold a hot failover sequence number.
Definition: lbm.h:1517
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:1420
lbm_ulong_t msgs_sent
Definition: lbm.h:3642
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:1632
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:2892
struct lbm_wildcard_rcv_attr_t_stct lbm_wildcard_rcv_attr_t
Opaque structure that holds configuration options for wildcard receivers.
Definition: lbm.h:3424
void * clientd
Definition: lbm.h:5164
lbm_ulong_t ncfs_ignored
Definition: lbm.h:3823
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:2537
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:3637
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:10199
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:2719
struct lbm_context_attr_t_stct lbm_context_attr_t
Structure used to hold configuration options for contexts.
Definition: lbm.h:3346
lbm_ulong_t topicless_im_msgs_svc_min
Definition: lbm.h:4359
lbm_ulong_t io_events_svc_mean
Definition: lbm.h:4418
LBMExpDLL int lbm_xsp_unblock(lbm_xsp_t *xsp)
Unblock a sequential mode XSP.
lbm_ulong_t lbm_reqs_rcved
Definition: lbm.h:4145
int flags
Definition: lbm.h:1881
lbm_str_hash_function_cb hashfunc
Definition: lbm.h:2602
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:1536
Structure that holds store registration information for the UMP receiver.
Definition: lbm.h:1274
int64_t lbm_int64_t
For portability.
Definition: lbm.h:1093
Structure that holds UMQ ULB message information in an extended form.
Definition: lbm.h:2225
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:3921
Structure that stores information about a received message. It is delivered to the application via th...
Definition: lbm.h:3125
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:4035
lbm_rcv_transport_stats_lbtru_t lbtru
Definition: lbm.h:4262
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:2035
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:1135
lbm_ulong_t nak_tx_max
Definition: lbm.h:3878
int flags
Definition: lbm.h:1831
struct lbm_event_queue_t_stct lbm_event_queue_t
Opaque structure that designates a UM event queue object.
Definition: lbm.h:1600
lbm_ulong_t dgrams_dropped_size
Definition: lbm.h:4092
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:2578
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:4264
lbm_uint_t assignment_id
Definition: lbm.h:2212
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:3167
lbm_datagram_acceleration_mcast_join_function_t mcast_join
Definition: lbm.h:2425
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:3937
int flags
Definition: lbm.h:1582
int d
Definition: lbm.h:2929
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:5126
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:1317
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:2063
lbm_ulong_t lbtru_unknown_msgs_rcved
Definition: lbm.h:4651
lbm_uint64_t src_session_id
Definition: lbm.h:1327
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:4215
lbm_ushort_t source_port
Definition: lbm.h:2760
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:1247
struct lbm_ssrc_t_stct lbm_ssrc_t
Opaque structure that designates a UM Smart Source.
Definition: lbm.h:3047
lbm_uint_t queue_id
Definition: lbm.h:2085
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:3574
lbm_ulong_t timer_events_tot
Definition: lbm.h:4430
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:2231
lbm_src_channel_info_t * channel_info
Definition: lbm.h:1916
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:2083
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:3074
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:2882
int reserved
Definition: lbm.h:1422
lbm_ulong_t cancel_events
Definition: lbm.h:4483
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:2332
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:4176
int flags
Definition: lbm.h:1962
lbm_ushort_t index
Definition: lbm.h:2803
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:2303
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:2705
lbm_uint32_t flags
Definition: lbm.h:9834
lbm_ulong_t ncfs_rx_delay
Definition: lbm.h:4011
char * cert_file
Definition: lbm.h:9836
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:1525
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)
Set the user&#39;s credential and authentication requirement.
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:4213
Structure that holds datagram statistics for receiver LBT-RU transports.
Definition: lbm.h:3963
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:3861
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:2613
LBMExpDLL int lbm_xsp_attr_create(lbm_xsp_attr_t **attr)
Create and fill a UM XSP attribute object with the current default values.
struct lbm_src_topic_attr_t_stct lbm_src_topic_attr_t
Opaque structure that holds configuration options for source topics.
Definition: lbm.h:3360
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:3231
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:3012
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:4493
Structure that holds the application callback for the transport mapping function. ...
Definition: lbm.h:10230
lbm_ulong_t data_msgs_svc_mean
Definition: lbm.h:4314
lbm_ulong_t bytes_buffered
Definition: lbm.h:3442
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.
lbm_uint64_t bytes
Definition: lbm.h:1399
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:4738
lbm_ulong_t nak_tx_max
Definition: lbm.h:4052
lbm_uint_t last_sequence_number
Definition: lbm.h:2170
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:1997
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:2000
lbm_uint64_t src_session_id
Definition: lbm.h:2053
lbm_ulong_t naks_sent
Definition: lbm.h:3988
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:3331
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:3025
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:1382
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.
lbm_uint_t start_sequence_number
Definition: lbm.h:3077
lbm_uint_t sequence_number
Definition: lbm.h:1325
Structure that represents UMS Spectrum channel information.
Definition: lbm.h:3108
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:5193
const void * fragment_info
Definition: lbm.h:3201
lbm_ulong_t context_source_events_svc_max
Definition: lbm.h:4528
lbm_umq_msg_total_lifetime_info_t * umq_total_lifetime
Definition: lbm.h:1926
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:5014
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:1300
lbm_umq_index_info_t * umq_index
Definition: lbm.h:1922
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:3622
lbm_ulong_t ncfs_unknown
Definition: lbm.h:4017
lbm_uint64_t lbm_async_operation_handle_t
Opaque handle to an asynchronous operation.
Definition: lbm.h:1670
lbm_ulong_t nak_stm_min
Definition: lbm.h:3850
const char * apphdr_data
Definition: lbm.h:3204
struct lbm_topic_t_stct lbm_topic_t
Opaque structure that designates a Topic.
Definition: lbm.h:3034
lbm_uint_t queue_id
Definition: lbm.h:1458
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:1549
lbm_ulong_t dgrams_dropped_sid
Definition: lbm.h:4104
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:3678
uint8_t lbm_uint8_t
For portability.
Definition: lbm.h:1081
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:4301
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.
lbm_uint32_t channel_number
Definition: lbm.h:3113
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:3913
lbm_ulong_t io_events
Definition: lbm.h:4401
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:1716
lbm_ulong_t(* lbm_str_hash_function_cb)(const char *str)
Application callback for user-supplied topic hash function.
Definition: lbm.h:2450
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:2429
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:4322
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:2312
lbm_src_transport_stats_broker_t broker
Definition: lbm.h:3742
lbm_ipv4_address_mask_t iface
Definition: lbm.h:2736
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.
lbm_ume_rcv_regid_function_cb func
Definition: lbm.h:2657
lbm_datagram_acceleration_open_function_t open
Definition: lbm.h:2417
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:4073
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:3883
int(* lbm_datagram_acceleration_send_disconnect_function_t)(void *send_handle)
Application callback function to implement datagram acceleration send disconnect. ...
Definition: lbm.h:2369
Structure that holds parsed transport source strings.
Definition: lbm.h:3289
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:2347
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:1569
size_t len
Definition: lbm.h:9208
lbm_ulong_t context_source_events_tot
Definition: lbm.h:4508
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:1929
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.
lbm_ulong_t nak_pckts_sent
Definition: lbm.h:3975
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:5179
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:9982
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:4089
lbm_ipv4_address_mask_t iface
Definition: lbm.h:2758
lbm_ulong_t dgrams_dropped_size
Definition: lbm.h:3918
lbm_datagram_acceleration_send_connect_function_t send_connect
Definition: lbm.h:2431
Structure that holds information for a UMQ ULB sources receiver type attributes.
Definition: lbm.h:2923
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:1162
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:4392
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:2522
int messages
Definition: lbm.h:1397
lbm_async_operation_func_t * async_opfunc
Definition: lbm.h:1935
int flags
Definition: lbm.h:1296
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:3211
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:4278
lbm_umq_queue_application_set_t * appsets
Definition: lbm.h:1567
Structure that holds IP and Port of the broker for the broker transport configuration.
Definition: lbm.h:2769
lbm_uint_t assignment_id
Definition: lbm.h:2237
lbm_ulong_t callback_events_svc_max
Definition: lbm.h:4577
int num_ids
Definition: lbm.h:1551
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:4268
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:2404
int status
Definition: lbm.h:1580
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:1879
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:4129
long refcnt
Definition: lbm.h:3182
LBMExpDLL int lbm_msg_is_fragment(lbm_msg_t *msg)
Retrieve fragment information from a UM message.
int flags
Definition: lbm.h:1511
Structure that holds queue topic information and can be used as a handle to a queue topic...
Definition: lbm.h:1563
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:1416
lbm_ume_rcv_regid_ex_function_cb func
Definition: lbm.h:2669
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:3769
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:4082
LBMExpDLL int lbm_context_reset_stats(lbm_context_t *ctx)
Reset the stats for a context.
lbm_ulong_t msgs_sent
Definition: lbm.h:3703
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:2845
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:2565
lbm_ulong_t fragments_unrecoverably_lost
Definition: lbm.h:4693
const void * source_clientd
Definition: lbm.h:3207
lbm_ulong_t tr_dgrams_dropped_malformed
Definition: lbm.h:4620
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:1241
Structure that holds the application callback for forced reclamation notifications.
Definition: lbm.h:2679
Struct containing an array of UMQ messages retrieved via lbm_rcv_umq_queue_msg_retrieve.
Definition: lbm.h:1636
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.
LBMExpDLL int lbm_context_unblock(lbm_context_t *ctx)
Unblock a sequential mode UM context.
lbm_async_operation_function_cb func
Definition: lbm.h:1875
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:3595
lbm_ulong_t events
Definition: lbm.h:4531
Structure that holds information for receivers after registration is complete to all involved queue i...
Definition: lbm.h:2136
lbm_umq_regid_t registration_id
Definition: lbm.h:2210
lbm_uint32_t transport_idx
Definition: lbm.h:3314
lbm_ushort_t source_port
Definition: lbm.h:2741
lbm_ulong_t msgs_rcved
Definition: lbm.h:3794
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:1264
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:2626
LBMExpDLL int lbm_context_get_name(lbm_context_t *ctx, char *name, size_t *size)
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:1624
lbm_ulong_t tr_dgrams_sent
Definition: lbm.h:4598
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:1302
Structure that holds sequence number information for a message sent by a source.
Definition: lbm.h:2015
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:4297
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:3052
lbm_timeval_t time_val
Definition: lbm.h:1835
lbm_uint_t addr
Definition: lbm.h:1133
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:4819
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:3312
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:1590
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:4618
unsigned int lbm_uint_t
For portability.
Definition: lbm.h:1073
lbm_uint_t sequence_number
Definition: lbm.h:3094
char * usr_supplied_buffer
Definition: lbm.h:1980
lbm_uint32_t registration_id
Definition: lbm.h:1245
char ** mprop_int_keys
Definition: lbm.h:1971
Structure that holds information for a unicast resolver daemon for configuration purposes.
Definition: lbm.h:2734
lbm_ulong_t msgs_sent
Definition: lbm.h:3460
lbm_ulong_t resp_msgs_svc_min
Definition: lbm.h:4332
LBMExpDLL int lbm_apphdr_chain_delete(lbm_apphdr_chain_t *chain)
Delete an app header chain previously created with lbm_apphdr_chain_create.
struct lbm_hf_rcv_t_stct lbm_hf_rcv_t
Opaque structure that designates a UM Hot Failover receiver object.
Definition: lbm.h:3017
lbm_uint32_t channel
Definition: lbm.h:1977
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:1826
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:1910
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:2493
lbm_datagram_acceleration_init_function_t init
Definition: lbm.h:2415
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.
struct lbm_rcv_topic_attr_t_stct lbm_rcv_topic_attr_t
Opaque structure that holds configuration options for receiver topics.
Definition: lbm.h:3365
lbm_event_queue_t * event_queue
Definition: lbm.h:5160
LBMExpDLL int lbm_license_ummnm_valid(void)
Determine is the UMM product is licensed.
lbm_timespec_t hr_timestamp
Definition: lbm.h:3233
lbm_ulong_t naks_rcved
Definition: lbm.h:3484
void * ume_msg_clientd
Definition: lbm.h:1913
lbm_ulong_t dgrams_dropped_version
Definition: lbm.h:3924
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:1477
Structure that holds datagram statistics for source LBT-SMX transports.
Definition: lbm.h:3658
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:4629
lbm_ulong_t source_events_tot
Definition: lbm.h:4455
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:3774
lbm_uint_t sequence_number
Definition: lbm.h:1361
Structure that holds a serialized UM response object.
Definition: lbm.h:3002
Structure that holds the information about a receiving context.
Definition: lbm.h:2828
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:4555
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:4666
lbm_uint_t sequence_number
Definition: lbm.h:3177
uint32_t length
Definition: lbm.h:2259
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:4761
lbm_ushort_t service_port
Definition: lbm.h:2756
lbm_uint32_t transport_id
Definition: lbm.h:3308
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.
lbm_ulong_t ncfs_unknown
Definition: lbm.h:3843
size_t apphdr_len
Definition: lbm.h:3185
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:4960
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:2087
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:1858
lbm_ulong_t context_source_events
Definition: lbm.h:4504
Advertisement event structure (for UM internal use only).
Definition: lbm.h:1733
Definition: lbm.h:3350
lbm_ulong_t lbtrm_unknown_msgs_rcved
Definition: lbm.h:4641
Structure that holds index assignment information for receivers.
Definition: lbm.h:1490
void *(* lbm_mem_mgt_malloc_cb_func)(size_t size, void *clientd)
Application callback to malloc memory using application specific function.
Definition: lbm.h:1768
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.
void * msg_clientd
Definition: lbm.h:2176
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:1782
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:2168
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:4443
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:4748
Structure that holds statistics for a wildcard receiver.
Definition: lbm.h:4757
lbm_ulong_t rcv_cb_svc_time_mean
Definition: lbm.h:4731
lbm_ulong_t bytes_sent
Definition: lbm.h:3463
lbm_ulong_t unblock_events_tot
Definition: lbm.h:4480
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:1380
LBMExpDLL int lbm_config_xml_file(const char *url, const char *application_name)
Load a UM XML configuration file.
int status
Definition: lbm.h:1622
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:4208
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:1142
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:3968
lbm_ulong_t topicless_im_msgs_svc_max
Definition: lbm.h:4371
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:1346
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.
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:3931
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:2239
lbm_ulong_t apphdr_code
Definition: lbm.h:3187
lbm_ulong_t tr_bytes_sent
Definition: lbm.h:4602
Structure that holds datagram statistics for source LBT-RM transports.
Definition: lbm.h:3455
lbm_ulong_t tr_dgrams_dropped_ver
Definition: lbm.h:4614
Structure that holds the receiver deletion callback information for wildcard receivers.
Definition: lbm.h:3416
lbm_ulong_t tr_rcv_unresolved_topics
Definition: lbm.h:4634
Structure that holds datagram statistics for receiver LBT-SMX transports.
Definition: lbm.h:4159
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:4423
lbm_ulong_t io_events_svc_min
Definition: lbm.h:4412
unsigned long int lbm_ulong_t
For portability.
Definition: lbm.h:1075
lbm_uint_t service_ip
Definition: lbm.h:2754
char * cert_file_password
Definition: lbm.h:9838
Structure that holds store deregistration information for the UM receiver in an extended form...
Definition: lbm.h:1336
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:4143
lbm_ulong_t bytes_sent
Definition: lbm.h:3665
lbm_ulong_t bytes_rcved
Definition: lbm.h:3950
void * msg_clientd
Definition: lbm.h:2069
lbm_src_transport_stats_tcp_t tcp
Definition: lbm.h:3728
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:2046
Struct containing an array of queue topics retrieved via lbm_umq_queue_topic_list.
Definition: lbm.h:1586
Structure that holds statistics for a context.
Definition: lbm.h:4593
lbm_rcv_transport_stats_broker_t broker
Definition: lbm.h:4270
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:2508
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:1638
lbm_uint32_t flags
Definition: lbm.h:4742
lbm_ulong_t nak_pckts_sent
Definition: lbm.h:3801
lbm_uint_t queue_id
Definition: lbm.h:2125
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:2421
lbm_ulong_t resp_msgs_svc_max
Definition: lbm.h:4343
lbm_ulong_t rxs_sent
Definition: lbm.h:3514
Structure that holds the application callback for receiving context status notifications for source c...
Definition: lbm.h:2866
Structure that holds information for the extended smart source send calls.
Definition: lbm.h:1950
lbm_uint_t src_registration_id
Definition: lbm.h:1995
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:3705
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:1215
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:3021
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:1232
struct lbm_msg_properties_t_stct lbm_msg_properties_t
A struct that holds information used for messages with properties. (opaque)
Definition: lbm.h:1887
Structure that holds the receiver application callback functions when sources are subscribed or unsub...
Definition: lbm.h:2815
lbm_ulong_t lbm_msgs_rcved
Definition: lbm.h:4138
Structure that holds the hash function callback information.
Definition: lbm.h:2600
lbm_uint_t first_sequence_number
Definition: lbm.h:2233
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:2229
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:3603
lbm_src_transport_stats_lbtrm_t lbtrm
Definition: lbm.h:3730
int flags
Definition: lbm.h:1475
Structure that holds message statistics for receiver BROKER transports.
Definition: lbm.h:4228
Structure for specifying UMM daemon connection options.
Definition: lbm.h:9822
lbm_src_transport_stats_lbtrdma_t lbtrdma
Definition: lbm.h:3740
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.
lbm_ushort_t index
Definition: lbm.h:2907
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:2394
lbm_ulong_t send_would_block
Definition: lbm.h:4658
lbm_msg_channel_info_t * channel_info
Definition: lbm.h:3215
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:2260
int(* lbm_log_cb_proc)(int level, const char *message, void *clientd)
Application callback for message logging.
Definition: lbm.h:5110
lbm_ulong_t unblock_events
Definition: lbm.h:4476
A structure used to define the datagram acceleration implementation functions.
Definition: lbm.h:2413
lbm_apphdr_chain_t * apphdr_chain
Definition: lbm.h:1919
int flags
Definition: lbm.h:1378
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:3856
lbm_ulong_t source_events_svc_min
Definition: lbm.h:4462
lbm_ulong_t bytes_rcved
Definition: lbm.h:4164
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:1348
lbm_ulong_t wrcv_msgs
Definition: lbm.h:4374
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:4626
lbm_ulong_t dgrams_dropped_type
Definition: lbm.h:4095
lbm_umq_msgid_t msgid
Definition: lbm.h:1616
Structure that holds the application callbacks for Smart Source memory management.
Definition: lbm.h:1803
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:4378
lbm_timeval_t tsp
Definition: lbm.h:3194
lbm_ulong_t ncfs_shed
Definition: lbm.h:3829
lbm_ulong_t nak_pckts_rcved
Definition: lbm.h:3477
Structure that holds information for a UMP store group for configuration purposes.
Definition: lbm.h:2801
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:3867
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:1576
lbm_ulong_t txw_msgs
Definition: lbm.h:3469
struct lbm_request_t_stct lbm_request_t
Opaque structure that designates a UM request object.
Definition: lbm.h:3060
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:2100
int flags
Definition: lbm.h:1340
void * msg_clientd
Definition: lbm.h:1386
lbm_ulong_t source_events_svc_mean
Definition: lbm.h:4468
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.
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:1359
Structure that holds information for a UMQ ULB sources application set attributes.
Definition: lbm.h:2905
LBMExpDLL int lbm_context_delete(lbm_context_t *ctx)
Delete a UM context object.
lbm_hf_sequence_number_t hf_sqn
Definition: lbm.h:1933
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:3254
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:3438
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.
Structure that holds the receiver creation callback information for wildcard receivers.
Definition: lbm.h:3390
int type
Definition: lbm.h:1681
Information returned from lbm_datagram_acceleration_recvfrom_function_t function. ...
Definition: lbm.h:2255
Structure that holds information for source total inflight messages and bytes See lbm_flight_size_inf...
Definition: lbm.h:1395
lbm_ulong_t timer_events_svc_min
Definition: lbm.h:4437
lbm_ulong_t msgs_rcved
Definition: lbm.h:4126
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:2044
lbm_ulong_t bytes_sent
Definition: lbm.h:3688
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:2957
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:3160
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)
Returns 1 if lbm message is a fragment, else 0 is returned.
lbm_ulong_t nak_stm_mean
Definition: lbm.h:4030
Structure that holds information for receivers after they de-register from a queue.
Definition: lbm.h:2189
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:2427
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:1620
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:2792
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:1276
lbm_ulong_t num_clients
Definition: lbm.h:3680
Structure that holds information for UMQ messages that allows the message to be identified uniquely...
Definition: lbm.h:1534
lbm_umq_msgid_t msg_id
Definition: lbm.h:2166
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:3029
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:2435
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:2693
lbm_ushort_t src_port
Definition: lbm.h:3302
Structure that holds the application callback for recovery sequence number information, extended form.
Definition: lbm.h:2703
LBMExpDLL int lbm_errnum(void)
Return the error number last encountered by this thread.
lbm_ulong_t source_events_svc_max
Definition: lbm.h:4473
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:3119
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.
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:4487
lbm_async_operation_handle_t handle
Definition: lbm.h:1692
lbm_umq_msgid_t msg_id
Definition: lbm.h:2067
lbm_ulong_t ncfs_shed
Definition: lbm.h:4003
void * ume_msg_clientd
Definition: lbm.h:1965
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:4535
lbm_ulong_t lu
Definition: lbm.h:2913
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:5034
Resolver event function (for UM internal use only).
Definition: lbm.h:1752
int(* lbm_rcv_cb_proc)(lbm_rcv_t *rcv, lbm_msg_t *msg, void *clientd)
Application callback for receiver events.
Definition: lbm.h:4797
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:2715
lbm_ushort_t hdrlen
Definition: lbm.h:3196
uint32_t lbm_uint32_t
For portability.
Definition: lbm.h:1085
lbm_ulong_t timer_events
Definition: lbm.h:4426
lbm_ushort_t group_size
Definition: lbm.h:2805
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:3990
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:4552
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:2381
lbm_uint_t queue_id
Definition: lbm.h:2143
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:10222
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:3173
lbm_ulong_t unrecovered_txw
Definition: lbm.h:4063
LBMExpDLL int lbm_authstorage_unload_roletable(void)
Unload the role table.
size_t len
Definition: lbm.h:3170
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:3506
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:2592
lbm_ulong_t resp_blocked
Definition: lbm.h:4661
lbm_uint_t src_registration_id
Definition: lbm.h:1342
lbm_ulong_t topicless_im_msgs
Definition: lbm.h:4347
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:2270
#define LBM_CONFIG_OPTIONS_STR_LEN
Config option structure holding the option name and value via string types.
Definition: lbm.h:3349
lbm_uint_t last_sequence_number
Definition: lbm.h:2021
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:1741
void * reserved
Definition: lbm.h:1571
lbm_wildcard_rcv_compare_function_cb compfunc
Definition: lbm.h:2645
Structure that holds datagram statistics for source LBT-RU transports.
Definition: lbm.h:3562
lbm_uint32_t src_ip
Definition: lbm.h:3300
void * msg_clientd
Definition: lbm.h:1365
struct lbm_response_t_stct lbm_response_t
Opaque structure that designates a UM response object.
Definition: lbm.h:3065
struct lbm_src_t_stct lbm_src_t
Opaque structure that designates a UM source.
Definition: lbm.h:3039
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:4516
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:10075
Structure that holds statistics for receiver transports.
Definition: lbm.h:4249
lbm_rcv_transport_stats_daemon_t daemon
Definition: lbm.h:4260
int(* lbm_timer_cb_proc)(lbm_context_t *ctx, const void *clientd)
Application callback for timer events.
Definition: lbm.h:4774
lbm_src_transport_stats_daemon_t daemon
Definition: lbm.h:3732
Structure that holds queue registration information for the UMQ context in an extended form...
Definition: lbm.h:2079
lbm_ulong_t lost
Definition: lbm.h:3816
Structure that holds information for a UMP store by name for configuration purposes.
Definition: lbm.h:2786
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:1213
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:4101
lbm_ulong_t wrcv_msgs_svc_max
Definition: lbm.h:4398
lbm_ulong_t msgs_sent
Definition: lbm.h:3662
lbm_uint_t resolver_ip
Definition: lbm.h:2738
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:2775
Structure that holds end-of-index information for receivers.
Definition: lbm.h:1471
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:4501
lbm_ulong_t rcv_cb_svc_time_min
Definition: lbm.h:4709
lbm_rcv_transport_stats_lbtrdma_t lbtrdma
Definition: lbm.h:4266
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:3721
lbm_rcv_transport_stats_tcp_t tcp
Definition: lbm.h:4256
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:1260
lbm_ulong_t lu
Definition: lbm.h:2931
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:3760
lbm_ulong_t dgrams_dropped_version
Definition: lbm.h:4098
lbm_ulong_t ncfs_ignored
Definition: lbm.h:3997
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:2878
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:1131
int type
Definition: lbm.h:4251
lbm_ulong_t duplicate_data
Definition: lbm.h:4057
lbm_ulong_t cancel_events_svc_mean
Definition: lbm.h:4497
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:10201
lbm_datagram_acceleration_getaddr_function_t getaddr
Definition: lbm.h:2439
int mprop_int_cnt
Definition: lbm.h:1968
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:4046
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:1226
lbm_ulong_t resp_msgs_tot
Definition: lbm.h:4325
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:2419
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:3927
lbm_src_transport_stats_lbtru_t lbtru
Definition: lbm.h:3734
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:5151
lbm_ulong_t send_blocked
Definition: lbm.h:4654
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:4308
lbm_uint_t registration_id
Definition: lbm.h:1211
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.
Definition: lbm.h:9293
lbm_ushort_t subtype
Definition: lbm.h:9206
Structure that holds datagram statistics for receiver LBT-IPC transports.
Definition: lbm.h:4121
lbm_ulong_t naks_ignored
Definition: lbm.h:3588
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:2790
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:4547
lbm_uchar_t type
Definition: lbm.h:9204
struct lbm_context_t_stct lbm_context_t
Context object (opaque) for UM.
Definition: lbm.h:1110
lbm_uint_t last_sequence_number
Definition: lbm.h:2235
Structure that holds information for asynchronous operation callbacks.
Definition: lbm.h:1873
Structure that holds statistics for receiver daemon mode transport (deprecated)
Definition: lbm.h:3948
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:2479
Structure that holds beginning-of-index information for receivers.
Definition: lbm.h:1451
lbm_ulong_t naks_shed
Definition: lbm.h:3498
struct lbm_xsp_t_stct lbm_xsp_t
XSP object (opaque) for UM.
Definition: lbm.h:9975
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:5089
Structure that holds the source_cost_evaluation_function (context) context option.
Definition: lbm.h:3335
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:1538
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:4196
Structure that holds datagram statistics for receiver LBT-RM transports.
Definition: lbm.h:3789
Resolver event structure (for UM internal use only).
Definition: lbm.h:1705
lbm_ushort_t broker_port
Definition: lbm.h:2773
lbm_ulong_t callback_events_svc_min
Definition: lbm.h:4566
LBMExpDLL int lbm_context_set_name(lbm_context_t *ctx, const char *name)
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:2777
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:1203
lbm_ulong_t ncfs_rx_delay
Definition: lbm.h:3837
lbm_ulong_t topicless_im_msgs_svc_mean
Definition: lbm.h:4365
Structure that holds information for the extended send calls.
Definition: lbm.h:1894
lbm_ulong_t lbm_msgs_no_topic_rcved
Definition: lbm.h:4087
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:2721
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:1278
lbm_ulong_t rx_bytes_sent
Definition: lbm.h:3536
lbm_ulong_t uim_msgs_no_stream_rcved
Definition: lbm.h:4670
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:4108
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:2206
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:2433
Structure that holds datagram statistics for source BROKER transports.
Definition: lbm.h:3701
int flags
Definition: lbm.h:1690
const void * pdata
Definition: lbm.h:3221
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:1083
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:2552
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:3645
lbm_uint_t application_set_index
Definition: lbm.h:2214
struct lbm_resolver_event_func_t_stct lbm_resolver_event_func_t
Resolver event function (for UM internal use only).