UM C API  6.12.1
lbmmon.h
Go to the documentation of this file.
1 
97 #ifndef LBMMON_H
98 #define LBMMON_H
99 
100 #include <stdlib.h>
101 #ifdef _WIN32
102  #include <winsock2.h>
103 #endif
104 #include <lbm/lbm.h>
105 
106 #if defined(__cplusplus)
107 extern "C" {
108 #endif /* __cplusplus */
109 
111 #define LBMMON_ERROR_BASE 4096
112 
113 #define LBMMON_EINVAL (LBMMON_ERROR_BASE + 1)
114 
115 #define LBMMON_ENOMEM (LBMMON_ERROR_BASE + 2)
116 
117 #define LBMMON_EMODFAIL (LBMMON_ERROR_BASE + 3)
118 
119 #define LBMMON_ELBMFAIL (LBMMON_ERROR_BASE + 4)
120 
121 #define LBMMON_EAGAIN (LBMMON_ERROR_BASE + 5)
122 
123 #define LBMMON_EALREADY (LBMMON_ERROR_BASE + 6)
124 
125 #define LBMMON_EOP (LBMMON_ERROR_BASE + 7)
126 
128 #define LBMMON_PACKET_SIGNATURE 0x1b33041b
129 
131 #define LBMMON_PACKET_TYPE_SOURCE 0
132 
133 #define LBMMON_PACKET_TYPE_RECEIVER 1
134 
135 #define LBMMON_PACKET_TYPE_EVENT_QUEUE 2
136 
137 #define LBMMON_PACKET_TYPE_CONTEXT 3
138 
139 #define LBMMON_PACKET_TYPE_RECEIVER_TOPIC 4
140 
141 #define LBMMON_PACKET_TYPE_WILDCARD_RECEIVER 5
142 
153 {
165 
171 {
177 
179 #define LBMMON_ATTR_SENDER_IPV4 0
180 
181 #define LBMMON_ATTR_TIMESTAMP 1
182 
183 #define LBMMON_ATTR_APPSOURCEID 2
184 
185 #define LBMMON_ATTR_FORMAT_MODULEID 3
186 
187 #define LBMMON_ATTR_OBJECTID 4
188 
191 #define LBMMON_ATTR_CONTEXTID LBMMON_ATTR_OBJECTID
192 
193 #define LBMMON_ATTR_PROCESSID 5
194 
199 #define LBMMON_ATTR_SOURCE 6
200 
201 #define LBMMON_ATTR_CTXINST 7
202 
203 #define LBMMON_ATTR_DOMAINID 8
204 
206 #define LBMMON_ATTR_SOURCE_NORMAL 0
207 
208 #define LBMMON_ATTR_SOURCE_IM 1
209 
215 {
221 
245 typedef int (*lbmmon_format_init_t)(void * * FormatClientData,
246  const void * FormatOptions);
247 
277 typedef int (*lbmmon_rcv_format_serialize_t)(char * Destination,
278  size_t * Size,
279  unsigned short * ModuleID,
280  const lbm_rcv_transport_stats_t * Statistics,
281  void * FormatClientData);
282 
308 typedef int (*lbmmon_src_format_serialize_t)(char * Destination,
309  size_t * Size,
310  unsigned short * ModuleID,
311  const lbm_src_transport_stats_t * Statistics,
312  void * FormatClientData);
313 
341 typedef int (*lbmmon_evq_format_serialize_t)(char * Destination,
342  size_t * Size,
343  unsigned short * ModuleID,
344  const lbm_event_queue_stats_t * Statistics,
345  void * FormatClientData);
346 
374 typedef int (*lbmmon_ctx_format_serialize_t)(char * Destination,
375  size_t * Size,
376  unsigned short * ModuleID,
377  const lbm_context_stats_t * Statistics,
378  void * FormatClientData);
379 
403  const char * Source,
404  size_t Length,
405  unsigned short ModuleID,
406  void * FormatClientData);
407 
428  const char * Source,
429  size_t Length,
430  unsigned short ModuleID,
431  void * FormatClientData);
432 
454  const char * Source,
455  size_t Length,
456  unsigned short ModuleID,
457  void * FormatClientData);
458 
480  const char * Source,
481  size_t Length,
482  unsigned short ModuleID,
483  void * FormatClientData);
484 
514 typedef int (*lbmmon_rcv_topic_format_serialize_t)(char * Destination,
515  size_t * Size,
516  unsigned short * ModuleID,
517  const char * Topic,
518  lbm_ulong_t SourceCount,
519  const lbm_rcv_topic_stats_t * Sources,
520  void * FormatClientData);
521 
544 typedef int (*lbmmon_rcv_topic_format_deserialize_t)(size_t * Count,
545  lbm_rcv_topic_stats_t * Statistics,
546  const char * Source,
547  size_t Length,
548  unsigned short ModuleID,
549  void * FormatClientData);
550 
578 typedef int (*lbmmon_wildcard_rcv_format_serialize_t)(char * Destination,
579  size_t * Size,
580  unsigned short * ModuleID,
581  const lbm_wildcard_rcv_stats_t * Statistics,
582  void * FormatClientData);
583 
604  const char * Source,
605  size_t Length,
606  unsigned short ModuleID,
607  void * FormatClientData);
608 
622 typedef int (*lbmmon_format_finish_t)(void * FormatClientData);
623 
628 typedef const char * (*lbmmon_format_errmsg_t)(void);
629 
633 {
665 
673 typedef void (*lbmmon_rcv_statistics_cb)(const void * AttributeBlock,
674  const lbm_rcv_transport_stats_t * Statistics,
675  void * ClientData);
676 
682 {
686 
694 typedef void (*lbmmon_src_statistics_cb)(const void * AttributeBlock,
695  const lbm_src_transport_stats_t * Statistics,
696  void * ClientData);
697 
703 {
707 
715 typedef void (*lbmmon_evq_statistics_cb)(const void * AttributeBlock,
716  const lbm_event_queue_stats_t * Statistics,
717  void * ClientData);
718 
724 {
728 
736 typedef void (*lbmmon_ctx_statistics_cb)(const void * AttributeBlock,
737  const lbm_context_stats_t * Statistics,
738  void * ClientData);
739 
745 {
749 
757 typedef void (*lbmmon_rcv_topic_statistics_cb)(const void * AttributeBlock,
758  const lbm_rcv_topic_stats_t * Statistics,
759  void * ClientData);
760 
766 {
770 
778 typedef void (*lbmmon_wildcard_rcv_statistics_cb)(const void * AttributeBlock,
779  const lbm_wildcard_rcv_stats_t * Statistics,
780  void * ClientData);
781 
787 {
791 
793 #define LBMMON_RCTL_RECEIVER_CALLBACK 0
794 
795 #define LBMMON_RCTL_SOURCE_CALLBACK 1
796 
797 #define LBMMON_RCTL_EVENT_QUEUE_CALLBACK 2
798 
799 #define LBMMON_RCTL_CONTEXT_CALLBACK 3
800 
801 #define LBMMON_RCTL_RECEIVER_TOPIC_CALLBACK 4
802 
803 #define LBMMON_RCTL_WILDCARD_RECEIVER_CALLBACK 5
804 
815 typedef int (*lbmmon_transport_initsrc_t)(void * * TransportClientData,
816  const void * TransportOptions);
817 
828 typedef int (*lbmmon_transport_initrcv_t)(void * * TransportClientData,
829  const void * TransportOptions);
830 
839 typedef int (*lbmmon_transport_send_t)(const char * Data,
840  size_t Length,
841  void * TransportClientData);
842 
860 typedef int (*lbmmon_transport_receive_t)(char * Data,
861  size_t * Length,
862  unsigned int TimeoutMS,
863  void * TransportClientData);
864 
873 typedef int (*lbmmon_transport_finishsrc_t)(void * TransportClientData);
874 
883 typedef int (*lbmmon_transport_finishrcv_t)(void * TransportClientData);
884 
889 typedef const char * (*lbmmon_transport_errmsg_t)(void);
890 
894 {
910 
911 struct lbmmon_sctl_t_stct;
914 typedef struct lbmmon_sctl_t_stct lbmmon_sctl_t;
915 
916 struct lbmmon_rctl_attr_t_stct;
919 typedef struct lbmmon_rctl_attr_t_stct lbmmon_rctl_attr_t;
920 
921 struct lbmmon_rctl_t_stct;
924 typedef struct lbmmon_rctl_t_stct lbmmon_rctl_t;
925 
946 LBMExpDLL int lbmmon_sctl_create(lbmmon_sctl_t * * Control,
947  const lbmmon_format_func_t * Format,
948  const void * FormatOptions,
949  const lbmmon_transport_func_t * Transport,
950  const void * TransportOptions);
951 
961 LBMExpDLL int lbmmon_rctl_attr_create(lbmmon_rctl_attr_t * * Attributes);
962 
971 LBMExpDLL int lbmmon_rctl_attr_delete(lbmmon_rctl_attr_t * Attributes);
972 
982 LBMExpDLL int lbmmon_rctl_attr_setopt(lbmmon_rctl_attr_t * Attributes, int Option, void * Value, size_t Length);
983 
994 LBMExpDLL int lbmmon_rctl_attr_getopt(lbmmon_rctl_attr_t * Attributes, int Option, void * Value, size_t * Length);
995 
1020 LBMExpDLL int lbmmon_rctl_create(lbmmon_rctl_t * * Control,
1021  const lbmmon_format_func_t * Format,
1022  const void * FormatOptions,
1023  const lbmmon_transport_func_t * Transport,
1024  const void * TransportOptions,
1025  lbmmon_rctl_attr_t * Attributes,
1026  void * ClientData);
1027 
1060 LBMExpDLL int lbmmon_context_monitor(lbmmon_sctl_t * Control,
1061  lbm_context_t * Context,
1062  const char * ApplicationSourceID,
1063  unsigned int Seconds);
1064 
1074 LBMExpDLL int lbmmon_context_unmonitor(lbmmon_sctl_t * Control,
1075  lbm_context_t * Context);
1076 
1106 LBMExpDLL int lbmmon_src_monitor(lbmmon_sctl_t * Control,
1107  lbm_src_t * Source,
1108  const char * ApplicationSourceID,
1109  unsigned int Seconds);
1110 
1140 LBMExpDLL int lbmmon_ssrc_monitor(lbmmon_sctl_t * Control,
1141  lbm_ssrc_t * SmartSource,
1142  const char * ApplicationSourceID,
1143  unsigned int Seconds);
1144 
1154 LBMExpDLL int lbmmon_src_unmonitor(lbmmon_sctl_t * Control,
1155  lbm_src_t * Source);
1156 
1166 LBMExpDLL int lbmmon_ssrc_unmonitor(lbmmon_sctl_t * Control,
1167  lbm_ssrc_t * SmartSource);
1168 
1197 LBMExpDLL int lbmmon_rcv_monitor(lbmmon_sctl_t * Control,
1198  lbm_rcv_t * Receiver,
1199  const char * ApplicationSourceID,
1200  unsigned int Seconds);
1201 
1211 LBMExpDLL int lbmmon_rcv_unmonitor(lbmmon_sctl_t * Control,
1212  lbm_rcv_t * Receiver);
1213 
1242 LBMExpDLL int lbmmon_evq_monitor(lbmmon_sctl_t * Control,
1243  lbm_event_queue_t * EventQueue,
1244  const char * ApplicationSourceID,
1245  unsigned int Seconds);
1246 
1256 LBMExpDLL int lbmmon_evq_unmonitor(lbmmon_sctl_t * Control,
1257  lbm_event_queue_t * EventQueue);
1258 
1267 LBMExpDLL int lbmmon_sctl_destroy(lbmmon_sctl_t * Control);
1268 
1276 LBMExpDLL int lbmmon_rctl_destroy(lbmmon_rctl_t * Control);
1277 
1283 LBMExpDLL int lbmmon_sctl_sample(lbmmon_sctl_t * Control);
1284 
1296 LBMExpDLL int lbmmon_sctl_sample_ex(lbmmon_sctl_t * Control, const char * ApplicationSourceID);
1297 
1306 LBMExpDLL int lbmmon_attr_get_ipv4sender(const void * AttributeBlock,
1307  lbm_uint_t * Address);
1308 
1315 LBMExpDLL int lbmmon_attr_get_timestamp(const void * AttributeBlock,
1316  time_t * Timestamp);
1317 
1326 LBMExpDLL int lbmmon_attr_get_appsourceid(const void * AttributeBlock,
1327  char * ApplicationSourceID,
1328  size_t Length);
1329 
1336 LBMExpDLL int lbmmon_attr_get_objectid(const void * AttributeBlock,
1337  lbm_ulong_t * ObjectID);
1338 
1346 LBMExpDLL int lbmmon_attr_get_contextid(const void * AttributeBlock,
1347  lbm_ulong_t * ContextID);
1348 
1355 LBMExpDLL int lbmmon_attr_get_processid(const void * AttributeBlock,
1356  lbm_ulong_t * ProcessID);
1357 
1364 LBMExpDLL int lbmmon_attr_get_source(const void * AttributeBlock,
1365  lbm_ulong_t * Source);
1366 
1374 LBMExpDLL int lbmmon_attr_get_ctxinst(const void * AttributeBlock,
1375  lbm_uint8_t * ContextInstance,
1376  size_t Length);
1377 
1384 LBMExpDLL int lbmmon_attr_get_domainid(const void * AttributeBlock,
1385  lbm_uint32_t * DomainID);
1386 
1391 LBMExpDLL int lbmmon_errnum(void);
1392 
1397 LBMExpDLL const char * lbmmon_errmsg(void);
1398 
1412 const char * lbmmon_next_key_value_pair(const char * String,
1413  char * Key,
1414  size_t KeySize,
1415  char * Value,
1416  size_t ValueSize);
1417 
1418 #if defined(__cplusplus)
1419 }
1420 #endif /* __cplusplus */
1421 
1422 #include <lbm/lbmmonfmtcsv.h>
1423 #include <lbm/lbmmontrlbm.h>
1424 #include <lbm/lbmmontrudp.h>
1425 #include <lbm/lbmmontrlbmsnmp.h>
1426 
1427 #endif
1428 
lbmmon_transport_finishsrc_t mFinishSource
Definition: lbmmon.h:904
LBMExpDLL int lbmmon_rctl_attr_create(lbmmon_rctl_attr_t **Attributes)
Create an LBM Monitoring Receive Controller attribute object.
struct lbmmon_rctl_t_stct lbmmon_rctl_t
LBM Monitoring Receiver Controller object (opaque).
Definition: lbmmon.h:924
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.
struct lbmmon_sctl_t_stct lbmmon_sctl_t
LBM Monitoring Source Controller object (opaque).
Definition: lbmmon.h:914
LBMExpDLL int lbmmon_attr_get_source(const void *AttributeBlock, lbm_ulong_t *Source)
Retrieve the source attribute from the statistics attribute block.
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.
LBMExpDLL int lbmmon_attr_get_timestamp(const void *AttributeBlock, time_t *Timestamp)
Retrieve the timestamp attribute from the statistics attribute block.
const char *(* lbmmon_transport_errmsg_t)(void)
Function to return the last error message from a transport module.
Definition: lbmmon.h:889
lbmmon_transport_receive_t mReceive
Definition: lbmmon.h:902
LBMExpDLL int lbmmon_ssrc_unmonitor(lbmmon_sctl_t *Control, lbm_ssrc_t *SmartSource)
Terminate monitoring for a smart source.
Structure that holds statistics for an event queue.
Definition: lbm.h:4294
unsigned short int lbm_ushort_t
For portability.
Definition: lbm.h:1077
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:653
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.
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:828
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:757
int(* lbmmon_transport_finishrcv_t)(void *TransportClientData)
Finish processing for a receiver transport.
Definition: lbmmon.h:883
lbm_ushort_t mAttributeBlockLength
Definition: lbmmon.h:159
lbmmon_transport_finishrcv_t mFinishReceiver
Definition: lbmmon.h:906
LBMExpDLL int lbmmon_attr_get_processid(const void *AttributeBlock, lbm_ulong_t *ProcessID)
Retrieve the process ID attribute from the statistics attribute block.
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:659
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:919
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:815
int(* lbmmon_src_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbm_src_transport_stats_t *Statistics, void *FormatClientData)
Function to serialize an lbm_src_transport_stats_t structure.
Definition: lbmmon.h:308
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. ...
Statistics attribute entry layout. Each attribute entry within the attributes block consists of an en...
Definition: lbmmon.h:214
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:673
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.
Definition: lbm.h:1600
lbmmon_rcv_topic_statistics_cb cbfunc
Definition: lbmmon.h:768
struct lbmmon_packet_hdr_t_stct lbmmon_packet_hdr_t
Statistics packet header layout.
int(* lbmmon_ctx_format_deserialize_t)(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:479
lbmmon_evq_statistics_cb cbfunc
Definition: lbmmon.h:726
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:3047
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:245
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:651
lbmmon_format_finish_t mFinish
Definition: lbmmon.h:645
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:643
Structure that holds statistics for a receiver topic.
Definition: lbm.h:4738
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:684
int(* lbmmon_transport_finishsrc_t)(void *TransportClientData)
Finish processing for a source transport.
Definition: lbmmon.h:873
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:694
lbmmon_ctx_statistics_cb cbfunc
Definition: lbmmon.h:747
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:898
uint8_t lbm_uint8_t
For portability.
Definition: lbm.h:1081
Statistics packet header layout.
Definition: lbmmon.h:152
LBMExpDLL const char * lbmmon_errmsg(void)
Retrieve the error message for the last error encountered.
int(* lbmmon_wildcard_rcv_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbm_wildcard_rcv_stats_t *Statistics, void *FormatClientData)
Function to serialize wildcard receiver statistics.
Definition: lbmmon.h:578
LBMExpDLL int lbmmon_sctl_destroy(lbmmon_sctl_t *Control)
Destroy a source monitoring controller.
lbmmon_wildcard_rcv_format_deserialize_t mWildcardRcvDeserialize
Definition: lbmmon.h:663
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:219
lbm_ushort_t mEntryCount
Definition: lbmmon.h:173
int(* lbmmon_rcv_topic_format_deserialize_t)(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:544
lbmmon_wildcard_rcv_statistics_cb cbfunc
Definition: lbmmon.h:789
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.
Definition: lbm.h:3052
int(* lbmmon_evq_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbm_event_queue_stats_t *Statistics, void *FormatClientData)
Function to serialize an lbm_event_queue_stats_t structure.
Definition: lbmmon.h:341
unsigned int lbm_uint_t
For portability.
Definition: lbm.h:1073
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:715
A structure that holds the callback information for context statistics.
Definition: lbmmon.h:744
Transport module function pointer container.
Definition: lbmmon.h:893
lbmmon_format_errmsg_t mErrorMessage
Definition: lbmmon.h:647
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:217
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:639
Statistics attribute block layout. Associated with each statistics message is a set of optional attri...
Definition: lbmmon.h:170
int(* lbmmon_rcv_topic_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, 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:514
lbmmon_evq_format_serialize_t mEvqSerialize
Definition: lbmmon.h:649
A structure that holds the callback information for source statistics.
Definition: lbmmon.h:702
Structure that holds statistics for a wildcard receiver.
Definition: lbm.h:4757
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:765
lbmmon_rcv_topic_format_serialize_t mRcvTopicSerialize
Definition: lbmmon.h:657
struct lbmmon_evq_statistics_func_t_stct lbmmon_evq_statistics_func_t
A structure that holds the callback information for event queue statistics.
lbmmon_rcv_format_serialize_t mRcvSerialize
Definition: lbmmon.h:637
unsigned long int lbm_ulong_t
For portability.
Definition: lbm.h:1075
int(* lbmmon_evq_format_deserialize_t)(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:453
Structure that holds statistics for a context.
Definition: lbm.h:4593
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:736
struct lbmmon_transport_func_t_stct lbmmon_transport_func_t
Transport module function pointer container.
int(* lbmmon_src_format_deserialize_t)(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:427
lbmmon_src_statistics_cb cbfunc
Definition: lbmmon.h:705
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:778
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:628
lbmmon_rcv_format_deserialize_t mRcvDeserialize
Definition: lbmmon.h:641
int(* lbmmon_wildcard_rcv_format_deserialize_t)(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:603
int(* lbmmon_ctx_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbm_context_stats_t *Statistics, void *FormatClientData)
Function to serialize an lbm_context_stats_t structure.
Definition: lbmmon.h:374
lbm_ushort_t mDataLength
Definition: lbmmon.h:161
int(* lbmmon_rcv_format_deserialize_t)(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:402
A structure that holds the callback information for event queue statistics.
Definition: lbmmon.h:723
lbm_uint_t mSignature
Definition: lbmmon.h:155
lbmmon_transport_errmsg_t mErrorMessage
Definition: lbmmon.h:908
LBMExpDLL int lbmmon_errnum(void)
Retrieve the error number for the last error encountered.
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:1085
A structure that holds the callback information for wildcard receiver statistics. ...
Definition: lbmmon.h:786
lbmmon_transport_send_t mSend
Definition: lbmmon.h:900
int(* lbmmon_transport_send_t)(const char *Data, size_t Length, void *TransportClientData)
Send a statistics packet.
Definition: lbmmon.h:839
lbmmon_wildcard_rcv_format_serialize_t mWildcardRcvSerialize
Definition: lbmmon.h:661
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:896
struct lbm_src_t_stct lbm_src_t
Opaque structure that designates a UM source.
Definition: lbm.h:3039
A structure that holds the callback information for receiver statistics.
Definition: lbmmon.h:681
Structure that holds statistics for receiver transports.
Definition: lbm.h:4249
int(* lbmmon_rcv_format_serialize_t)(char *Destination, size_t *Size, unsigned short *ModuleID, const lbm_rcv_transport_stats_t *Statistics, void *FormatClientData)
Function to serialize an lbm_rcv_transport_stats_t structure.
Definition: lbmmon.h:277
lbm_ushort_t mEntryLength
Definition: lbmmon.h:175
int(* lbmmon_format_finish_t)(void *FormatClientData)
Function to finish format module processing.
Definition: lbmmon.h:622
lbmmon_format_init_t mInit
Definition: lbmmon.h:635
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:3721
lbm_ushort_t mType
Definition: lbmmon.h:157
Format module function pointer container.
Definition: lbmmon.h:632
struct lbmmon_src_statistics_func_t_stct lbmmon_src_statistics_func_t
A structure that holds the callback information for source statistics.
struct lbm_context_t_stct lbm_context_t
Context object (opaque) for UM.
Definition: lbm.h:1110
int(* lbmmon_transport_receive_t)(char *Data, size_t *Length, unsigned int TimeoutMS, void *TransportClientData)
Receive statistics data.
Definition: lbmmon.h:860
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:655
LBMExpDLL int lbmmon_attr_get_contextid(const void *AttributeBlock, lbm_ulong_t *ContextID)
Retrieve the context ID attribute from the statistics attribute block.
lbm_ushort_t mFiller
Definition: lbmmon.h:163