121 #include <winsock2.h> 126 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 7))) 127 #define LBM_GNU_PRAGMA(w) \ 128 _Pragma ("GCC diagnostic push") \ 131 #define LBM_GNU_PRAGMA_RESET() \ 132 _Pragma ("GCC diagnostic pop") 136 #define LBM_GNU_PRAGMA(w) 137 #define LBM_GNU_PRAGMA_RESET() 143 LBM_GNU_PRAGMA(GCC diagnostic ignored
"-Wpedantic")
144 #include <gen/ums_mon.pb-c.h> 146 #include <gen/srs_mon.pb-c.h> 147 LBM_GNU_PRAGMA_RESET()
149 #if defined(__cplusplus) 154 #define LBMMON_ERROR_BASE 4096 156 #define LBMMON_EINVAL (LBMMON_ERROR_BASE + 1) 158 #define LBMMON_ENOMEM (LBMMON_ERROR_BASE + 2) 160 #define LBMMON_EMODFAIL (LBMMON_ERROR_BASE + 3) 162 #define LBMMON_ELBMFAIL (LBMMON_ERROR_BASE + 4) 164 #define LBMMON_EAGAIN (LBMMON_ERROR_BASE + 5) 166 #define LBMMON_EALREADY (LBMMON_ERROR_BASE + 6) 168 #define LBMMON_EOP (LBMMON_ERROR_BASE + 7) 171 #define LBMMON_PACKET_SIGNATURE 0x1b33041b 174 #define LBMMON_PACKET_TYPE_SOURCE 0 176 #define LBMMON_PACKET_TYPE_RECEIVER 1 178 #define LBMMON_PACKET_TYPE_EVENT_QUEUE 2 180 #define LBMMON_PACKET_TYPE_CONTEXT 3 182 #define LBMMON_PACKET_TYPE_RECEIVER_TOPIC 4 184 #define LBMMON_PACKET_TYPE_WILDCARD_RECEIVER 5 186 #define LBMMON_PACKET_TYPE_UMESTORE 6 188 #define LBMMON_PACKET_TYPE_GATEWAY 7 190 #define LBMMON_PACKET_TYPE_UMDS 8 192 #define LBMMON_PACKET_TYPE_CONTROL_MESSAGE 9 194 #define LBMMON_PACKET_TYPE_SRS 10 197 #define LBMMON_SERIALIZE_PACK_MESSAGE 0 199 #define LBMMON_SERIALIZE_CALC_SIZE_ONLY 1 240 char mApplicationSourceID[LBM_MSG_MAX_TOPIC_LEN];
246 unsigned char mContextInstance[LBM_CONTEXT_INSTANCE_BLOCK_SZ];
266 #define LBMMON_ATTR_BLOCK_MAGIC 0xABCD 268 #define LBMMON_ATTR_BLOCK_FORMAT_TABLE 0 270 #define LBMMON_ATTR_BLOCK_FORMAT_PB 1 273 #define LBMMON_ATTR_SENDER_IPV4 0 275 #define LBMMON_ATTR_TIMESTAMP 1 277 #define LBMMON_ATTR_APPSOURCEID 2 284 #define LBMMON_ATTR_FORMAT_MODULEID 3 286 #define LBMMON_ATTR_OBJECTID 4 290 #define LBMMON_ATTR_CONTEXTID LBMMON_ATTR_OBJECTID 292 #define LBMMON_ATTR_PROCESSID 5 298 #define LBMMON_ATTR_SOURCE 6 300 #define LBMMON_ATTR_CTXINST 7 302 #define LBMMON_ATTR_DOMAINID 8 305 #define LBMMON_ATTR_SOURCE_NORMAL 0 307 #define LBMMON_ATTR_SOURCE_IM 1 310 #define LBMMON_FORMAT_CSV_MODULE_ID 1 312 #define LBMMON_FORMAT_PB_MODULE_ID 2 315 #define LBMMON_FORMAT_ATTRIBUTES_PB 1 317 #define LBMMON_FORMAT_ATTRIBUTES_TABLE 2 319 #define MAKE_MODULE_VERSION(format,version) ((unsigned short) ((((unsigned char) format) << 8) | ((unsigned char) version))) 321 #define MODULE_ID(id) ((unsigned char) ((id & 0xff00) >> 8)) 323 #define MODULE_VERSION(id) ((unsigned char) (id & 0xff)) 326 #define LBMMON_FORMAT_PASSTHROUGH_OFF 0 328 #define LBMMON_FORMAT_PASSTHROUGH_ON 1 330 #define LBMMON_FORMAT_PASSTHROUGH_CONVERT 2 333 #define LBMMON_FORMAT_FILTER_OFF 0 335 #define LBMMON_FORMAT_FILTER_ON 1 337 #define LBMMON_FORMAT_FILTER_EQ 2 339 #define LBMMON_FORMAT_FILTER_NE 3 341 #define LBMMON_FORMAT_FILTER_LT 4 343 #define LBMMON_FORMAT_FILTER_GT 5 345 #define LBMMON_FORMAT_SELECT_EQ 6 347 #define LBMMON_FORMAT_SELECT_NE 7 349 #define LBMMON_FORMAT_SELECT_LT 8 351 #define LBMMON_FORMAT_SELECT_GT 9 353 #define LBMMON_FORMAT_SELECT_MATCH 10 355 #define LBMMON_FORMAT_SELECT_MATCH_REGX 11 358 #define LBMMON_FORMAT_DESERIALIZE_OK 0 360 #define LBMMON_FORMAT_DESERIALIZE_PASSTHROUGH 1 362 #define LBMMON_FORMAT_DESERIALIZE_CONVERT_PASSTHROUGH 2 364 #define LBMMON_FORMAT_DESERIALIZE_FAILURE -1 366 #define LBMMON_FORMAT_DESERIALIZE_TOO_SMALL -2 404 const void * FormatOptions);
416 const void * FormatOptions);
461 unsigned short * ModuleID,
464 void * FormatClientData);
495 unsigned short * ModuleID,
498 void * FormatClientData);
531 unsigned short * ModuleID,
534 void * FormatClientData);
567 unsigned short * ModuleID,
570 void * FormatClientData);
602 unsigned short ModuleID,
603 void * FormatClientData);
632 unsigned short ModuleID,
633 void * FormatClientData);
663 unsigned short ModuleID,
664 void * FormatClientData);
694 unsigned short ModuleID,
695 void * FormatClientData);
730 unsigned short * ModuleID,
735 void * FormatClientData);
767 unsigned short ModuleID,
768 void * FormatClientData);
801 unsigned short * ModuleID,
804 void * FormatClientData);
833 unsigned short ModuleID,
834 void * FormatClientData);
869 unsigned short * ModuleID,
871 Lbmmon__UMPMonMsg * StoreMsg,
873 void * FormatClientData);
876 Lbmmon__UMPMonMsg ** StoreMsg,
879 unsigned short ModuleID,
880 void * FormatClientData);
887 typedef char * (*lbmmon_umestore_filter_options_t)(
const char * FormatOptions);
928 unsigned short * ModuleID,
930 Lbmmon__DROMonMsg * GatewayMsg,
931 void * FormatClientData);
934 Lbmmon__DROMonMsg ** GatewayMsg,
937 unsigned short ModuleID,
938 void * FormatClientData);
967 typedef const char * (*lbmmon_format_errmsg_t)(void);
1154 const Lbmmon__UMPMonMsg * StoreMsg,
1174 const Lbmmon__DROMonMsg * GatewayMsg,
1198 void * AttributeBlock,
1214 #define LBMMON_RCTL_RECEIVER_CALLBACK 0 1216 #define LBMMON_RCTL_SOURCE_CALLBACK 1 1218 #define LBMMON_RCTL_EVENT_QUEUE_CALLBACK 2 1220 #define LBMMON_RCTL_CONTEXT_CALLBACK 3 1222 #define LBMMON_RCTL_RECEIVER_TOPIC_CALLBACK 4 1224 #define LBMMON_RCTL_WILDCARD_RECEIVER_CALLBACK 5 1226 #define LBMMON_RCTL_UMESTORE_CALLBACK 6 1228 #define LBMMON_RCTL_GATEWAY_CALLBACK 7 1230 #define LBMMON_RCTL_PASSTHROUGH_CALLBACK 8 1243 const void * TransportOptions);
1256 const void * TransportOptions);
1268 void * TransportClientData);
1289 unsigned int TimeoutMS,
1290 void * TransportClientData);
1316 typedef const char * (*lbmmon_transport_errmsg_t)(void);
1322 typedef const char * (*lbmmon_transport_ctrlmsgtarget_t)(void);
1337 void * TransportClientData);
1348 void * TransportClientData);
1384 struct lbmmon_sctl_t_stct;
1389 struct lbmmon_rctl_attr_t_stct;
1394 struct lbmmon_rctl_t_stct;
1421 const void * FormatOptions,
1423 const void * TransportOptions);
1495 const void * FormatOptions,
1497 const void * TransportOptions,
1535 const char * ApplicationSourceID,
1536 unsigned int Seconds);
1581 const char * ApplicationSourceID,
1582 unsigned int Seconds);
1615 const char * ApplicationSourceID,
1616 unsigned int Seconds);
1672 const char * ApplicationSourceID,
1673 unsigned int Seconds);
1717 const char * ApplicationSourceID,
1718 unsigned int Seconds);
1789 time_t * Timestamp);
1800 char * ApplicationSourceID,
1906 LBMExpDLL
int lbmmon_control_serialize(
char *Destination,
size_t *Size,
int Command,
char *Data,
int NodeType,
char *ApplicationSourceID);
1962 LBMExpDLL
void lbmmon_add_header(
char * Packet,
const char * Data,
size_t Length,
int PacketType);
1964 #if defined(__cplusplus) 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> 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
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:5318
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:1737
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.
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:1749
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.
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.
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:2294
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_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:3882
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.
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...
Structure that holds statistics for a receiver topic.
Definition: lbm.h:5819
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:1741
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.
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
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:3888
unsigned int lbm_uint_t
For portability.
Definition: lbm.h:1733
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
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.
Statistics attribute block layout. Associated with each statistics message is a set of optional attri...
Definition: lbmmon.h:255
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:5847
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
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
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:1735
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:5645
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
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:1745
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
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:3873
A structure that holds the callback information for receiver statistics.
Definition: lbmmon.h:1036
Structure that holds statistics for receiver transports.
Definition: lbm.h:5260
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
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:4618
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
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:1772
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.
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.
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
lbm_ushort_t mFiller
Definition: lbmmon.h:222