UM C API 6.17.1

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

- File List
- Globals

lbmmon.h
Go to the documentation of this file.
1
14 /*
15 $Id: //UMprod/REL_6_17_1/29West/lbm/src/mon/lbm/lbmmon.h#1 $
16
17 All of the documentation and software included in this and any
18 other Informatica Inc. Ultra Messaging Releases
19 Copyright (C) Informatica Inc. All rights reserved.
20
21 Redistribution and use in source and binary forms, with or without
22 modification, are permitted only as covered by the terms of a
23 valid software license agreement with Informatica Inc.
24
25 (C) Copyright 2006,2025 Informatica Inc. All Rights Reserved.
26
27 THE SOFTWARE IS PROVIDED "AS IS" AND INFORMATICA DISCLAIMS ALL WARRANTIES
28 EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF
29 NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
30 PURPOSE. INFORMATICA DOES NOT WARRANT THAT USE OF THE SOFTWARE WILL BE
31 UNINTERRUPTED OR ERROR-FREE. INFORMATICA SHALL NOT, UNDER ANY CIRCUMSTANCES, BE
32 LIABLE TO LICENSEE FOR LOST PROFITS, CONSEQUENTIAL, INCIDENTAL, SPECIAL OR
33 INDIRECT DAMAGES ARISING OUT OF OR RELATED TO THIS AGREEMENT OR THE
34 TRANSACTIONS CONTEMPLATED HEREUNDER, EVEN IF INFORMATICA HAS BEEN APPRISED OF
35 THE LIKELIHOOD OF SUCH DAMAGES.
36
37 The LBM Monitoring API provides a framework to allow the convenient
38 gathering of LBM statistics.
39
40
41 */
42
116 #ifndef LBMMON_H
117 #define LBMMON_H
118
119 #include <stdlib.h>
120 #ifdef _WIN32
121 #include <winsock2.h>
122 #endif
123
124 #include <lbm/lbm.h>
125
126 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 7)))
127 #define LBM_GNU_PRAGMA(w) \
128 _Pragma ("GCC diagnostic push") \
129 _Pragma (#w)
130
131 #define LBM_GNU_PRAGMA_RESET() \
132 _Pragma ("GCC diagnostic pop")
133
134 #else
135
136 #define LBM_GNU_PRAGMA(w)
137 #define LBM_GNU_PRAGMA_RESET()
138 #endif
139
140 #include <gen/um_mon_attributes.pb-c.h>
141 #include <gen/ump_mon.pb-c.h>
142 #include <gen/um_mon_control.pb-c.h>
143 LBM_GNU_PRAGMA(GCC diagnostic ignored "-Wpedantic")
144 #include <gen/ums_mon.pb-c.h>
145 #include <gen/dro_mon.pb-c.h>
146 #include <gen/srs_mon.pb-c.h>
147 LBM_GNU_PRAGMA_RESET()
148
149 #if defined(__cplusplus)
150 extern "C" {
151 #endif /* __cplusplus */
152
154 #define LBMMON_ERROR_BASE 4096
155
156 #define LBMMON_EINVAL (LBMMON_ERROR_BASE + 1)
157
158 #define LBMMON_ENOMEM (LBMMON_ERROR_BASE + 2)
159
160 #define LBMMON_EMODFAIL (LBMMON_ERROR_BASE + 3)
161
162 #define LBMMON_ELBMFAIL (LBMMON_ERROR_BASE + 4)
163
164 #define LBMMON_EAGAIN (LBMMON_ERROR_BASE + 5)
165
166 #define LBMMON_EALREADY (LBMMON_ERROR_BASE + 6)
167
168 #define LBMMON_EOP (LBMMON_ERROR_BASE + 7)
169
171 #define LBMMON_PACKET_SIGNATURE 0x1b33041b
172
174 #define LBMMON_PACKET_TYPE_SOURCE 0
175
176 #define LBMMON_PACKET_TYPE_RECEIVER 1
177
178 #define LBMMON_PACKET_TYPE_EVENT_QUEUE 2
179
180 #define LBMMON_PACKET_TYPE_CONTEXT 3
181
182 #define LBMMON_PACKET_TYPE_RECEIVER_TOPIC 4
183
184 #define LBMMON_PACKET_TYPE_WILDCARD_RECEIVER 5
185
186 #define LBMMON_PACKET_TYPE_UMESTORE 6
187
188 #define LBMMON_PACKET_TYPE_GATEWAY 7
189
190 #define LBMMON_PACKET_TYPE_UMDS 8
191
192 #define LBMMON_PACKET_TYPE_CONTROL_MESSAGE 9
193
194 #define LBMMON_PACKET_TYPE_SRS 10
195
197 #define LBMMON_SERIALIZE_PACK_MESSAGE 0
198
199 #define LBMMON_SERIALIZE_CALC_SIZE_ONLY 1
200
201
211 typedef struct lbmmon_packet_hdr_t_stct
212 {
214 lbm_uint_t mSignature;
216 lbm_ushort_t mType;
218 lbm_ushort_t mAttributeBlockLength;
220 lbm_ushort_t mDataLength;
222 lbm_ushort_t mFiller;
223 } lbmmon_packet_hdr_t;
224
225 typedef struct lbmmon_packet_attributes_t_stct
226 {
228 lbm_ushort_t mPacketAttributesMagic;
230 uint64_t mFlags;
232 lbm_uint_t mAddress;
234 time_t mTimestamp;
236 lbm_ushort_t mModuleID;
238 lbm_ushort_t mSourceFlag;
240 char mApplicationSourceID[LBM_MSG_MAX_TOPIC_LEN];
242 lbm_uint64_t mObjectID;
244 lbm_uint64_t mProcessID;
246 unsigned char mContextInstance[LBM_CONTEXT_INSTANCE_BLOCK_SZ];
248 lbm_uint32_t mDomainID;
249 } lbmmon_packet_attributes_t;
250
255 typedef struct lbmmon_attr_block_t_stct
256 {
258 lbm_ushort_t mEntryCount;
260 lbm_ushort_t mEntryLength;
261 } lbmmon_attr_block_t;
262
266 #define LBMMON_ATTR_BLOCK_MAGIC 0xABCD
267
268 #define LBMMON_ATTR_BLOCK_FORMAT_TABLE 0
269
270 #define LBMMON_ATTR_BLOCK_FORMAT_PB 1
271
273 #define LBMMON_ATTR_SENDER_IPV4 0
274
275 #define LBMMON_ATTR_TIMESTAMP 1
276
277 #define LBMMON_ATTR_APPSOURCEID 2
278
284 #define LBMMON_ATTR_FORMAT_MODULEID 3
285
286 #define LBMMON_ATTR_OBJECTID 4
287
290 #define LBMMON_ATTR_CONTEXTID LBMMON_ATTR_OBJECTID
291
292 #define LBMMON_ATTR_PROCESSID 5
293
298 #define LBMMON_ATTR_SOURCE 6
299
300 #define LBMMON_ATTR_CTXINST 7
301
302 #define LBMMON_ATTR_DOMAINID 8
303
305 #define LBMMON_ATTR_SOURCE_NORMAL 0
306
307 #define LBMMON_ATTR_SOURCE_IM 1
308
310 #define LBMMON_FORMAT_CSV_MODULE_ID 1
311
312 #define LBMMON_FORMAT_PB_MODULE_ID 2
313
315 #define LBMMON_FORMAT_ATTRIBUTES_PB 1
316
317 #define LBMMON_FORMAT_ATTRIBUTES_TABLE 2
318
319 #define MAKE_MODULE_VERSION(format,version) ((unsigned short) ((((unsigned char) format) << 8) | ((unsigned char) version)))
320
321 #define MODULE_ID(id) ((unsigned char) ((id & 0xff00) >> 8))
322
323 #define MODULE_VERSION(id) ((unsigned char) (id & 0xff))
324
326 #define LBMMON_FORMAT_PASSTHROUGH_OFF 0
327
328 #define LBMMON_FORMAT_PASSTHROUGH_ON 1
329
330 #define LBMMON_FORMAT_PASSTHROUGH_CONVERT 2
331
333 #define LBMMON_FORMAT_FILTER_OFF 0
334
335 #define LBMMON_FORMAT_FILTER_ON 1
336
337 #define LBMMON_FORMAT_FILTER_EQ 2
338
339 #define LBMMON_FORMAT_FILTER_NE 3
340
341 #define LBMMON_FORMAT_FILTER_LT 4
342
343 #define LBMMON_FORMAT_FILTER_GT 5
344
345 #define LBMMON_FORMAT_SELECT_EQ 6
346
347 #define LBMMON_FORMAT_SELECT_NE 7
348
349 #define LBMMON_FORMAT_SELECT_LT 8
350
351 #define LBMMON_FORMAT_SELECT_GT 9
352
353 #define LBMMON_FORMAT_SELECT_MATCH 10
354
355 #define LBMMON_FORMAT_SELECT_MATCH_REGX 11
356
358 #define LBMMON_FORMAT_DESERIALIZE_OK 0
359
360 #define LBMMON_FORMAT_DESERIALIZE_PASSTHROUGH 1
361
362 #define LBMMON_FORMAT_DESERIALIZE_CONVERT_PASSTHROUGH 2
363
364 #define LBMMON_FORMAT_DESERIALIZE_FAILURE -1
365
366 #define LBMMON_FORMAT_DESERIALIZE_TOO_SMALL -2
367
372 typedef struct lbmmon_attr_entry_t_stct
373 {
375 lbm_ushort_t mType;
377 lbm_ushort_t mLength;
378 } lbmmon_attr_entry_t;
379
403 typedef int (*lbmmon_format_init_t)(void * * FormatClientData,
404 const void * FormatOptions);
405
415 typedef int(*lbmmon_format_apply_options_t)(void * FormatClientData,
416 const void * FormatOptions);
417
426 LBMExpDLL int lbmmon_attributes_deserialize(lbmmon_packet_attributes_t * Attributes, char * Source, size_t Length);
427
459 typedef int (*lbmmon_rcv_format_serialize_t)(char * Destination,
460 size_t * Size,
461 unsigned short * ModuleID,
462 const lbmmon_packet_attributes_t * Attributes,
463 const lbm_rcv_transport_stats_t * Statistics,
464 void * FormatClientData);
465
493 typedef int (*lbmmon_src_format_serialize_t)(char * Destination,
494 size_t * Size,
495 unsigned short * ModuleID,
496 const lbmmon_packet_attributes_t * Attributes,
497 const lbm_src_transport_stats_t * Statistics,
498 void * FormatClientData);
499
529 typedef int (*lbmmon_evq_format_serialize_t)(char * Destination,
530 size_t * Size,
531 unsigned short * ModuleID,
532 const lbmmon_packet_attributes_t * Attributes,
533 const lbm_event_queue_stats_t * Statistics,
534 void * FormatClientData);
535
565 typedef int (*lbmmon_ctx_format_serialize_t)(char * Destination,
566 size_t * Size,
567 unsigned short * ModuleID,
568 const lbmmon_packet_attributes_t * Attributes,
569 const lbm_context_stats_t * Statistics,
570 void * FormatClientData);
571
598 typedef int (*lbmmon_rcv_format_deserialize_t)(lbmmon_packet_attributes_t * Attributes,
599 lbm_rcv_transport_stats_t * Statistics,
600 const char * Source,
601 size_t Length,
602 unsigned short ModuleID,
603 void * FormatClientData);
604
628 typedef int (*lbmmon_src_format_deserialize_t)(lbmmon_packet_attributes_t * Attributes,
629 lbm_src_transport_stats_t * Statistics,
630 const char * Source,
631 size_t Length,
632 unsigned short ModuleID,
633 void * FormatClientData);
634
659 typedef int (*lbmmon_evq_format_deserialize_t)(lbmmon_packet_attributes_t * Attributes,
660 lbm_event_queue_stats_t * Statistics,
661 const char * Source,
662 size_t Length,
663 unsigned short ModuleID,
664 void * FormatClientData);
665
690 typedef int (*lbmmon_ctx_format_deserialize_t)(lbmmon_packet_attributes_t * Attributes,
691 lbm_context_stats_t * Statistics,
692 const char * Source,
693 size_t Length,
694 unsigned short ModuleID,
695 void * FormatClientData);
696
728 typedef int (*lbmmon_rcv_topic_format_serialize_t)(char * Destination,
729 size_t * Size,
730 unsigned short * ModuleID,
731 const lbmmon_packet_attributes_t * Attributes,
732 const char * Topic,
733 lbm_ulong_t SourceCount,
734 const lbm_rcv_topic_stats_t * Sources,
735 void * FormatClientData);
736
762 typedef int (*lbmmon_rcv_topic_format_deserialize_t)(lbmmon_packet_attributes_t * Attributes,
763 size_t * Count,
764 lbm_rcv_topic_stats_t * Statistics,
765 const char * Source,
766 size_t Length,
767 unsigned short ModuleID,
768 void * FormatClientData);
769
799 typedef int (*lbmmon_wildcard_rcv_format_serialize_t)(char * Destination,
800 size_t * Size,
801 unsigned short * ModuleID,
802 const lbmmon_packet_attributes_t * Attributes,
803 const lbm_wildcard_rcv_stats_t * Statistics,
804 void * FormatClientData);
805
829 typedef int (*lbmmon_wildcard_rcv_format_deserialize_t)(lbmmon_packet_attributes_t * Attributes,
830 lbm_wildcard_rcv_stats_t * Statistics,
831 const char * Source,
832 size_t Length,
833 unsigned short ModuleID,
834 void * FormatClientData);
835
867 typedef int (*lbmmon_umestore_format_serialize_t)(char * Destination,
868 size_t * Size,
869 unsigned short * ModuleID,
870 const lbmmon_packet_attributes_t * Attributes,
871 Lbmmon__UMPMonMsg * StoreMsg,
872 int Action,
873 void * FormatClientData);
874
875 typedef int (*lbmmon_umestore_format_deserialize_t)(lbmmon_packet_attributes_t * Attributes,
876 Lbmmon__UMPMonMsg ** StoreMsg,
877 const char * Source,
878 size_t Length,
879 unsigned short ModuleID,
880 void * FormatClientData);
881
887 typedef char * (*lbmmon_umestore_filter_options_t)(const char * FormatOptions);
888
895 typedef int (*lbmmon_umestore_free_unpacked_t)(Lbmmon__UMPMonMsg * StoreMsg);
896
926 typedef int (*lbmmon_gateway_format_serialize_t)(char * Destination,
927 size_t * Size,
928 unsigned short * ModuleID,
929 const lbmmon_packet_attributes_t * Attributes,
930 Lbmmon__DROMonMsg * GatewayMsg,
931 void * FormatClientData);
932
933 typedef int (*lbmmon_gateway_format_deserialize_t)(lbmmon_packet_attributes_t * Attributes,
934 Lbmmon__DROMonMsg ** GatewayMsg,
935 const char * Source,
936 size_t Length,
937 unsigned short ModuleID,
938 void * FormatClientData);
939
946 typedef int (*lbmmon_gateway_free_unpacked_t)(Lbmmon__DROMonMsg * GatewayMsg);
947
961 typedef int (*lbmmon_format_finish_t)(void * FormatClientData);
962
967 typedef const char * (*lbmmon_format_errmsg_t)(void);
968
971 typedef struct lbmmon_format_func_t_stct
972 {
974 lbmmon_format_init_t mInit;
976 lbmmon_format_apply_options_t mApplyOptions;
978 lbmmon_rcv_format_serialize_t mRcvSerialize;
980 lbmmon_src_format_serialize_t mSrcSerialize;
982 lbmmon_rcv_format_deserialize_t mRcvDeserialize;
984 lbmmon_src_format_deserialize_t mSrcDeserialize;
986 lbmmon_format_finish_t mFinish;
988 lbmmon_format_errmsg_t mErrorMessage;
990 lbmmon_evq_format_serialize_t mEvqSerialize;
992 lbmmon_evq_format_deserialize_t mEvqDeserialize;
994 lbmmon_ctx_format_serialize_t mCtxSerialize;
996 lbmmon_ctx_format_deserialize_t mCtxDeserialize;
998 lbmmon_rcv_topic_format_serialize_t mRcvTopicSerialize;
1000 lbmmon_rcv_topic_format_deserialize_t mRcvTopicDeserialize;
1002 lbmmon_wildcard_rcv_format_serialize_t mWildcardRcvSerialize;
1004 lbmmon_wildcard_rcv_format_deserialize_t mWildcardRcvDeserialize;
1006 lbmmon_umestore_format_serialize_t mStoreSerialize;
1008 lbmmon_umestore_format_deserialize_t mStoreDeserialize;
1010 lbmmon_umestore_filter_options_t mStoreFilterOptions;
1012 lbmmon_umestore_free_unpacked_t mStoreFreeUnpacked;
1014 lbmmon_gateway_format_serialize_t mGatewaySerialize;
1016 lbmmon_gateway_format_deserialize_t mGatewayDeserialize;
1018 lbmmon_gateway_free_unpacked_t mGatewayFreeUnpacked;
1019 } lbmmon_format_func_t;
1020
1028 typedef void (*lbmmon_rcv_statistics_cb)(const void * AttributeBlock,
1029 const lbm_rcv_transport_stats_t * Statistics,
1030 void * ClientData);
1031
1036 typedef struct lbmmon_rcv_statistics_func_t_stct
1037 {
1039 lbmmon_rcv_statistics_cb cbfunc;
1040 } lbmmon_rcv_statistics_func_t;
1041
1049 typedef void (*lbmmon_src_statistics_cb)(const void * AttributeBlock,
1050 const lbm_src_transport_stats_t * Statistics,
1051 void * ClientData);
1052
1057 typedef struct lbmmon_src_statistics_func_t_stct
1058 {
1060 lbmmon_src_statistics_cb cbfunc;
1061 } lbmmon_src_statistics_func_t;
1062
1070 typedef void (*lbmmon_evq_statistics_cb)(const void * AttributeBlock,
1071 const lbm_event_queue_stats_t * Statistics,
1072 void * ClientData);
1073
1078 typedef struct lbmmon_evq_statistics_func_t_stct
1079 {
1081 lbmmon_evq_statistics_cb cbfunc;
1082 } lbmmon_evq_statistics_func_t;
1083
1091 typedef void (*lbmmon_ctx_statistics_cb)(const void * AttributeBlock,
1092 const lbm_context_stats_t * Statistics,
1093 void * ClientData);
1094
1099 typedef struct lbmmon_ctx_statistics_func_t_stct
1100 {
1102 lbmmon_ctx_statistics_cb cbfunc;
1103 } lbmmon_ctx_statistics_func_t;
1104
1112 typedef void (*lbmmon_rcv_topic_statistics_cb)(const void * AttributeBlock,
1113 const lbm_rcv_topic_stats_t * Statistics,
1114 void * ClientData);
1115
1120 typedef struct lbmmon_rcv_topic_statistics_func_t_stct
1121 {
1123 lbmmon_rcv_topic_statistics_cb cbfunc;
1124 } lbmmon_rcv_topic_statistics_func_t;
1125
1133 typedef void (*lbmmon_wildcard_rcv_statistics_cb)(const void * AttributeBlock,
1134 const lbm_wildcard_rcv_stats_t * Statistics,
1135 void * ClientData);
1136
1141 typedef struct lbmmon_wildcard_rcv_statistics_func_t_stct
1142 {
1144 lbmmon_wildcard_rcv_statistics_cb cbfunc;
1145 } lbmmon_wildcard_rcv_statistics_func_t;
1146
1153 typedef void(*lbmmon_umestore_statistics_cb)(const void * AttributeBlock,
1154 const Lbmmon__UMPMonMsg * StoreMsg,
1155 void * ClientData);
1156
1161 typedef struct lbmmon_umestore_statistics_func_t_stct
1162 {
1164 lbmmon_umestore_statistics_cb cbfunc;
1165 } lbmmon_umestore_statistics_func_t;
1166
1173 typedef void(*lbmmon_gateway_statistics_cb)(const void * AttributeBlock,
1174 const Lbmmon__DROMonMsg * GatewayMsg,
1175 void * ClientData);
1176
1181 typedef struct lbmmon_gateway_statistics_func_t_stct
1182 {
1184 lbmmon_gateway_statistics_cb cbfunc;
1185 } lbmmon_gateway_statistics_func_t;
1186
1196 typedef void(*lbmmon_passthrough_statistics_cb)(const lbmmon_packet_hdr_t * PacketHeader,
1197 lbmmon_packet_attributes_t * Attributes,
1198 void * AttributeBlock,
1199 void * Statistics,
1200 size_t Length,
1201 void * ClientData);
1202
1207 typedef struct lbmmon_passthrough_statistics_func_t_stct
1208 {
1210 lbmmon_passthrough_statistics_cb cbfunc;
1211 } lbmmon_passthrough_statistics_func_t;
1212
1214 #define LBMMON_RCTL_RECEIVER_CALLBACK 0
1215
1216 #define LBMMON_RCTL_SOURCE_CALLBACK 1
1217
1218 #define LBMMON_RCTL_EVENT_QUEUE_CALLBACK 2
1219
1220 #define LBMMON_RCTL_CONTEXT_CALLBACK 3
1221
1222 #define LBMMON_RCTL_RECEIVER_TOPIC_CALLBACK 4
1223
1224 #define LBMMON_RCTL_WILDCARD_RECEIVER_CALLBACK 5
1225
1226 #define LBMMON_RCTL_UMESTORE_CALLBACK 6
1227
1228 #define LBMMON_RCTL_GATEWAY_CALLBACK 7
1229
1230 #define LBMMON_RCTL_PASSTHROUGH_CALLBACK 8
1231
1242 typedef int (*lbmmon_transport_initsrc_t)(void * * TransportClientData,
1243 const void * TransportOptions);
1244
1255 typedef int (*lbmmon_transport_initrcv_t)(void * * TransportClientData,
1256 const void * TransportOptions);
1257
1266 typedef int (*lbmmon_transport_send_t)(const char * Data,
1267 size_t Length,
1268 void * TransportClientData);
1269
1287 typedef int (*lbmmon_transport_receive_t)(char * Data,
1288 size_t * Length,
1289 unsigned int TimeoutMS,
1290 void * TransportClientData);
1291
1300 typedef int (*lbmmon_transport_finishsrc_t)(void * TransportClientData);
1301
1310 typedef int (*lbmmon_transport_finishrcv_t)(void * TransportClientData);
1311
1316 typedef const char * (*lbmmon_transport_errmsg_t)(void);
1317
1322 typedef const char * (*lbmmon_transport_ctrlmsgtarget_t)(void);
1323
1335 typedef int(*lbmmon_transport_ctrlmsg_receive_t)(char * Data,
1336 size_t * Length,
1337 void * TransportClientData);
1338
1346 typedef int(*lbmmon_transport_ctrlmsg_response_t)(const char * Data,
1347 size_t Length,
1348 void * TransportClientData);
1349
1354 typedef int(*lbmmon_transport_allow_debug_t)(void * TransportClientData);
1355
1358 typedef struct lbmmon_transport_func_t_stct
1359 {
1361 lbmmon_transport_initsrc_t mInitSource;
1363 lbmmon_transport_initrcv_t mInitReceiver;
1365 lbmmon_transport_send_t mSend;
1367 lbmmon_transport_receive_t mReceive;
1369 lbmmon_transport_finishsrc_t mFinishSource;
1371 lbmmon_transport_finishrcv_t mFinishReceiver;
1373 lbmmon_transport_errmsg_t mErrorMessage;
1375 lbmmon_transport_ctrlmsgtarget_t mControlMessageTarget;
1377 lbmmon_transport_ctrlmsg_receive_t mControlMessageReceive;
1379 lbmmon_transport_ctrlmsg_response_t mControlMessageResponse;
1381 lbmmon_transport_allow_debug_t mAllowDebug;
1382 } lbmmon_transport_func_t;
1383
1384 struct lbmmon_sctl_t_stct;
1387 typedef struct lbmmon_sctl_t_stct lbmmon_sctl_t;
1388
1389 struct lbmmon_rctl_attr_t_stct;
1392 typedef struct lbmmon_rctl_attr_t_stct lbmmon_rctl_attr_t;
1393
1394 struct lbmmon_rctl_t_stct;
1397 typedef struct lbmmon_rctl_t_stct lbmmon_rctl_t;
1398
1419 LBMExpDLL int lbmmon_sctl_create(lbmmon_sctl_t * * Control,
1420 const lbmmon_format_func_t * Format,
1421 const void * FormatOptions,
1422 const lbmmon_transport_func_t * Transport,
1423 const void * TransportOptions);
1424
1434 LBMExpDLL int lbmmon_rctl_attr_create(lbmmon_rctl_attr_t * * Attributes);
1435
1444 LBMExpDLL int lbmmon_rctl_attr_delete(lbmmon_rctl_attr_t * Attributes);
1445
1455 LBMExpDLL int lbmmon_rctl_attr_setopt(lbmmon_rctl_attr_t * Attributes, int Option, void * Value, size_t Length);
1456
1467 LBMExpDLL int lbmmon_rctl_attr_getopt(lbmmon_rctl_attr_t * Attributes, int Option, void * Value, size_t * Length);
1468
1493 LBMExpDLL int lbmmon_rctl_create(lbmmon_rctl_t * * Control,
1494 const lbmmon_format_func_t * Format,
1495 const void * FormatOptions,
1496 const lbmmon_transport_func_t * Transport,
1497 const void * TransportOptions,
1498 lbmmon_rctl_attr_t * Attributes,
1499 void * ClientData);
1500
1533 LBMExpDLL int lbmmon_context_monitor(lbmmon_sctl_t * Control,
1534 lbm_context_t * Context,
1535 const char * ApplicationSourceID,
1536 unsigned int Seconds);
1537
1547 LBMExpDLL int lbmmon_context_unmonitor(lbmmon_sctl_t * Control,
1548 lbm_context_t * Context);
1549
1579 LBMExpDLL int lbmmon_src_monitor(lbmmon_sctl_t * Control,
1580 lbm_src_t * Source,
1581 const char * ApplicationSourceID,
1582 unsigned int Seconds);
1583
1613 LBMExpDLL int lbmmon_ssrc_monitor(lbmmon_sctl_t * Control,
1614 lbm_ssrc_t * SmartSource,
1615 const char * ApplicationSourceID,
1616 unsigned int Seconds);
1617
1627 LBMExpDLL int lbmmon_src_unmonitor(lbmmon_sctl_t * Control,
1628 lbm_src_t * Source);
1629
1639 LBMExpDLL int lbmmon_ssrc_unmonitor(lbmmon_sctl_t * Control,
1640 lbm_ssrc_t * SmartSource);
1641
1670 LBMExpDLL int lbmmon_rcv_monitor(lbmmon_sctl_t * Control,
1671 lbm_rcv_t * Receiver,
1672 const char * ApplicationSourceID,
1673 unsigned int Seconds);
1674
1684 LBMExpDLL int lbmmon_rcv_unmonitor(lbmmon_sctl_t * Control,
1685 lbm_rcv_t * Receiver);
1686
1715 LBMExpDLL int lbmmon_evq_monitor(lbmmon_sctl_t * Control,
1716 lbm_event_queue_t * EventQueue,
1717 const char * ApplicationSourceID,
1718 unsigned int Seconds);
1719
1729 LBMExpDLL int lbmmon_evq_unmonitor(lbmmon_sctl_t * Control,
1730 lbm_event_queue_t * EventQueue);
1731
1740 LBMExpDLL int lbmmon_sctl_destroy(lbmmon_sctl_t * Control);
1741
1749 LBMExpDLL int lbmmon_rctl_destroy(lbmmon_rctl_t * Control);
1750
1756 LBMExpDLL int lbmmon_sctl_sample(lbmmon_sctl_t * Control);
1757
1769 LBMExpDLL int lbmmon_sctl_sample_ex(lbmmon_sctl_t * Control, const char * ApplicationSourceID);
1770
1779 LBMExpDLL int lbmmon_attr_get_ipv4sender(const void * AttributeBlock,
1780 lbm_uint_t * Address);
1781
1788 LBMExpDLL int lbmmon_attr_get_timestamp(const void * AttributeBlock,
1789 time_t * Timestamp);
1790
1799 LBMExpDLL int lbmmon_attr_get_appsourceid(const void * AttributeBlock,
1800 char * ApplicationSourceID,
1801 size_t Length);
1802
1809 LBMExpDLL int lbmmon_attr_get_objectid(const void * AttributeBlock,
1810 lbm_ulong_t * ObjectID);
1811
1819 LBMExpDLL int lbmmon_attr_get_contextid(const void * AttributeBlock,
1820 lbm_ulong_t * ContextID);
1821
1828 LBMExpDLL int lbmmon_attr_get_processid(const void * AttributeBlock,
1829 lbm_ulong_t * ProcessID);
1830
1837 LBMExpDLL int lbmmon_attr_get_source(const void * AttributeBlock,
1838 lbm_ulong_t * Source);
1839
1847 LBMExpDLL int lbmmon_attr_get_ctxinst(const void * AttributeBlock,
1848 lbm_uint8_t * ContextInstance,
1849 size_t Length);
1850
1857 LBMExpDLL int lbmmon_attr_get_domainid(const void * AttributeBlock,
1858 lbm_uint32_t * DomainID);
1859
1864 LBMExpDLL int lbmmon_errnum(void);
1865
1870 LBMExpDLL const char * lbmmon_errmsg(void);
1871
1885 LBMExpDLL const char * lbmmon_next_key_value_pair(const char * String,
1886 char * Key,
1887 size_t KeySize,
1888 char * Value,
1889 size_t ValueSize);
1890
1906 LBMExpDLL int lbmmon_control_serialize(char *Destination, size_t *Size, int Command, char *Data, int NodeType, char *ApplicationSourceID);
1907
1912 LBMExpDLL const char * lbmmon_control_valid_commands(void);
1913
1918 LBMExpDLL const char * lbmmon_control_valid_node_types(void);
1919
1925 LBMExpDLL int lbmmon_control_index_for_command(char *Command);
1926
1932 LBMExpDLL int lbmmon_control_index_for_node_type(char *NodeType);
1933
1941 LBMExpDLL int lbmmon_control_load_data_from_filename(char *Filename, char **Data);
1942
1947 LBMExpDLL int lbmmon_control_dump_default_filter_options(void);
1948
1953 LBMExpDLL const char * lbmmon_control_errmsg(void);
1954
1962 LBMExpDLL void lbmmon_add_header(char * Packet, const char * Data, size_t Length, int PacketType);
1963
1964 #if defined(__cplusplus)
1965 }
1966 #endif /* __cplusplus */
1967
1968 #include <lbm/lbmmonfmtcsv.h>
1969 #include <lbm/lbmmonfmtpb.h>
1970 #include <lbm/lbmmontrlbm.h>
1971 #include <lbm/lbmmontrudp.h>
1972 #include <lbm/lbmmontrlbmsnmp.h>
1973
1974 #endif
1975
lbmmon_transport_func_t_stct::mFinishSource
lbmmon_transport_finishsrc_t mFinishSource
Definition: lbmmon.h:1369
lbmmon_transport_ctrlmsg_response_t
int(* lbmmon_transport_ctrlmsg_response_t)(const char *Data, size_t Length, void *TransportClientData)
Function to send response to control message requests.
Definition: lbmmon.h:1346
lbmmon_control_serialize
LBMExpDLL int lbmmon_control_serialize(char *Destination, size_t *Size, int Command, char *Data, int NodeType, char *ApplicationSourceID)
Function to serialize a control message.
lbmmon_gateway_statistics_func_t
struct lbmmon_gateway_statistics_func_t_stct lbmmon_gateway_statistics_func_t
A structure that holds the callback information for gateway statistics.
lbmmon_gateway_statistics_func_t_stct::cbfunc
lbmmon_gateway_statistics_cb cbfunc
Definition: lbmmon.h:1184
lbmmon_control_load_data_from_filename
LBMExpDLL int lbmmon_control_load_data_from_filename(char *Filename, char **Data)
Load data from filename into a buffer.
lbmmon_rctl_attr_create
LBMExpDLL int lbmmon_rctl_attr_create(lbmmon_rctl_attr_t **Attributes)
Create an LBM Monitoring Receive Controller attribute object.
lbmmon_umestore_statistics_func_t_stct::cbfunc
lbmmon_umestore_statistics_cb cbfunc
Definition: lbmmon.h:1164
lbmmon_packet_attributes_t_stct::mAddress
lbm_uint_t mAddress
Definition: lbmmon.h:232
lbmmon_rctl_t
struct lbmmon_rctl_t_stct lbmmon_rctl_t
LBM Monitoring Receiver Controller object (opaque).
Definition: lbmmon.h:1397
lbmmon_format_func_t_stct::mStoreFreeUnpacked
lbmmon_umestore_free_unpacked_t mStoreFreeUnpacked
Definition: lbmmon.h:1012
lbmmon_ssrc_monitor
LBMExpDLL int lbmmon_ssrc_monitor(lbmmon_sctl_t *Control, lbm_ssrc_t *SmartSource, const char *ApplicationSourceID, unsigned int Seconds)
Register a smart source for monitoring.
lbmmon_transport_func_t_stct::mControlMessageTarget
lbmmon_transport_ctrlmsgtarget_t mControlMessageTarget
Definition: lbmmon.h:1375
lbmmon_sctl_t
struct lbmmon_sctl_t_stct lbmmon_sctl_t
LBM Monitoring Source Controller object (opaque).
Definition: lbmmon.h:1387
lbmmon_attr_get_source
LBMExpDLL int lbmmon_attr_get_source(const void *AttributeBlock, lbm_ulong_t *Source)
Retrieve the source attribute from the statistics attribute block.
lbmmon_attr_get_timestamp
LBMExpDLL int lbmmon_attr_get_timestamp(const void *AttributeBlock, time_t *Timestamp)
Retrieve the timestamp attribute from the statistics attribute block.
lbmmon_umestore_statistics_func_t_stct
A structure that holds the callback information for store statistics.
Definition: lbmmon.h:1161
lbmmon_transport_errmsg_t
const char *(* lbmmon_transport_errmsg_t)(void)
Function to return the last error message from a transport module.
Definition: lbmmon.h:1316
lbmmon_transport_func_t_stct::mReceive
lbmmon_transport_receive_t mReceive
Definition: lbmmon.h:1367
lbmmon_gateway_free_unpacked_t
int(* lbmmon_gateway_free_unpacked_t)(Lbmmon__DROMonMsg *GatewayMsg)
Function to free an unpacked Lbmmon__DROMonMsg structure.
Definition: lbmmon.h:946
lbmmon_ssrc_unmonitor
LBMExpDLL int lbmmon_ssrc_unmonitor(lbmmon_sctl_t *Control, lbm_ssrc_t *SmartSource)
Terminate monitoring for a smart source.
lbmmon_transport_ctrlmsg_receive_t
int(* lbmmon_transport_ctrlmsg_receive_t)(char *Data, size_t *Length, void *TransportClientData)
Receive control message requests.
Definition: lbmmon.h:1335
lbm_event_queue_stats_t_stct
Structure that holds statistics for an event queue.
Definition: lbm.h:5321
lbmmon_transport_ctrlmsgtarget_t
const char *(* lbmmon_transport_ctrlmsgtarget_t)(void)
Function to return the target address for control message requests.
Definition: lbmmon.h:1322
lbm_ushort_t
unsigned short int lbm_ushort_t
For portability.
Definition: lbm.h:1736
lbmmon_packet_attributes_t_stct::mDomainID
lbm_uint32_t mDomainID
Definition: lbmmon.h:248
lbmmon_umestore_filter_options_t
char *(* lbmmon_umestore_filter_options_t)(const char *FormatOptions)
Function to return the store filter options from a format module.
Definition: lbmmon.h:887
lbmmon_transport_func_t_stct::mControlMessageResponse
lbmmon_transport_ctrlmsg_response_t mControlMessageResponse
Definition: lbmmon.h:1379
lbmmon_wildcard_rcv_statistics_func_t
struct lbmmon_wildcard_rcv_statistics_func_t_stct lbmmon_wildcard_rcv_statistics_func_t
A structure that holds the callback information for wildcard receiver statistics. ...
lbmmon_attr_get_objectid
LBMExpDLL int lbmmon_attr_get_objectid(const void *AttributeBlock, lbm_ulong_t *ObjectID)
Retrieve the object ID attribute from the statistics attribute block.
lbmmon_format_func_t_stct::mCtxSerialize
lbmmon_ctx_format_serialize_t mCtxSerialize
Definition: lbmmon.h:994
lbmmon_evq_monitor
LBMExpDLL int lbmmon_evq_monitor(lbmmon_sctl_t *Control, lbm_event_queue_t *EventQueue, const char *ApplicationSourceID, unsigned int Seconds)
Register an event queue for monitoring.
lbm_uint64_t
uint64_t lbm_uint64_t
For portability.
Definition: lbm.h:1748
lbmmon_packet_attributes_t_stct::mModuleID
lbm_ushort_t mModuleID
Definition: lbmmon.h:236
lbmmon_packet_attributes_t_stct::mTimestamp
time_t mTimestamp
Definition: lbmmon.h:234
lbmmon_transport_initrcv_t
int(* lbmmon_transport_initrcv_t)(void **TransportClientData, const void *TransportOptions)
Function to initialize a transport module to serve as a receiver of statistics.
Definition: lbmmon.h:1255
lbmmon_rcv_topic_statistics_cb
void(* lbmmon_rcv_topic_statistics_cb)(const void *AttributeBlock, const lbm_rcv_topic_stats_t *Statistics, void *ClientData)
For internal use only. Client callback function to process a received receiver topic statistics packe...
Definition: lbmmon.h:1112
lbmmon_transport_finishrcv_t
int(* lbmmon_transport_finishrcv_t)(void *TransportClientData)
Finish processing for a receiver transport.
Definition: lbmmon.h:1310
lbmmon_packet_hdr_t_stct::mAttributeBlockLength
lbm_ushort_t mAttributeBlockLength
Definition: lbmmon.h:218
lbmmon_transport_func_t_stct::mFinishReceiver
lbmmon_transport_finishrcv_t mFinishReceiver
Definition: lbmmon.h:1371
lbmmon_transport_allow_debug_t
int(* lbmmon_transport_allow_debug_t)(void *TransportClientData)
Function to return the allow debug indicator from a transport module.
Definition: lbmmon.h:1354
lbmmon_next_key_value_pair
LBMExpDLL const char * lbmmon_next_key_value_pair(const char *String, char *Key, size_t KeySize, char *Value, size_t ValueSize)
Retrieve the next key/value pair from a semicolon-separated list.
lbmmon_rcv_topic_format_serialize_t
int(* lbmmon_rcv_topic_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbmmon_packet_attributes_t *Attributes, const char *Topic, lbm_ulong_t SourceCount, const lbm_rcv_topic_stats_t *Sources, void *FormatClientData)
Function to serialize receiver topic statistics.
Definition: lbmmon.h:728
lbmmon_attr_get_processid
LBMExpDLL int lbmmon_attr_get_processid(const void *AttributeBlock, lbm_ulong_t *ProcessID)
Retrieve the process ID attribute from the statistics attribute block.
lbmmon_passthrough_statistics_func_t_stct
A structure that holds the callback information for the passthrough format option.
Definition: lbmmon.h:1207
lbmmon_rctl_attr_getopt
LBMExpDLL int lbmmon_rctl_attr_getopt(lbmmon_rctl_attr_t *Attributes, int Option, void *Value, size_t *Length)
Get an LBMMON receive controller attribute option value.
lbmmon_format_func_t_stct::mRcvTopicDeserialize
lbmmon_rcv_topic_format_deserialize_t mRcvTopicDeserialize
Definition: lbmmon.h:1000
lbmmon_attr_block_t
struct lbmmon_attr_block_t_stct lbmmon_attr_block_t
Statistics attribute block layout. Associated with each statistics message is a set of optional attri...
lbmmon_rctl_attr_t
struct lbmmon_rctl_attr_t_stct lbmmon_rctl_attr_t
LBM Monitoring Receiver Controller Attribute object (opaque).
Definition: lbmmon.h:1392
lbmmon_gateway_statistics_cb
void(* lbmmon_gateway_statistics_cb)(const void *AttributeBlock, const Lbmmon__DROMonMsg *GatewayMsg, void *ClientData)
Client callback function to process a received gateway statistics packet.
Definition: lbmmon.h:1173
lbmmon_format_func_t_stct::mStoreSerialize
lbmmon_umestore_format_serialize_t mStoreSerialize
Definition: lbmmon.h:1006
lbmmon_attr_get_ipv4sender
LBMExpDLL int lbmmon_attr_get_ipv4sender(const void *AttributeBlock, lbm_uint_t *Address)
Retrieve the IPV4 sender address attribute from the statistics attribute block.
lbmmon_rctl_destroy
LBMExpDLL int lbmmon_rctl_destroy(lbmmon_rctl_t *Control)
Destroy a statistics receive controller.
lbmmon_transport_initsrc_t
int(* lbmmon_transport_initsrc_t)(void **TransportClientData, const void *TransportOptions)
Function to initialize a transport module to serve as a source of statistics.
Definition: lbmmon.h:1242
lbmmon_attr_get_appsourceid
LBMExpDLL int lbmmon_attr_get_appsourceid(const void *AttributeBlock, char *ApplicationSourceID, size_t Length)
Retrieve the application source ID attribute from the statistics attribute block. ...
lbmmon_umestore_free_unpacked_t
int(* lbmmon_umestore_free_unpacked_t)(Lbmmon__UMPMonMsg *StoreMsg)
Function to free an unpacked Lbmmon__UMPMonMsg structure.
Definition: lbmmon.h:895
lbmmon_attr_entry_t_stct
Statistics attribute entry layout. Each attribute entry within the attributes block consists of an en...
Definition: lbmmon.h:372
lbmmon_rcv_statistics_cb
void(* lbmmon_rcv_statistics_cb)(const void *AttributeBlock, const lbm_rcv_transport_stats_t *Statistics, void *ClientData)
Client callback function to process a received receiver statistics packet.
Definition: lbmmon.h:1028
lbmmon_format_func_t
struct lbmmon_format_func_t_stct lbmmon_format_func_t
Format module function pointer container.
lbm_event_queue_t
struct lbm_event_queue_t_stct lbm_event_queue_t
Opaque structure that designates a UM event queue object. See Event Queue Object. ...
Definition: lbm.h:2293
lbmmon_rcv_topic_statistics_func_t_stct::cbfunc
lbmmon_rcv_topic_statistics_cb cbfunc
Definition: lbmmon.h:1123
lbmmon_packet_attributes_t_stct::mPacketAttributesMagic
lbm_ushort_t mPacketAttributesMagic
Definition: lbmmon.h:228
lbmmon_packet_hdr_t
struct lbmmon_packet_hdr_t_stct lbmmon_packet_hdr_t
Statistics packet header layout.
lbmmon_format_func_t_stct::mApplyOptions
lbmmon_format_apply_options_t mApplyOptions
Definition: lbmmon.h:976
lbmmon_evq_statistics_func_t_stct::cbfunc
lbmmon_evq_statistics_cb cbfunc
Definition: lbmmon.h:1081
lbmmon_sctl_sample
LBMExpDLL int lbmmon_sctl_sample(lbmmon_sctl_t *Control)
Gather statistics for on-demand objects.
lbm_ssrc_t
struct lbm_ssrc_t_stct lbm_ssrc_t
Opaque structure that designates a UM Smart Source.
Definition: lbm.h:3881
lbmmon_packet_attributes_t_stct::mSourceFlag
lbm_ushort_t mSourceFlag
Definition: lbmmon.h:238
lbmmon_rcv_unmonitor
LBMExpDLL int lbmmon_rcv_unmonitor(lbmmon_sctl_t *Control, lbm_rcv_t *Receiver)
Terminate monitoring for a receiver.
lbmmon_format_init_t
int(* lbmmon_format_init_t)(void **FormatClientData, const void *FormatOptions)
Function to initialize a format module.
Definition: lbmmon.h:403
lbmmon_src_unmonitor
LBMExpDLL int lbmmon_src_unmonitor(lbmmon_sctl_t *Control, lbm_src_t *Source)
Terminate monitoring for a source.
lbmmon_format_func_t_stct::mEvqDeserialize
lbmmon_evq_format_deserialize_t mEvqDeserialize
Definition: lbmmon.h:992
lbmmon_format_func_t_stct::mFinish
lbmmon_format_finish_t mFinish
Definition: lbmmon.h:986
lbmmon_format_func_t_stct::mGatewayDeserialize
lbmmon_gateway_format_deserialize_t mGatewayDeserialize
Definition: lbmmon.h:1016
lbmmon_ctx_format_deserialize_t
int(* lbmmon_ctx_format_deserialize_t)(lbmmon_packet_attributes_t *Attributes, lbm_context_stats_t *Statistics, const char *Source, size_t Length, unsigned short ModuleID, void *FormatClientData)
Function to deserialize a buffer into an lbm_context_stats_t structure.
Definition: lbmmon.h:690
lbmmon_rcv_topic_statistics_func_t
struct lbmmon_rcv_topic_statistics_func_t_stct lbmmon_rcv_topic_statistics_func_t
For internal use only. A structure that holds the callback information for receiver topic statistics...
lbmmon_format_func_t_stct::mSrcDeserialize
lbmmon_src_format_deserialize_t mSrcDeserialize
Definition: lbmmon.h:984
lbm_rcv_topic_stats_t_stct
Structure that holds statistics for a receiver topic.
Definition: lbm.h:5822
lbmmon_rctl_attr_setopt
LBMExpDLL int lbmmon_rctl_attr_setopt(lbmmon_rctl_attr_t *Attributes, int Option, void *Value, size_t Length)
Set an LBMMON receive controller attribute option value.
lbmmon_rcv_statistics_func_t_stct::cbfunc
lbmmon_rcv_statistics_cb cbfunc
Definition: lbmmon.h:1039
lbmmon_transport_finishsrc_t
int(* lbmmon_transport_finishsrc_t)(void *TransportClientData)
Finish processing for a source transport.
Definition: lbmmon.h:1300
lbmmon_passthrough_statistics_cb
void(* lbmmon_passthrough_statistics_cb)(const lbmmon_packet_hdr_t *PacketHeader, lbmmon_packet_attributes_t *Attributes, void *AttributeBlock, void *Statistics, size_t Length, void *ClientData)
Client callback function to process a statistics packet when using the passthrough format option...
Definition: lbmmon.h:1196
lbmmon_src_statistics_cb
void(* lbmmon_src_statistics_cb)(const void *AttributeBlock, const lbm_src_transport_stats_t *Statistics, void *ClientData)
Client callback function to process a received source statistics packet.
Definition: lbmmon.h:1049
lbmmon_ctx_statistics_func_t_stct::cbfunc
lbmmon_ctx_statistics_cb cbfunc
Definition: lbmmon.h:1102
lbmmon_attr_get_ctxinst
LBMExpDLL int lbmmon_attr_get_ctxinst(const void *AttributeBlock, lbm_uint8_t *ContextInstance, size_t Length)
For internal use only. Retrieve the context instance attribute from the statistics attribute block...
lbmmon_attr_get_domainid
LBMExpDLL int lbmmon_attr_get_domainid(const void *AttributeBlock, lbm_uint32_t *DomainID)
For internal use only. Retrieve the domain ID attribute from the statistics attribute block...
lbmmon_transport_func_t_stct::mInitReceiver
lbmmon_transport_initrcv_t mInitReceiver
Definition: lbmmon.h:1363
lbm_uint8_t
uint8_t lbm_uint8_t
For portability.
Definition: lbm.h:1740
lbmmon_packet_hdr_t_stct
Statistics packet header layout.
Definition: lbmmon.h:211
lbmmon_errmsg
LBMExpDLL const char * lbmmon_errmsg(void)
Retrieve the error message for the last error encountered.
lbmmon_control_errmsg
LBMExpDLL const char * lbmmon_control_errmsg(void)
Function to return the last error message from lbmmon_control.
lbmmon_sctl_destroy
LBMExpDLL int lbmmon_sctl_destroy(lbmmon_sctl_t *Control)
Destroy a source monitoring controller.
lbmmon_format_func_t_stct::mWildcardRcvDeserialize
lbmmon_wildcard_rcv_format_deserialize_t mWildcardRcvDeserialize
Definition: lbmmon.h:1004
lbmmon_format_func_t_stct::mStoreFilterOptions
lbmmon_umestore_filter_options_t mStoreFilterOptions
Definition: lbmmon.h:1010
lbmmon_attributes_deserialize
LBMExpDLL int lbmmon_attributes_deserialize(lbmmon_packet_attributes_t *Attributes, char *Source, size_t Length)
Deserialize the Attributes Block into the lbmmon_packet_attributes_t structure.
lbmmon_packet_attributes_t_stct::mProcessID
lbm_uint64_t mProcessID
Definition: lbmmon.h:244
lbmmon_ctx_statistics_func_t
struct lbmmon_ctx_statistics_func_t_stct lbmmon_ctx_statistics_func_t
A structure that holds the callback information for context statistics.
lbmmon_attr_entry_t_stct::mLength
lbm_ushort_t mLength
Definition: lbmmon.h:377
lbmmon_attr_block_t_stct::mEntryCount
lbm_ushort_t mEntryCount
Definition: lbmmon.h:258
lbmmon_wildcard_rcv_statistics_func_t_stct::cbfunc
lbmmon_wildcard_rcv_statistics_cb cbfunc
Definition: lbmmon.h:1144
lbmmon_format_func_t_stct::mGatewayFreeUnpacked
lbmmon_gateway_free_unpacked_t mGatewayFreeUnpacked
Definition: lbmmon.h:1018
lbmmon_rctl_attr_delete
LBMExpDLL int lbmmon_rctl_attr_delete(lbmmon_rctl_attr_t *Attributes)
Delete an LBM Monitoring Receive Controller attribute object.
lbm_rcv_t
struct lbm_rcv_t_stct lbm_rcv_t
Opaque structure that designates a UM receiver. See Receiver Object.
Definition: lbm.h:3887
lbm_uint_t
unsigned int lbm_uint_t
For portability.
Definition: lbm.h:1732
lbmmon_control_valid_commands
LBMExpDLL const char * lbmmon_control_valid_commands(void)
Retrieve the list of valid LBMMON control commands.
lbmmon_evq_statistics_cb
void(* lbmmon_evq_statistics_cb)(const void *AttributeBlock, const lbm_event_queue_stats_t *Statistics, void *ClientData)
Client callback function to process a received event queue statistics packet.
Definition: lbmmon.h:1070
lbmmon_ctx_statistics_func_t_stct
A structure that holds the callback information for context statistics.
Definition: lbmmon.h:1099
lbmmon_rcv_format_serialize_t
int(* lbmmon_rcv_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbmmon_packet_attributes_t *Attributes, const lbm_rcv_transport_stats_t *Statistics, void *FormatClientData)
Function to serialize an lbm_rcv_transport_stats_t structure.
Definition: lbmmon.h:459
lbmmon_gateway_statistics_func_t_stct
A structure that holds the callback information for gateway statistics.
Definition: lbmmon.h:1181
lbmmon_transport_func_t_stct
Transport module function pointer container.
Definition: lbmmon.h:1358
lbmmon_format_func_t_stct::mErrorMessage
lbmmon_format_errmsg_t mErrorMessage
Definition: lbmmon.h:988
lbmmon_context_monitor
LBMExpDLL int lbmmon_context_monitor(lbmmon_sctl_t *Control, lbm_context_t *Context, const char *ApplicationSourceID, unsigned int Seconds)
Register a context for monitoring.
lbmmon_attr_entry_t_stct::mType
lbm_ushort_t mType
Definition: lbmmon.h:375
lbmmon_sctl_create
LBMExpDLL int lbmmon_sctl_create(lbmmon_sctl_t **Control, const lbmmon_format_func_t *Format, const void *FormatOptions, const lbmmon_transport_func_t *Transport, const void *TransportOptions)
Create an LBM Monitoring Source Controller.
lbmmon_format_func_t_stct::mSrcSerialize
lbmmon_src_format_serialize_t mSrcSerialize
Definition: lbmmon.h:980
lbmmon_attr_block_t_stct
Statistics attribute block layout. Associated with each statistics message is a set of optional attri...
Definition: lbmmon.h:255
lbmmon_format_func_t_stct::mEvqSerialize
lbmmon_evq_format_serialize_t mEvqSerialize
Definition: lbmmon.h:990
lbmmon_src_statistics_func_t_stct
A structure that holds the callback information for source statistics.
Definition: lbmmon.h:1057
lbmmon_umestore_format_serialize_t
int(* lbmmon_umestore_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbmmon_packet_attributes_t *Attributes, Lbmmon__UMPMonMsg *StoreMsg, int Action, void *FormatClientData)
Function to serialize store statistics.
Definition: lbmmon.h:867
lbm_wildcard_rcv_stats_t_stct
Structure that holds statistics for a wildcard receiver.
Definition: lbm.h:5850
lbmmon_rctl_create
LBMExpDLL int lbmmon_rctl_create(lbmmon_rctl_t **Control, const lbmmon_format_func_t *Format, const void *FormatOptions, const lbmmon_transport_func_t *Transport, const void *TransportOptions, lbmmon_rctl_attr_t *Attributes, void *ClientData)
Create an LBM Monitoring Receive Controller.
lbmmon_rcv_topic_statistics_func_t_stct
For internal use only. A structure that holds the callback information for receiver topic statistics...
Definition: lbmmon.h:1120
lbmmon_format_func_t_stct::mRcvTopicSerialize
lbmmon_rcv_topic_format_serialize_t mRcvTopicSerialize
Definition: lbmmon.h:998
lbmmon_evq_statistics_func_t
struct lbmmon_evq_statistics_func_t_stct lbmmon_evq_statistics_func_t
A structure that holds the callback information for event queue statistics.
lbmmon_control_index_for_command
LBMExpDLL int lbmmon_control_index_for_command(char *Command)
Retrieve the index associated with the given LBMMON control command.
lbmmon_wildcard_rcv_format_deserialize_t
int(* lbmmon_wildcard_rcv_format_deserialize_t)(lbmmon_packet_attributes_t *Attributes, lbm_wildcard_rcv_stats_t *Statistics, const char *Source, size_t Length, unsigned short ModuleID, void *FormatClientData)
Function to deserialize a buffer into an lbm_wildcard_rcv_stats_t structure.
Definition: lbmmon.h:829
lbmmon_format_func_t_stct::mRcvSerialize
lbmmon_rcv_format_serialize_t mRcvSerialize
Definition: lbmmon.h:978
lbmmon_ctx_format_serialize_t
int(* lbmmon_ctx_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbmmon_packet_attributes_t *Attributes, const lbm_context_stats_t *Statistics, void *FormatClientData)
Function to serialize an lbm_context_stats_t structure.
Definition: lbmmon.h:565
lbm_ulong_t
unsigned long int lbm_ulong_t
For portability.
Definition: lbm.h:1734
lbmmon_control_valid_node_types
LBMExpDLL const char * lbmmon_control_valid_node_types(void)
Retrieve the list of valid LBMMON control node types.
lbmmon_control_dump_default_filter_options
LBMExpDLL int lbmmon_control_dump_default_filter_options(void)
Dump the default filter options to stdout.
lbmmon_control_index_for_node_type
LBMExpDLL int lbmmon_control_index_for_node_type(char *NodeType)
Retrieve the index associated with the given LBMMON control node type.
lbm_context_stats_t_stct
Structure that holds statistics for a context.
Definition: lbm.h:5648
lbmmon_ctx_statistics_cb
void(* lbmmon_ctx_statistics_cb)(const void *AttributeBlock, const lbm_context_stats_t *Statistics, void *ClientData)
Client callback function to process a received context statistics packet.
Definition: lbmmon.h:1091
lbmmon_evq_format_deserialize_t
int(* lbmmon_evq_format_deserialize_t)(lbmmon_packet_attributes_t *Attributes, lbm_event_queue_stats_t *Statistics, const char *Source, size_t Length, unsigned short ModuleID, void *FormatClientData)
Function to deserialize a buffer into an lbm_event_queue_stats_t structure.
Definition: lbmmon.h:659
lbmmon_transport_func_t
struct lbmmon_transport_func_t_stct lbmmon_transport_func_t
Transport module function pointer container.
lbmmon_umestore_statistics_func_t
struct lbmmon_umestore_statistics_func_t_stct lbmmon_umestore_statistics_func_t
A structure that holds the callback information for store statistics.
lbmmon_src_statistics_func_t_stct::cbfunc
lbmmon_src_statistics_cb cbfunc
Definition: lbmmon.h:1060
lbmmon_wildcard_rcv_statistics_cb
void(* lbmmon_wildcard_rcv_statistics_cb)(const void *AttributeBlock, const lbm_wildcard_rcv_stats_t *Statistics, void *ClientData)
For internal use only. Client callback function to process a received wildcard receiver statistics pa...
Definition: lbmmon.h:1133
lbmmon_src_monitor
LBMExpDLL int lbmmon_src_monitor(lbmmon_sctl_t *Control, lbm_src_t *Source, const char *ApplicationSourceID, unsigned int Seconds)
Register a source for monitoring.
lbmmon_format_errmsg_t
const char *(* lbmmon_format_errmsg_t)(void)
Function to return the last error message from a format module.
Definition: lbmmon.h:967
lbmmon_format_func_t_stct::mRcvDeserialize
lbmmon_rcv_format_deserialize_t mRcvDeserialize
Definition: lbmmon.h:982
lbmmon_src_format_deserialize_t
int(* lbmmon_src_format_deserialize_t)(lbmmon_packet_attributes_t *Attributes, lbm_src_transport_stats_t *Statistics, const char *Source, size_t Length, unsigned short ModuleID, void *FormatClientData)
Function to deserialize a buffer into an lbm_src_transport_stats_t structure.
Definition: lbmmon.h:628
lbmmon_umestore_statistics_cb
void(* lbmmon_umestore_statistics_cb)(const void *AttributeBlock, const Lbmmon__UMPMonMsg *StoreMsg, void *ClientData)
Client callback function to process a received store statistics packet.
Definition: lbmmon.h:1153
lbmmon_passthrough_statistics_func_t_stct::cbfunc
lbmmon_passthrough_statistics_cb cbfunc
Definition: lbmmon.h:1210
lbmmon_packet_hdr_t_stct::mDataLength
lbm_ushort_t mDataLength
Definition: lbmmon.h:220
lbmmon_evq_statistics_func_t_stct
A structure that holds the callback information for event queue statistics.
Definition: lbmmon.h:1078
lbmmon_src_format_serialize_t
int(* lbmmon_src_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbmmon_packet_attributes_t *Attributes, const lbm_src_transport_stats_t *Statistics, void *FormatClientData)
Function to serialize an lbm_src_transport_stats_t structure.
Definition: lbmmon.h:493
lbmmon_packet_hdr_t_stct::mSignature
lbm_uint_t mSignature
Definition: lbmmon.h:214
lbmmon_packet_attributes_t_stct::mFlags
uint64_t mFlags
Definition: lbmmon.h:230
lbmmon_add_header
LBMExpDLL void lbmmon_add_header(char *Packet, const char *Data, size_t Length, int PacketType)
Add an LBMMON header to a serialized PB Buffer.
lbmmon_transport_func_t_stct::mErrorMessage
lbmmon_transport_errmsg_t mErrorMessage
Definition: lbmmon.h:1373
lbmmon_rcv_topic_format_deserialize_t
int(* lbmmon_rcv_topic_format_deserialize_t)(lbmmon_packet_attributes_t *Attributes, size_t *Count, lbm_rcv_topic_stats_t *Statistics, const char *Source, size_t Length, unsigned short ModuleID, void *FormatClientData)
Function to deserialize a buffer into an lbm_rcv_topic_stats_t structure.
Definition: lbmmon.h:762
lbmmon_errnum
LBMExpDLL int lbmmon_errnum(void)
Retrieve the error number for the last error encountered.
lbmmon_format_apply_options_t
int(* lbmmon_format_apply_options_t)(void *FormatClientData, const void *FormatOptions)
Function to apply options to a format module at startup or dynamically to a running system...
Definition: lbmmon.h:415
lbmmon_attr_entry_t
struct lbmmon_attr_entry_t_stct lbmmon_attr_entry_t
Statistics attribute entry layout. Each attribute entry within the attributes block consists of an en...
lbm_uint32_t
uint32_t lbm_uint32_t
For portability.
Definition: lbm.h:1744
lbmmon_wildcard_rcv_statistics_func_t_stct
A structure that holds the callback information for wildcard receiver statistics. ...
Definition: lbmmon.h:1141
lbmmon_transport_func_t_stct::mSend
lbmmon_transport_send_t mSend
Definition: lbmmon.h:1365
lbmmon_transport_send_t
int(* lbmmon_transport_send_t)(const char *Data, size_t Length, void *TransportClientData)
Send a statistics packet.
Definition: lbmmon.h:1266
lbmmon_format_func_t_stct::mWildcardRcvSerialize
lbmmon_wildcard_rcv_format_serialize_t mWildcardRcvSerialize
Definition: lbmmon.h:1002
lbmmon_evq_unmonitor
LBMExpDLL int lbmmon_evq_unmonitor(lbmmon_sctl_t *Control, lbm_event_queue_t *EventQueue)
Terminate monitoring for an event queue.
lbmmon_transport_func_t_stct::mInitSource
lbmmon_transport_initsrc_t mInitSource
Definition: lbmmon.h:1361
lbm_src_t
struct lbm_src_t_stct lbm_src_t
Opaque structure that designates a UM source. See Source Object.
Definition: lbm.h:3872
lbmmon_rcv_statistics_func_t_stct
A structure that holds the callback information for receiver statistics.
Definition: lbmmon.h:1036
lbm_rcv_transport_stats_t_stct
Structure that holds statistics for receiver transports.
Definition: lbm.h:5263
lbmmon_attr_block_t_stct::mEntryLength
lbm_ushort_t mEntryLength
Definition: lbmmon.h:260
lbmmon_format_finish_t
int(* lbmmon_format_finish_t)(void *FormatClientData)
Function to finish format module processing.
Definition: lbmmon.h:961
lbmmon_format_func_t_stct::mInit
lbmmon_format_init_t mInit
Definition: lbmmon.h:974
lbmmon_rcv_monitor
LBMExpDLL int lbmmon_rcv_monitor(lbmmon_sctl_t *Control, lbm_rcv_t *Receiver, const char *ApplicationSourceID, unsigned int Seconds)
Register a receiver for monitoring.
lbmmon_sctl_sample_ex
LBMExpDLL int lbmmon_sctl_sample_ex(lbmmon_sctl_t *Control, const char *ApplicationSourceID)
Extended gather statistics for on-demand objects.
lbm_src_transport_stats_t_stct
Structure that holds statistics for source transports.
Definition: lbm.h:4621
lbmmon_packet_attributes_t_stct
Definition: lbmmon.h:225
lbmmon_packet_attributes_t_stct::mObjectID
lbm_uint64_t mObjectID
Definition: lbmmon.h:242
lbmmon_gateway_format_serialize_t
int(* lbmmon_gateway_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbmmon_packet_attributes_t *Attributes, Lbmmon__DROMonMsg *GatewayMsg, void *FormatClientData)
Function to serialize gateway statistics.
Definition: lbmmon.h:926
lbmmon_packet_hdr_t_stct::mType
lbm_ushort_t mType
Definition: lbmmon.h:216
lbmmon_format_func_t_stct
Format module function pointer container.
Definition: lbmmon.h:971
lbmmon_passthrough_statistics_func_t
struct lbmmon_passthrough_statistics_func_t_stct lbmmon_passthrough_statistics_func_t
A structure that holds the callback information for the passthrough format option.
lbmmon_src_statistics_func_t
struct lbmmon_src_statistics_func_t_stct lbmmon_src_statistics_func_t
A structure that holds the callback information for source statistics.
lbmmon_transport_func_t_stct::mAllowDebug
lbmmon_transport_allow_debug_t mAllowDebug
Definition: lbmmon.h:1381
lbmmon_transport_func_t_stct::mControlMessageReceive
lbmmon_transport_ctrlmsg_receive_t mControlMessageReceive
Definition: lbmmon.h:1377
lbmmon_evq_format_serialize_t
int(* lbmmon_evq_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbmmon_packet_attributes_t *Attributes, const lbm_event_queue_stats_t *Statistics, void *FormatClientData)
Function to serialize an lbm_event_queue_stats_t structure.
Definition: lbmmon.h:529
lbm_context_t
struct lbm_context_t_stct lbm_context_t
Context object (opaque) for UM. See Context Object.
Definition: lbm.h:1771
lbmmon_transport_receive_t
int(* lbmmon_transport_receive_t)(char *Data, size_t *Length, unsigned int TimeoutMS, void *TransportClientData)
Receive statistics data.
Definition: lbmmon.h:1287
lbmmon_rcv_statistics_func_t
struct lbmmon_rcv_statistics_func_t_stct lbmmon_rcv_statistics_func_t
A structure that holds the callback information for receiver statistics.
lbmmon_context_unmonitor
LBMExpDLL int lbmmon_context_unmonitor(lbmmon_sctl_t *Control, lbm_context_t *Context)
Terminate monitoring for a context.
lbmmon_format_func_t_stct::mCtxDeserialize
lbmmon_ctx_format_deserialize_t mCtxDeserialize
Definition: lbmmon.h:996
lbmmon_rcv_format_deserialize_t
int(* lbmmon_rcv_format_deserialize_t)(lbmmon_packet_attributes_t *Attributes, lbm_rcv_transport_stats_t *Statistics, const char *Source, size_t Length, unsigned short ModuleID, void *FormatClientData)
Function to deserialize a buffer into an lbm_rcv_transport_stats_t structure.
Definition: lbmmon.h:598
lbmmon_attr_get_contextid
LBMExpDLL int lbmmon_attr_get_contextid(const void *AttributeBlock, lbm_ulong_t *ContextID)
Retrieve the context ID attribute from the statistics attribute block.
lbmmon_format_func_t_stct::mStoreDeserialize
lbmmon_umestore_format_deserialize_t mStoreDeserialize
Definition: lbmmon.h:1008
lbmmon_wildcard_rcv_format_serialize_t
int(* lbmmon_wildcard_rcv_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbmmon_packet_attributes_t *Attributes, const lbm_wildcard_rcv_stats_t *Statistics, void *FormatClientData)
Function to serialize wildcard receiver statistics.
Definition: lbmmon.h:799
lbmmon_format_func_t_stct::mGatewaySerialize
lbmmon_gateway_format_serialize_t mGatewaySerialize
Definition: lbmmon.h:1014
lbmmon_packet_hdr_t_stct::mFiller
lbm_ushort_t mFiller
Definition: lbmmon.h:222