UM C API  6.16
lbmmon.h
Go to the documentation of this file.
1 
14 /*
15  $Id: //UMprod/DEV_HF_6_16/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,2023 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 
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 
212 {
224 
226 {
230  uint64_t mFlags;
234  time_t mTimestamp;
240  char mApplicationSourceID[LBM_MSG_MAX_TOPIC_LEN];
246  unsigned char mContextInstance[LBM_CONTEXT_INSTANCE_BLOCK_SZ];
250 
256 {
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 
373 {
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 
599  lbm_rcv_transport_stats_t * Statistics,
600  const char * Source,
601  size_t Length,
602  unsigned short ModuleID,
603  void * FormatClientData);
604 
629  lbm_src_transport_stats_t * Statistics,
630  const char * Source,
631  size_t Length,
632  unsigned short ModuleID,
633  void * FormatClientData);
634 
660  lbm_event_queue_stats_t * Statistics,
661  const char * Source,
662  size_t Length,
663  unsigned short ModuleID,
664  void * FormatClientData);
665 
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 
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 
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 
972 {
1008  lbmmon_umestore_format_deserialize_t mStoreDeserialize;
1016  lbmmon_gateway_format_deserialize_t mGatewayDeserialize;
1020 
1028 typedef void (*lbmmon_rcv_statistics_cb)(const void * AttributeBlock,
1029  const lbm_rcv_transport_stats_t * Statistics,
1030  void * ClientData);
1031 
1037 {
1041 
1049 typedef void (*lbmmon_src_statistics_cb)(const void * AttributeBlock,
1050  const lbm_src_transport_stats_t * Statistics,
1051  void * ClientData);
1052 
1058 {
1062 
1070 typedef void (*lbmmon_evq_statistics_cb)(const void * AttributeBlock,
1071  const lbm_event_queue_stats_t * Statistics,
1072  void * ClientData);
1073 
1079 {
1083 
1091 typedef void (*lbmmon_ctx_statistics_cb)(const void * AttributeBlock,
1092  const lbm_context_stats_t * Statistics,
1093  void * ClientData);
1094 
1100 {
1104 
1112 typedef void (*lbmmon_rcv_topic_statistics_cb)(const void * AttributeBlock,
1113  const lbm_rcv_topic_stats_t * Statistics,
1114  void * ClientData);
1115 
1121 {
1125 
1133 typedef void (*lbmmon_wildcard_rcv_statistics_cb)(const void * AttributeBlock,
1134  const lbm_wildcard_rcv_stats_t * Statistics,
1135  void * ClientData);
1136 
1142 {
1146 
1153 typedef void(*lbmmon_umestore_statistics_cb)(const void * AttributeBlock,
1154  const Lbmmon__UMPMonMsg * StoreMsg,
1155  void * ClientData);
1156 
1162 {
1166 
1173 typedef void(*lbmmon_gateway_statistics_cb)(const void * AttributeBlock,
1174  const Lbmmon__DROMonMsg * GatewayMsg,
1175  void * ClientData);
1176 
1182 {
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 
1208 {
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 const int(*lbmmon_transport_allow_debug_t)(void * TransportClientData);
1355 
1359 {
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_finishsrc_t mFinishSource
Definition: lbmmon.h:1369
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
LBMExpDLL int lbmmon_control_serialize(char *Destination, size_t *Size, int Command, char *Data, int NodeType, char *ApplicationSourceID)
Function to serialize a control message.
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_cb cbfunc
Definition: lbmmon.h:1184
LBMExpDLL int lbmmon_control_load_data_from_filename(char *Filename, char **Data)
Load data from filename into a buffer.
LBMExpDLL int lbmmon_rctl_attr_create(lbmmon_rctl_attr_t **Attributes)
Create an LBM Monitoring Receive Controller attribute object.
lbmmon_umestore_statistics_cb cbfunc
Definition: lbmmon.h:1164
lbm_uint_t mAddress
Definition: lbmmon.h:232
struct lbmmon_rctl_t_stct lbmmon_rctl_t
LBM Monitoring Receiver Controller object (opaque).
Definition: lbmmon.h:1397
lbmmon_umestore_free_unpacked_t mStoreFreeUnpacked
Definition: lbmmon.h:1012
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_ctrlmsgtarget_t mControlMessageTarget
Definition: lbmmon.h:1375
struct lbmmon_sctl_t_stct lbmmon_sctl_t
LBM Monitoring Source Controller object (opaque).
Definition: lbmmon.h:1387
LBMExpDLL int lbmmon_attr_get_source(const void *AttributeBlock, lbm_ulong_t *Source)
Retrieve the source attribute from the statistics attribute block.
LBMExpDLL int lbmmon_attr_get_timestamp(const void *AttributeBlock, time_t *Timestamp)
Retrieve the timestamp attribute from the statistics attribute block.
A structure that holds the callback information for store statistics.
Definition: lbmmon.h:1161
const char *(* lbmmon_transport_errmsg_t)(void)
Function to return the last error message from a transport module.
Definition: lbmmon.h:1316
lbmmon_transport_receive_t mReceive
Definition: lbmmon.h:1367
int(* lbmmon_gateway_free_unpacked_t)(Lbmmon__DROMonMsg *GatewayMsg)
Function to free an unpacked Lbmmon__DROMonMsg structure.
Definition: lbmmon.h:946
LBMExpDLL int lbmmon_ssrc_unmonitor(lbmmon_sctl_t *Control, lbm_ssrc_t *SmartSource)
Terminate monitoring for a smart source.
Defintions for protocol buffers.
int(* lbmmon_transport_ctrlmsg_receive_t)(char *Data, size_t *Length, void *TransportClientData)
Receive control message requests.
Definition: lbmmon.h:1335
Structure that holds statistics for an event queue.
Definition: lbm.h:5305
const char *(* lbmmon_transport_ctrlmsgtarget_t)(void)
Function to return the target address for control message requests.
Definition: lbmmon.h:1322
unsigned short int lbm_ushort_t
For portability.
Definition: lbm.h:1724
lbm_uint32_t mDomainID
Definition: lbmmon.h:248
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_ctrlmsg_response_t mControlMessageResponse
Definition: lbmmon.h:1379
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. ...
LBMExpDLL int lbmmon_attr_get_objectid(const void *AttributeBlock, lbm_ulong_t *ObjectID)
Retrieve the object ID attribute from the statistics attribute block.
lbmmon_ctx_format_serialize_t mCtxSerialize
Definition: lbmmon.h:994
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.
uint64_t lbm_uint64_t
For portability.
Definition: lbm.h:1736
lbm_ushort_t mModuleID
Definition: lbmmon.h:236
time_t mTimestamp
Definition: lbmmon.h:234
Defintions for protocol buffers.
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
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
const int(* lbmmon_transport_allow_debug_t)(void *TransportClientData)
Function to return the allow debug indicator from a transport module.
Definition: lbmmon.h:1354
int(* lbmmon_transport_finishrcv_t)(void *TransportClientData)
Finish processing for a receiver transport.
Definition: lbmmon.h:1310
lbm_ushort_t mAttributeBlockLength
Definition: lbmmon.h:218
lbmmon_transport_finishrcv_t mFinishReceiver
Definition: lbmmon.h:1371
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.
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
LBMExpDLL int lbmmon_attr_get_processid(const void *AttributeBlock, lbm_ulong_t *ProcessID)
Retrieve the process ID attribute from the statistics attribute block.
A structure that holds the callback information for the passthrough format option.
Definition: lbmmon.h:1207
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_rcv_topic_format_deserialize_t mRcvTopicDeserialize
Definition: lbmmon.h:1000
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...
struct lbmmon_rctl_attr_t_stct lbmmon_rctl_attr_t
LBM Monitoring Receiver Controller Attribute object (opaque).
Definition: lbmmon.h:1392
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
Defintions for protocol buffers.
lbmmon_umestore_format_serialize_t mStoreSerialize
Definition: lbmmon.h:1006
LBMExpDLL int lbmmon_attr_get_ipv4sender(const void *AttributeBlock, lbm_uint_t *Address)
Retrieve the IPV4 sender address attribute from the statistics attribute block.
LBMExpDLL int lbmmon_rctl_destroy(lbmmon_rctl_t *Control)
Destroy a statistics receive controller.
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
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. ...
int(* lbmmon_umestore_free_unpacked_t)(Lbmmon__UMPMonMsg *StoreMsg)
Function to free an unpacked Lbmmon__UMPMonMsg structure.
Definition: lbmmon.h:895
Statistics attribute entry layout. Each attribute entry within the attributes block consists of an en...
Definition: lbmmon.h:372
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
struct lbmmon_format_func_t_stct lbmmon_format_func_t
Format module function pointer container.
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:2281
lbmmon_rcv_topic_statistics_cb cbfunc
Definition: lbmmon.h:1123
lbm_ushort_t mPacketAttributesMagic
Definition: lbmmon.h:228
struct lbmmon_packet_hdr_t_stct lbmmon_packet_hdr_t
Statistics packet header layout.
lbmmon_format_apply_options_t mApplyOptions
Definition: lbmmon.h:976
lbmmon_evq_statistics_cb cbfunc
Definition: lbmmon.h:1081
LBMExpDLL int lbmmon_sctl_sample(lbmmon_sctl_t *Control)
Gather statistics for on-demand objects.
struct lbm_ssrc_t_stct lbm_ssrc_t
Opaque structure that designates a UM Smart Source.
Definition: lbm.h:3869
lbm_ushort_t mSourceFlag
Definition: lbmmon.h:238
LBMExpDLL int lbmmon_rcv_unmonitor(lbmmon_sctl_t *Control, lbm_rcv_t *Receiver)
Terminate monitoring for a receiver.
int(* lbmmon_format_init_t)(void **FormatClientData, const void *FormatOptions)
Function to initialize a format module.
Definition: lbmmon.h:403
LBMExpDLL int lbmmon_src_unmonitor(lbmmon_sctl_t *Control, lbm_src_t *Source)
Terminate monitoring for a source.
lbmmon_evq_format_deserialize_t mEvqDeserialize
Definition: lbmmon.h:992
lbmmon_format_finish_t mFinish
Definition: lbmmon.h:986
lbmmon_gateway_format_deserialize_t mGatewayDeserialize
Definition: lbmmon.h:1016
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
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_src_format_deserialize_t mSrcDeserialize
Definition: lbmmon.h:984
Structure that holds statistics for a receiver topic.
Definition: lbm.h:5806
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_cb cbfunc
Definition: lbmmon.h:1039
int(* lbmmon_transport_finishsrc_t)(void *TransportClientData)
Finish processing for a source transport.
Definition: lbmmon.h:1300
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
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_cb cbfunc
Definition: lbmmon.h:1102
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...
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_initrcv_t mInitReceiver
Definition: lbmmon.h:1363
uint8_t lbm_uint8_t
For portability.
Definition: lbm.h:1728
Statistics packet header layout.
Definition: lbmmon.h:211
LBMExpDLL const char * lbmmon_errmsg(void)
Retrieve the error message for the last error encountered.
LBMExpDLL const char * lbmmon_control_errmsg(void)
Function to return the last error message from lbmmon_control.
LBMExpDLL int lbmmon_sctl_destroy(lbmmon_sctl_t *Control)
Destroy a source monitoring controller.
lbmmon_wildcard_rcv_format_deserialize_t mWildcardRcvDeserialize
Definition: lbmmon.h:1004
lbmmon_umestore_filter_options_t mStoreFilterOptions
Definition: lbmmon.h:1010
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.
lbm_uint64_t mProcessID
Definition: lbmmon.h:244
struct lbmmon_ctx_statistics_func_t_stct lbmmon_ctx_statistics_func_t
A structure that holds the callback information for context statistics.
lbm_ushort_t mLength
Definition: lbmmon.h:377
lbm_ushort_t mEntryCount
Definition: lbmmon.h:258
lbmmon_wildcard_rcv_statistics_cb cbfunc
Definition: lbmmon.h:1144
lbmmon_gateway_free_unpacked_t mGatewayFreeUnpacked
Definition: lbmmon.h:1018
LBMExpDLL int lbmmon_rctl_attr_delete(lbmmon_rctl_attr_t *Attributes)
Delete an LBM Monitoring Receive Controller attribute object.
struct lbm_rcv_t_stct lbm_rcv_t
Opaque structure that designates a UM receiver. See Receiver Object.
Definition: lbm.h:3875
unsigned int lbm_uint_t
For portability.
Definition: lbm.h:1720
LBMExpDLL const char * lbmmon_control_valid_commands(void)
Retrieve the list of valid LBMMON control commands.
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
A structure that holds the callback information for context statistics.
Definition: lbmmon.h:1099
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
A structure that holds the callback information for gateway statistics.
Definition: lbmmon.h:1181
Transport module function pointer container.
Definition: lbmmon.h:1358
lbmmon_format_errmsg_t mErrorMessage
Definition: lbmmon.h:988
LBMExpDLL int lbmmon_context_monitor(lbmmon_sctl_t *Control, lbm_context_t *Context, const char *ApplicationSourceID, unsigned int Seconds)
Register a context for monitoring.
lbm_ushort_t mType
Definition: lbmmon.h:375
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_src_format_serialize_t mSrcSerialize
Definition: lbmmon.h:980
Statistics attribute block layout. Associated with each statistics message is a set of optional attri...
Definition: lbmmon.h:255
lbmmon_evq_format_serialize_t mEvqSerialize
Definition: lbmmon.h:990
A structure that holds the callback information for source statistics.
Definition: lbmmon.h:1057
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
Structure that holds statistics for a wildcard receiver.
Definition: lbm.h:5834
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.
For internal use only. A structure that holds the callback information for receiver topic statistics...
Definition: lbmmon.h:1120
lbmmon_rcv_topic_format_serialize_t mRcvTopicSerialize
Definition: lbmmon.h:998
struct lbmmon_evq_statistics_func_t_stct lbmmon_evq_statistics_func_t
A structure that holds the callback information for event queue statistics.
LBMExpDLL int lbmmon_control_index_for_command(char *Command)
Retrieve the index associated with the given LBMMON control command.
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_rcv_format_serialize_t mRcvSerialize
Definition: lbmmon.h:978
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
unsigned long int lbm_ulong_t
For portability.
Definition: lbm.h:1722
LBMExpDLL const char * lbmmon_control_valid_node_types(void)
Retrieve the list of valid LBMMON control node types.
LBMExpDLL int lbmmon_control_dump_default_filter_options(void)
Dump the default filter options to stdout.
LBMExpDLL int lbmmon_control_index_for_node_type(char *NodeType)
Retrieve the index associated with the given LBMMON control node type.
Structure that holds statistics for a context.
Definition: lbm.h:5632
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
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
struct lbmmon_transport_func_t_stct lbmmon_transport_func_t
Transport module function pointer container.
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_cb cbfunc
Definition: lbmmon.h:1060
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
LBMExpDLL int lbmmon_src_monitor(lbmmon_sctl_t *Control, lbm_src_t *Source, const char *ApplicationSourceID, unsigned int Seconds)
Register a source for monitoring.
const char *(* lbmmon_format_errmsg_t)(void)
Function to return the last error message from a format module.
Definition: lbmmon.h:967
lbmmon_rcv_format_deserialize_t mRcvDeserialize
Definition: lbmmon.h:982
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
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_cb cbfunc
Definition: lbmmon.h:1210
lbm_ushort_t mDataLength
Definition: lbmmon.h:220
A structure that holds the callback information for event queue statistics.
Definition: lbmmon.h:1078
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
lbm_uint_t mSignature
Definition: lbmmon.h:214
uint64_t mFlags
Definition: lbmmon.h:230
LBMExpDLL void lbmmon_add_header(char *Packet, const char *Data, size_t Length, int PacketType)
Add an LBMMON header to a serialized PB Buffer.
Defintions for protocol buffers.
lbmmon_transport_errmsg_t mErrorMessage
Definition: lbmmon.h:1373
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
LBMExpDLL int lbmmon_errnum(void)
Retrieve the error number for the last error encountered.
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
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...
uint32_t lbm_uint32_t
For portability.
Definition: lbm.h:1732
A structure that holds the callback information for wildcard receiver statistics. ...
Definition: lbmmon.h:1141
lbmmon_transport_send_t mSend
Definition: lbmmon.h:1365
int(* lbmmon_transport_send_t)(const char *Data, size_t Length, void *TransportClientData)
Send a statistics packet.
Definition: lbmmon.h:1266
lbmmon_wildcard_rcv_format_serialize_t mWildcardRcvSerialize
Definition: lbmmon.h:1002
LBMExpDLL int lbmmon_evq_unmonitor(lbmmon_sctl_t *Control, lbm_event_queue_t *EventQueue)
Terminate monitoring for an event queue.
lbmmon_transport_initsrc_t mInitSource
Definition: lbmmon.h:1361
struct lbm_src_t_stct lbm_src_t
Opaque structure that designates a UM source. See Source Object.
Definition: lbm.h:3860
A structure that holds the callback information for receiver statistics.
Definition: lbmmon.h:1036
Structure that holds statistics for receiver transports.
Definition: lbm.h:5247
lbm_ushort_t mEntryLength
Definition: lbmmon.h:260
int(* lbmmon_format_finish_t)(void *FormatClientData)
Function to finish format module processing.
Definition: lbmmon.h:961
lbmmon_format_init_t mInit
Definition: lbmmon.h:974
LBMExpDLL int lbmmon_rcv_monitor(lbmmon_sctl_t *Control, lbm_rcv_t *Receiver, const char *ApplicationSourceID, unsigned int Seconds)
Register a receiver for monitoring.
LBMExpDLL int lbmmon_sctl_sample_ex(lbmmon_sctl_t *Control, const char *ApplicationSourceID)
Extended gather statistics for on-demand objects.
Structure that holds statistics for source transports.
Definition: lbm.h:4605
Definition: lbmmon.h:225
lbm_uint64_t mObjectID
Definition: lbmmon.h:242
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
lbm_ushort_t mType
Definition: lbmmon.h:216
Format module function pointer container.
Definition: lbmmon.h:971
struct lbmmon_passthrough_statistics_func_t_stct lbmmon_passthrough_statistics_func_t
A structure that holds the callback information for the passthrough format option.
struct lbmmon_src_statistics_func_t_stct lbmmon_src_statistics_func_t
A structure that holds the callback information for source statistics.
lbmmon_transport_allow_debug_t mAllowDebug
Definition: lbmmon.h:1381
lbmmon_transport_ctrlmsg_receive_t mControlMessageReceive
Definition: lbmmon.h:1377
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
struct lbm_context_t_stct lbm_context_t
Context object (opaque) for UM. See Context Object.
Definition: lbm.h:1759
int(* lbmmon_transport_receive_t)(char *Data, size_t *Length, unsigned int TimeoutMS, void *TransportClientData)
Receive statistics data.
Definition: lbmmon.h:1287
struct lbmmon_rcv_statistics_func_t_stct lbmmon_rcv_statistics_func_t
A structure that holds the callback information for receiver statistics.
LBMExpDLL int lbmmon_context_unmonitor(lbmmon_sctl_t *Control, lbm_context_t *Context)
Terminate monitoring for a context.
lbmmon_ctx_format_deserialize_t mCtxDeserialize
Definition: lbmmon.h:996
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
LBMExpDLL int lbmmon_attr_get_contextid(const void *AttributeBlock, lbm_ulong_t *ContextID)
Retrieve the context ID attribute from the statistics attribute block.
lbmmon_umestore_format_deserialize_t mStoreDeserialize
Definition: lbmmon.h:1008
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_gateway_format_serialize_t mGatewaySerialize
Definition: lbmmon.h:1014
lbm_ushort_t mFiller
Definition: lbmmon.h:222