lbm.h File Reference

Ultra Messaging (UM) API. More...

#include <inttypes.h>

Include dependency graph for lbm.h:

Go to the source code of this file.

Data Structures

struct  lbm_iovec_t_stct
 Structure, struct iovec compatible, that holds information about buffers used for vectored sends. More...
struct  lbm_ipv4_address_mask_t_stct
 Structure that holds an IPv4 address and a CIDR style netmask. More...
struct  lbm_timeval_t_stct
 Structure that holds seconds and microseconds since midnight, Jan 1, 1970 UTC. More...
struct  lbm_src_event_wakeup_t_stct
 Structure that holds source wakeup event data. More...
struct  lbm_src_event_flight_size_notification_t_stct
 Structure that holds flight size notification event data. More...
struct  lbm_src_event_ume_registration_t_stct
 Structure that holds store registration information for the UMP source. More...
struct  lbm_src_event_ume_registration_ex_t_stct
 Structure that holds store registration information for the UMP source in an extended form. More...
struct  lbm_src_event_ume_registration_complete_ex_t_stct
 Structure that holds information for sources after registration is complete to all involved stores. More...
struct  lbm_src_event_ume_deregistration_ex_t_stct
 Structure that holds store deregistration information for the UMP source in an extended form. More...
struct  lbm_msg_ume_registration_t_stct
 Structure that holds store registration information for the UMP receiver. More...
struct  lbm_msg_ume_registration_ex_t_stct
 Structure that holds store registration information for the UM receiver in an extended form. More...
struct  lbm_msg_ume_registration_complete_ex_t_stct
 Structure that holds information for receivers after registration is complete to all involved stores. More...
struct  lbm_msg_ume_deregistration_ex_t_stct
 Structure that holds store deregistration information for the UM receiver in an extended form. More...
struct  lbm_src_event_ume_ack_info_t_stct
 Structure that holds ACK information for a given message. More...
struct  lbm_src_event_ume_ack_ex_info_t_stct
 Structure that holds ACK information for a given message in an extended form. More...
struct  lbm_flight_size_inflight_t_stct
 Structure that holds information for source total inflight messages and bytes. More...
struct  lbm_umq_index_info_t_stct
 Structure that holds information used for sending and receiving messages with UMQ indices. More...
struct  lbm_msg_umq_index_assignment_eligibility_stop_complete_ex_t_stct
 Structure that holds index assignment information for receivers. More...
struct  lbm_msg_umq_index_assigned_ex_t_stct
 Structure that holds beginning-of-index information for receivers. More...
struct  lbm_msg_umq_index_released_ex_t_stct
 Structure that holds end-of-index information for receivers. More...
struct  lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t_stct
 Structure that holds index assignment information for receivers. More...
struct  lbm_umq_msg_total_lifetime_info_t_stct
 Structure that holds UMQ message total lifetime information. More...
union  lbm_hf_sequence_number_t_stct
 Structure to hold a hot failover sequence number. More...
struct  lbm_umq_msgid_t_stct
 Structure that holds information for UMQ messages that allows the message to be identified uniquely. More...
struct  lbm_umq_queue_application_set_t_stct
struct  lbm_umq_queue_topic_t_stct
 Structure that holds queue topic information and can be used as a handle to a queue topic. More...
struct  lbm_umq_queue_topic_status_t
 Struct containing extended asynchronous operation status information about a single UMQ topic. More...
struct  lbm_ctx_umq_queue_topic_list_info_t
 Struct containing an array of queue topics retrieved via lbm_umq_queue_topic_list. More...
struct  lbm_umq_queue_msg_status_t
 Struct containing extended asynchronous operation status information about a single UMQ message. More...
struct  lbm_rcv_umq_queue_msg_list_info_t
 Struct containing an array of UMQ messages listed via lbm_rcv_umq_queue_msg_list. More...
struct  lbm_rcv_umq_queue_msg_retrieve_info_t
 Struct containing an array of UMQ messages retrieved via lbm_rcv_umq_queue_msg_retrieve. More...
struct  lbm_async_operation_info_t
 Results struct returned via the user-specified asynchronous operation callback from any asynchronous API. More...
struct  lbm_async_operation_func_t
 Structure that holds information for asynchronous operation callbacks. More...
struct  lbm_src_send_ex_info_t_stct
 Structure that holds information for the extended send calls A structure used with UM sources that utilize the extended send calls to pass options. More...
struct  lbm_ume_rcv_regid_ex_func_info_t_stct
 Structure that holds information for UMP receiver registration ID application callbacks. More...
struct  lbm_src_event_sequence_number_info_t_stct
 Structure that holds sequence number information for a message sent by a source. More...
struct  lbm_ume_rcv_recovery_info_ex_func_info_t_stct
 Structure that holds information for UMP receiver recovery sequence number info application callbacks. More...
struct  lbm_src_event_umq_message_id_info_t_stct
 Structure that holds Message ID information for a message sent by a sending UMQ application. More...
struct  lbm_context_event_umq_registration_ex_t_stct
 Structure that holds queue registration information for the UMQ context in an extended form. More...
struct  lbm_context_event_umq_registration_complete_ex_t_stct
 Structure that holds information for contexts after registration is complete to all involved queue instances. More...
struct  lbm_src_event_umq_registration_complete_ex_t_stct
 Structure that holds information for sources after registration is complete to all involved queue instances. More...
struct  lbm_msg_umq_registration_complete_ex_t_stct
 Structure that holds information for receivers after registration is complete to all involved queue instances. More...
struct  lbm_src_event_umq_stability_ack_info_ex_t_stct
 Structure that holds UMQ ACK information for a given message in an extended form. More...
struct  lbm_msg_umq_deregistration_complete_ex_t_stct
 Structure that holds information for receivers after they de-register from a queue. More...
struct  lbm_src_event_umq_ulb_receiver_info_ex_t_stct
 Structure that holds UMQ ULB receiver information in an extended form. More...
struct  lbm_src_event_umq_ulb_message_info_ex_t_stct
 Structure that holds UMQ ULB message information in an extended form. More...
struct  lbm_str_hash_func_t_stct
struct  lbm_str_hash_func_ex_t_stct
 Structure that holds the hash function callback information. More...
struct  lbm_src_notify_func_t_stct
 Structure that holds the callback for source notifications. More...
struct  lbm_wildcard_rcv_compare_func_t_stct
 Structure that holds the application callback pattern type information for wildcard receivers. More...
struct  lbm_ume_rcv_regid_func_t_stct
 Structure that holds the application callback for registration ID setting. More...
struct  lbm_ume_rcv_regid_ex_func_t_stct
 Structure that holds the application callback for registration ID setting, extended form. More...
struct  lbm_ume_src_force_reclaim_func_t_stct
 Structure that holds the application callback for forced reclamation notifications. More...
struct  lbm_mim_unrecloss_func_t_stct
 Structure that holds the application callback for multicast immediate message unrecoverable loss notification. More...
struct  lbm_ume_rcv_recovery_info_ex_func_t_stct
 Structure that holds the application callback for recovery sequence number information, extended form. More...
struct  lbm_ume_store_entry_t_stct
 Structure that holds information for a UMP store for configuration purposes. More...
struct  lbm_ucast_resolver_entry_t_stct
 Structure that holds information for a unicast resolver daemon for configuration purposes. More...
struct  lbm_ume_store_name_entry_t_stct
 Structure that holds information for a UMP store by name for configuration purposes. More...
struct  lbm_ume_store_group_entry_t_stct
 Structure that holds information for a UMP store group for configuration purposes. More...
struct  lbm_rcv_src_notification_func_t_stct
 Structure that holds the application callback for source status notifications for receivers. More...
struct  ume_liveness_receiving_context_t_stct
 Structure that holds the information about a receiving context. More...
struct  lbm_ume_ctx_rcv_ctx_notification_func_t_stct
 Structure that holds the application callback for receiving context status notifications for source context. More...
struct  lbm_umq_queue_entry_t_stct
 Structure that holds information for a UMQ queue registration ID for configuration purposes. More...
struct  lbm_umq_ulb_receiver_type_entry_t_stct
 Structure that holds information for a UMQ ULB sources receiver type associations with application sets. More...
struct  lbm_umq_ulb_application_set_attr_t_stct
 Structure that holds information for a UMQ ULB sources application set attributes. More...
struct  lbm_umq_ulb_receiver_type_attr_t_stct
 Structure that holds information for a UMQ ULB sources receiver type attributes. More...
struct  lbm_context_src_event_func_t_stct
 Structure that holds the application callback for context-level source events. More...
struct  lbm_context_event_func_t_stct
 Structure that holds the application callback for context-level events. More...
struct  lbm_serialized_response_t_stct
 Structure that holds a serialized UM response object. More...
struct  lbm_msg_fragment_info_t_stct
 Structure that holds fragment information for UM messages when appropriate. More...
struct  lbm_msg_gateway_info_t_stct
 Structure that holds originating information for UM messages which arrived via a gateway. More...
struct  lbm_msg_channel_info_t_stct
 Structure that represents UMS Spectrum channel information. More...
struct  lbm_msg_t_stct
 Structure that stores information about a received message. More...
struct  lbm_context_rcv_immediate_msgs_func_t_stct
 Structure that holds the application callback for receiving topic-less immediate mode messages. More...
struct  lbm_transport_source_info_t_stct
 Structure that holds formatted and parsed transport source strings. More...
struct  lbm_src_cost_func_t_stct
 Structure that holds the "source_cost_evaluation_function" context attribute. More...
struct  lbm_config_option_stct_t
struct  lbm_wildcard_rcv_create_func_t_stct
 Structure that holds the receiver creation callback information for wildcard receivers. More...
struct  lbm_wildcard_rcv_delete_func_t_stct
 Structure that holds the receiver deletion callback information for wildcard receivers. More...
struct  lbm_src_transport_stats_tcp_t_stct
 Structure that holds datagram statistics for source TCP transports. More...
struct  lbm_src_transport_stats_lbtrm_t_stct
 Structure that holds datagram statistics for source LBT-RM transports. More...
struct  lbm_src_transport_stats_daemon_t_stct
 Structure that holds statistics for source daemon mode transport (deprecated). More...
struct  lbm_src_transport_stats_lbtru_t_stct
 Structure that holds datagram statistics for source LBT-RU transports. More...
struct  lbm_src_transport_stats_lbtipc_t_stct
 Structure that holds datagram statistics for source LBT-IPC transports. More...
struct  lbm_src_transport_stats_lbtrdma_t_stct
 Structure that holds datagram statistics for source LBT-RDMA transports. More...
struct  lbm_src_transport_stats_t_stct
 Structure that holds statistics for source transports. More...
struct  lbm_rcv_transport_stats_tcp_t_stct
 Structure that holds datagram statistics for receiver TCP transports. More...
struct  lbm_rcv_transport_stats_lbtrm_t_stct
 Structure that holds datagram statistics for receiver LBT-RM transports. More...
struct  lbm_rcv_transport_stats_daemon_t_stct
 Structure that holds statistics for receiver daemon mode transport (deprecated). More...
struct  lbm_rcv_transport_stats_lbtru_t_stct
 Structure that holds datagram statistics for receiver LBT-RU transports. More...
struct  lbm_rcv_transport_stats_lbtipc_t_stct
 Structure that holds datagram statistics for receiver LBT-IPC transports. More...
struct  lbm_rcv_transport_stats_lbtrdma_t_stct
 Structure that holds datagram statistics for receiver LBT-RDMA transports. More...
struct  lbm_rcv_transport_stats_t_stct
 Structure that holds statistics for receiver transports. More...
struct  lbm_event_queue_stats_t_stct
 Structure that holds statistics for an event queue. More...
struct  lbm_context_stats_t_stct
 Structure that holds statistics for a context. More...
struct  lbm_event_queue_cancel_cb_info_t_stct
 Structure passed to cancel/delete functions so that a cancel callback may be called. More...
struct  lbm_apphdr_chain_elem_t_stct
 Structure that represents an element in an app header chain. More...
struct  lbm_msg_properties_iter_t_stct
 A struct used for iterating over properties pointed to by an lbm_msg_properties_t. More...
struct  lbm_umm_info_t_stct
 Structure for specifying UMM daemon connection options. More...

Defines

#define LBM_VERS_MAJOR   5
#define LBM_VERS_MINOR   3
#define LBM_VERS_MAINT   6
#define LBM_VERS_SFX   0
#define LBM_VERS_TAG   ""
#define LBM_VERS   (LBM_VERS_MAJOR*10000+LBM_VERS_MINOR*100+LBM_VERS_MAINT)
#define PRIuSZ   "zu"
#define PRIuSZcast(x)   (size_t)(x)
#define SCNuSZ   "zu"
#define SCNuSZcast(x)   (size_t * )(x)
#define LBMExpDLL
#define LBM_EINVAL   1
#define LBM_EWOULDBLOCK   2
#define LBM_ENOMEM   3
#define LBM_EOP   4
#define LBM_EOS   5
#define LBM_ETIMEDOUT   6
#define LBM_EDAEMONCONN   7
#define LBM_EUMENOREG   8
#define LBM_EOPNOTSUPP   9
#define LBM_EINPROGRESS   10
#define LBM_ENO_QUEUE_REG   11
#define LBM_ENO_STORE_REG   12
#define LBM_EMSG_SELECTOR   14
#define LBM_MSG_DATA   0
#define LBM_MSG_EOS   1
#define LBM_MSG_REQUEST   2
#define LBM_MSG_RESPONSE   3
#define LBM_MSG_UNRECOVERABLE_LOSS   4
#define LBM_MSG_UNRECOVERABLE_LOSS_BURST   5
#define LBM_MSG_NO_SOURCE_NOTIFICATION   6
#define LBM_MSG_UME_REGISTRATION_ERROR   7
#define LBM_MSG_UME_REGISTRATION_SUCCESS   8
#define LBM_MSG_UME_REGISTRATION_CHANGE   9
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX   10
#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX   11
#define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX   12
#define LBM_MSG_UME_DEREGISTRATION_COMPLETE_EX   13
#define LBM_MSG_UMQ_REGISTRATION_ERROR   16
#define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX   18
#define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX   19
#define LBM_MSG_BOS   20
#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_ERROR   21
#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX   22
#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX   23
#define LBM_MSG_UMQ_INDEX_ASSIGNED_EX   24
#define LBM_MSG_UMQ_INDEX_RELEASED_EX   25
#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ERROR   26
#define LBM_MSG_HF_RESET   27
#define LBM_MSG_START_BATCH   0x1
#define LBM_MSG_END_BATCH   0x2
#define LBM_MSG_COMPLETE_BATCH   0x3
#define LBM_MSG_FLUSH   0x4
#define LBM_SRC_NONBLOCK   0x8
#define LBM_SRC_BLOCK_TEMP   0x10
#define LBM_SRC_BLOCK   0x20
#define LBM_MSG_IOV_GATHER   0x40
#define LBM_RCV_NONBLOCK   0x8
#define LBM_RCV_BLOCK_TEMP   0x10
#define LBM_RCV_BLOCK   0x20
#define LBM_MSG_FLAG_START_BATCH   0x1
#define LBM_MSG_FLAG_END_BATCH   0x2
#define LBM_MSG_FLAG_HF_PASS_THROUGH   0x4
#define LBM_MSG_FLAG_UME_RETRANSMIT   0x8
#define LBM_MSG_FLAG_RETRANSMIT   0x8
#define LBM_MSG_FLAG_IMMEDIATE   0x10
#define LBM_MSG_FLAG_HF_DUPLICATE   0x20
#define LBM_MSG_FLAG_UMQ_REASSIGNED   0x40
#define LBM_MSG_FLAG_UMQ_RESUBMITTED   0x80
#define LBM_MSG_FLAG_TOPICLESS   0x100
#define LBM_MSG_FLAG_DELIVERY_LATENCY   0x200
#define LBM_MSG_FLAG_HF_OPTIONAL   0x400
#define LBM_MSG_FLAG_HF_32   0x800
#define LBM_MSG_FLAG_HF_64   0x1000
#define LBM_MSG_FLAG_OTR   0x2000
#define LBM_MSG_FLAG_NUMBERED_CHANNEL   0x1
#define LBM_TOPIC_RES_REQUEST_RESERVED1   0x08
#define LBM_TOPIC_RES_REQUEST_ADVERTISEMENT   0x04
#define LBM_TOPIC_RES_REQUEST_QUERY   0x02
#define LBM_TOPIC_RES_REQUEST_WILDCARD_QUERY   0x01
#define LBM_SRC_EVENT_CONNECT   1
#define LBM_SRC_EVENT_DISCONNECT   2
#define LBM_SRC_EVENT_WAKEUP   3
#define LBM_SRC_EVENT_DAEMON_CONFIRM   4
#define LBM_SRC_EVENT_UME_REGISTRATION_ERROR   5
#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS   6
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE   7
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION   8
#define LBM_SRC_EVENT_UME_STORE_UNRESPONSIVE   9
#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED   10
#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX   11
#define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX   12
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX   13
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX   14
#define LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO   15
#define LBM_SRC_EVENT_UMQ_REGISTRATION_ERROR   16
#define LBM_SRC_EVENT_UMQ_MESSAGE_ID_INFO   17
#define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX   18
#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX   19
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_ASSIGNED_EX   20
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX   21
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX   22
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_COMPLETE_EX   23
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_CONSUMED_EX   24
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_REGISTRATION_EX   25
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_DEREGISTRATION_EX   26
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_READY_EX   27
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_TIMEOUT_EX   28
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION   29
#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX   30
#define LBM_SRC_EVENT_UME_DEREGISTRATION_SUCCESS_EX   31
#define LBM_SRC_EVENT_UME_DEREGISTRATION_COMPLETE_EX   32
#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX   1
#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_SUCCESS_EX   2
#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_ERROR   3
#define LBM_CONTEXT_EVENT_UMQ_INSTANCE_LIST_NOTIFICATION   4
#define LBM_TRANSPORT_TYPE_TCP   0x00
#define LBM_TRANSPORT_TYPE_LBTRU   0x01
#define LBM_TRANSPORT_TYPE_LBTRM   0x10
#define LBM_TRANSPORT_TYPE_LBTIPC   0x40
#define LBM_TRANSPORT_TYPE_LBTRDMA   0x20
#define LBM_CTX_ATTR_OP_EMBEDDED   1
#define LBM_CTX_ATTR_OP_DAEMON   2
#define LBM_CTX_ATTR_OP_SEQUENTIAL   3
#define LBM_CTX_ATTR_FDTYPE_POLL   1
#define LBM_CTX_ATTR_FDTYPE_SELECT   2
#define LBM_CTX_ATTR_FDTYPE_WSAEV   3
#define LBM_CTX_ATTR_FDTYPE_WINCPORT   4
#define LBM_CTX_ATTR_FDTYPE_WINCPORT_OV   5
#define LBM_CTX_ATTR_FDTYPE_EPOLL   6
#define LBM_CTX_ATTR_FDTYPE_DEVPOLL   7
#define LBM_CTX_ATTR_FDTYPE_KQUEUE   8
#define LBM_CTX_ATTR_FDTYPE_WINRIOCPORT   9
#define LBM_CTX_ATTR_MON_TRANSPORT_LBM   1
#define LBM_CTX_ATTR_MON_TRANSPORT_LBMSNMP   2
#define LBM_CTX_ATTR_IPC_RCV_THREAD_PEND   1
#define LBM_CTX_ATTR_IPC_RCV_THREAD_BUSY_WAIT   2
#define LBM_CTX_ATTR_RDMA_RCV_THREAD_PEND   1
#define LBM_CTX_ATTR_RDMA_RCV_THREAD_BUSY_WAIT   2
#define LBM_CTX_ATTR_RCV_THRD_POOL_CREATE   1
#define LBM_CTX_ATTR_RCV_THRD_POOL_DYNAMIC   2
#define LBM_CTX_ATTR_NET_COMPAT_MODE_DEFAULT   0x00000000
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6   0x00030600
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_1   0x00030601
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_2   0x00030602
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_5   0x00030605
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_0   0x00040000
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_0_1   0x00040001
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1   0x00040100
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_1   0x00040101
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_2   0x00040102
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_3   0x00040103
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_1   0x00040201
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_2   0x00040202
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_3   0x00040203
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_4   0x00040204
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_5   0x00040205
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_6   0x00040206
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_7   0x00040207
#define LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_8   0x00040208
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0   0x01030000
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0_1   0x01030001
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0_2   0x01030002
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1   0x01030100
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_1   0x01030101
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_2   0x01030102
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_3   0x01030103
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_1   0x01030201
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_2   0x01030202
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_3   0x01030203
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_4   0x01030204
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_5   0x01030205
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_6   0x01030206
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_7   0x01030207
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_8   0x01030208
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_0   0x02010000
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_1   0x02010100
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_1_1   0x02010101
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_0   0x02020000
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_0_1   0x02020001
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_1   0x02020101
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_3   0x02020103
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_4   0x02020104
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_5   0x02020105
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_6   0x02020106
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_7   0x02020107
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_8   0x02020108
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_9   0x02020109
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_10   0x0202010a
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_0   0x03050000
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_0_1   0x03050001
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1   0x03050100
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1_1   0x03050101
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1_2   0x03050102
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2   0x03050200
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2_1   0x03050201
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2_2   0x03050202
#define LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_3   0x03050300
#define LBM_SRC_TOPIC_ATTR_TRANSPORT_TCP   LBM_TRANSPORT_TYPE_TCP
#define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTRM   LBM_TRANSPORT_TYPE_LBTRM
#define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTRU   LBM_TRANSPORT_TYPE_LBTRU
#define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTIPC   LBM_TRANSPORT_TYPE_LBTIPC
#define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTRDMA   LBM_TRANSPORT_TYPE_LBTRDMA
#define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_NORMAL   0
#define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_BOUNDED_LATENCY   1
#define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SOURCE_PACED   2
#define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SEND_ORDER_SERIAL   0
#define LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SEND_ORDER_RANDOM   1
#define LBM_SRC_TOPIC_ATTR_SSF_NONE   0
#define LBM_SRC_TOPIC_ATTR_SSF_INCLUSION   1
#define LBM_SRC_TOPIC_ATTR_SSF_EXCLUSION   2
#define LBM_SRC_TOPIC_ATTR_IMPLICIT_BATCH_TYPE_DEFAULT   0
#define LBM_SRC_TOPIC_ATTR_IMPLICIT_BATCH_TYPE_ADAPTIVE   1
#define LBM_SRC_TOPIC_ATTR_UME_STORE_BEHAVIOR_RR   0x0
#define LBM_SRC_TOPIC_ATTR_UME_STORE_BEHAVIOR_QC   0x1
#define LBM_SRC_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_LOWEST   0x0
#define LBM_SRC_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_MAJORITY   0x1
#define LBM_SRC_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_HIGHEST   0x2
#define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_ANY   0x0
#define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_MAJORITY   0x1
#define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_QUORUM   0x1
#define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_ALL   0x2
#define LBM_SRC_TOPIC_ATTR_UME_STABLE_BEHAVIOR_ALL_ACTIVE   0x3
#define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_ANY   0x0
#define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_MAJORITY   0x1
#define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_QUORUM   0x1
#define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_ALL   0x2
#define LBM_SRC_TOPIC_ATTR_UMQ_STABLE_BEHAVIOR_ALL_ACTIVE   0x3
#define LBM_SRC_TOPIC_ATTR_LBTIPC_BEHAVIOR_SOURCE_PACED   LBTIPC_BEHAVIOR_SRC_PACED
#define LBM_SRC_TOPIC_ATTR_LBTIPC_BEHAVIOR_RECEIVER_PACED   LBTIPC_BEHAVIOR_RCVR_PACED
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_CONSUME   0x1
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_TIMEOUT   0x2
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_ASSIGNMENT   0x4
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_REASSIGNMENT   0x8
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_COMPLETE   0x10
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_TIMEOUT   0x20
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_REGISTRATION   0x40
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_DEREGISTRATION   0x80
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_READY   0x100
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_ALL   0x1FF
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_ASSIGNMENT_DEFAULT   0x0
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_ASSIGNMENT_RANDOM   0x1
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_LF_BEHAVIOR_IGNORED   0x0
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_LF_BEHAVIOR_PROVISIONED   0x1
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_LF_BEHAVIOR_DYNAMIC   0x2
#define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_NONE   0x0
#define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_PER_FRAGMENT   0x1
#define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_PER_MESSAGE   0x2
#define LBM_SRC_TOPIC_ATTR_UME_STABLE_EVENT_FRAG_AND_MSG   0x3
#define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_NONE   0x0
#define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_PER_FRAGMENT   0x1
#define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_PER_MESSAGE   0x2
#define LBM_SRC_TOPIC_ATTR_UME_CDELV_EVENT_FRAG_AND_MSG   0x3
#define LBM_RCV_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_LOWEST   0x0
#define LBM_RCV_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_MAJORITY   0x1
#define LBM_RCV_TOPIC_ATTR_UME_QC_SQN_BEHAVIOR_HIGHEST   0x2
#define LBM_RCV_TOPIC_ATTR_TCP_ACTIVITY_TIMEOUT_SO_KEEPALIVE   0x1
#define LBM_RCV_TOPIC_ATTR_TCP_ACTIVITY_TIMEOUT_TIMER   0x2
#define LBM_RCV_TOPIC_ATTR_CHANNEL_BEHAVIOR_DELIVER_MSGS   0x1
#define LBM_RCV_TOPIC_ATTR_CHANNEL_BEHAVIOR_DISCARD_MSGS   0x2
#define LBM_RCV_TOPIC_ATTR_UMQ_INDEX_ASSIGN_ELIGIBILITY_INELIGIBLE   0x0
#define LBM_RCV_TOPIC_ATTR_UMQ_INDEX_ASSIGN_ELIGIBILITY_ELIGIBLE   0x1
#define LBM_RCV_TOPIC_ATTR_UMQ_QUEUE_PARTICIPATION_NONE   0
#define LBM_RCV_TOPIC_ATTR_UMQ_QUEUE_PARTICIPATION_NORMAL   1
#define LBM_RCV_TOPIC_ATTR_UMQ_QUEUE_PARTICIPATION_OBSERVER   2
#define LBM_RCV_TOPIC_ATTR_UMQ_HOLD_INTERVAL_FOREVER   0xFFFFFFFF
#define LBM_MSG_MAX_SOURCE_LEN   128
#define LBM_MSG_MAX_TOPIC_LEN   256
#define LBM_MSG_MAX_STATE_LEN   32
#define LBM_UME_MAX_STORE_STRLEN   24
#define LBM_UMQ_MAX_QUEUE_STRLEN   256
#define LBM_UMQ_MAX_TOPIC_STRLEN   256
#define LBM_UMQ_MAX_APPSET_STRLEN   256
#define LBM_MAX_CONTEXT_NAME_LEN   128
#define LBM_MAX_EVENT_QUEUE_NAME_LEN   128
#define LBM_UMQ_ULB_MAX_RECEIVER_STRLEN   32
#define LBM_UMQ_MAX_INDEX_LEN   216
#define LBM_UMQ_USER_NAME_LENGTH_MAX   127
#define LBM_UMQ_PASSWORD_LENGTH_MAX   15
#define LBM_UMM_NUM_SERVERS_MAX   16
#define LBM_UMM_USER_NAME_LENGTH_MAX   100
#define LBM_UMM_APP_NAME_LENGTH_MAX   100
#define LBM_UMM_PASSWORD_LENGTH_MAX   100
#define LBM_UMM_SERVER_LENGTH_MAX   32
#define LBM_HMAC_BLOCK_SZ   20
#define LBM_FLIGHT_SIZE_BEHAVIOR_NOTIFY   0x0
#define LBM_FLIGHT_SIZE_BEHAVIOR_BLOCK   0x1
#define LBM_FD_EVENT_READ   0x1
#define LBM_FD_EVENT_WRITE   0x2
#define LBM_FD_EVENT_EXCEPT   0x4
#define LBM_FD_EVENT_ACCEPT   0x8
#define LBM_FD_EVENT_CLOSE   0x10
#define LBM_FD_EVENT_CONNECT   0x20
#define LBM_FD_EVENT_ALL   0x3f
#define LBM_EVENT_QUEUE_BLOCK   0xFFFFFFFF
#define LBM_EVENT_QUEUE_POLL   0x0
#define LBM_EVENT_QUEUE_SIZE_WARNING   0x1
#define LBM_EVENT_QUEUE_DELAY_WARNING   0x2
#define LBM_EVENT_QUEUE_ENQUEUE_NOTIFICATION   0x3
#define LBM_LOG_EMERG   1
#define LBM_LOG_ALERT   2
#define LBM_LOG_CRIT   3
#define LBM_LOG_ERR   4
#define LBM_LOG_WARNING   5
#define LBM_LOG_NOTICE   6
#define LBM_LOG_INFO   7
#define LBM_LOG_DEBUG   8
#define LBM_DAEMON_EVENT_CONNECTED   1
#define LBM_DAEMON_EVENT_CONNECT_ERROR   2
#define LBM_DAEMON_EVENT_DISCONNECTED   3
#define LBM_DAEMON_EVENT_CONNECT_TIMEOUT   4
#define LBM_TRANSPORT_STAT_TCP   LBM_TRANSPORT_TYPE_TCP
#define LBM_TRANSPORT_STAT_LBTRM   LBM_TRANSPORT_TYPE_LBTRM
#define LBM_TRANSPORT_STAT_DAEMON   0xFF
#define LBM_TRANSPORT_STAT_LBTRU   LBM_TRANSPORT_TYPE_LBTRU
#define LBM_TRANSPORT_STAT_LBTIPC   LBM_TRANSPORT_TYPE_LBTIPC
#define LBM_TRANSPORT_STAT_LBTRDMA   LBM_TRANSPORT_TYPE_LBTRDMA
#define LBM_WILDCARD_RCV_PATTERN_TYPE_PCRE   1
#define LBM_WILDCARD_RCV_PATTERN_TYPE_REGEX   2
#define LBM_WILDCARD_RCV_PATTERN_TYPE_APP_CB   3
#define LBM_SRC_EVENT_WAKEUP_FLAG_NORMAL   0x1
#define LBM_SRC_EVENT_WAKEUP_FLAG_MIM   0x2
#define LBM_SRC_EVENT_WAKEUP_FLAG_UIM   0x4
#define LBM_SRC_EVENT_WAKEUP_FLAG_REQUEST   0x8
#define LBM_SRC_EVENT_WAKEUP_FLAG_RESPONSE   0x10
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_TOTAL_LIFETIME_EXPIRED   0x1
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_EXPLICIT   0x2
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_DISCARD   0x4
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_MAX_REASSIGNS   0x8
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX_FLAG_EXPLICIT   0x1
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_UME   0x1
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_ULB   0x2
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_UMQ   0x3
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_OVER   0x1
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_UNDER   0x2
#define LBM_FLIGHT_SIZE_TYPE_UME   0x1
#define LBM_FLIGHT_SIZE_TYPE_ULB   0x2
#define LBM_FLIGHT_SIZE_TYPE_UMQ   0x3
#define LBM_SRC_SEND_EX_FLAG_UME_CLIENTD   0x1
#define LBM_SRC_SEND_EX_FLAG_UMQ_CLIENTD   0x1
#define LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO   0x2
#define LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY   0x4
#define LBM_SRC_SEND_EX_FLAG_APPHDR_CHAIN   0x8
#define LBM_SRC_SEND_EX_FLAG_UMQ_MESSAGE_ID_INFO   0x10
#define LBM_SRC_SEND_EX_FLAG_CHANNEL   0x20
#define LBM_SRC_SEND_EX_FLAG_UMQ_INDEX   0x40
#define LBM_SRC_SEND_EX_FLAG_UMQ_TOTAL_LIFETIME   0x80
#define LBM_SRC_SEND_EX_FLAG_HF_OPTIONAL   0x100
#define LBM_SRC_SEND_EX_FLAG_PROPERTIES   0x200
#define LBM_SRC_SEND_EX_FLAG_HF_32   0x400
#define LBM_SRC_SEND_EX_FLAG_HF_64   0x800
#define LBM_MSG_PROPERTY_NONE   0x0
#define LBM_MSG_PROPERTY_BOOLEAN   0x1
#define LBM_MSG_PROPERTY_BYTE   0x2
#define LBM_MSG_PROPERTY_SHORT   0x3
#define LBM_MSG_PROPERTY_INT   0x4
#define LBM_MSG_PROPERTY_LONG   0x5
#define LBM_MSG_PROPERTY_FLOAT   0x6
#define LBM_MSG_PROPERTY_DOUBLE   0x7
#define LBM_MSG_PROPERTY_STRING   0x8
#define LBM_MSG_PROPERTIES_MAX_NAMELEN   250
#define LBM_CHAIN_ELEM_CHANNEL_NUMBER   0x1
#define LBM_CHAIN_ELEM_HF_SQN   0x2
#define LBM_CHAIN_ELEM_GW_INFO   0x3
#define LBM_CHAIN_ELEM_APPHDR   0x4
#define LBM_CHAIN_ELEM_USER_DATA   0x5
#define LBM_CHAIN_ELEM_PROPERTIES_LENGTH   0x6
#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_OLD   0x1
#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_NOACKS   0x2
#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP   0x4
#define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_INTRAGROUP_STABLE   0x1
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_INTERGROUP_STABLE   0x2
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_STABLE   0x4
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_STORE   0x8
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_WHOLE_MESSAGE_STABLE   0x10
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_USER   0x20
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_UNIQUEACKS   0x1
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_UREGID   0x2
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_OOD   0x4
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_EXACK   0x8
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_WHOLE_MESSAGE_CONFIRMED   0x10
#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX_FLAG_FORCED   0x1
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_OLD   0x1
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_NOCACHE   0x2
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP   0x4
#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1
#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_RXREQMAX   0x2
#define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX_FLAG_RPP   0x1
#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1
#define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1
#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_INTRAGROUP_STABLE   0x1
#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_INTERGROUP_STABLE   0x2
#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_STABLE   0x4
#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_USER   0x8
#define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1
#define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX_FLAG_ULB   0x2
#define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX_FLAG_ULB   0x1
#define LBM_MSG_UMQ_INDEX_ASSIGNED_EX_FLAG_ULB   0x1
#define LBM_MSG_UMQ_INDEX_ASSIGNED_EX_FLAG_REQUESTED   0x2
#define LBM_MSG_UMQ_INDEX_RELEASED_EX_FLAG_ULB   0x1
#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX_FLAG_ULB   0x1
#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX_FLAG_ULB   0x1
#define LBM_MSG_UMQ_REASSIGN_FLAG_DISCARD   0x1
#define LBM_UME_LIVENESS_RECEIVER_UNRESPONSIVE_FLAG_TMO   0x1
#define LBM_UME_LIVENESS_RECEIVER_UNRESPONSIVE_FLAG_EOF   0x2
#define LBM_UMM_INFO_FLAGS_USE_SSL   0x1
#define LBM_TEXTMESSAGE   0;
#define LBM_BYTEMESSAGE   1;
#define LBM_MAPMESSAGE   2;
#define LBM_MESSAGE   3;
#define LBM_OBJECTMESSAGE   4;
#define LBM_STREAMMESSAGE   5;
#define LBM_JMSDeliveryMode   "JMSDeliveryMode"
#define LBM_JMSExpiration   "JMSExpiration"
#define LBM_JMSPriority   "JMSPriority"
#define LBM_JMSMessageID   "JMSMessageID"
#define LBM_JMSTimestamp   "JMSTimestamp"
#define LBM_JMSCorrelationID   "JMSCorrelationID"
#define LBM_JMSType   "JMSType"
#define LBM_JMSRedelivered   "JMSRedelivered"
#define LBM_LBMMessageType   "LBMMessageType"
#define LBM_JMSTopicType   "JMSTopicType"
#define LBM_JMSReplyToName   "JMSReplyToName"
#define LBM_JMSReplyToWildcard   "JMSReplyToWildcard"
#define LBM_JMSReplyToType   "JMSReplyToType"
#define LBM_EXTERNAL_STRUCT_FILL_SIZE   (512)
#define LBM_UMQ_INDEX_FLAG_NUMERIC   0x1
#define LBM_UMQ_QUEUE_MSG_STATUS_UNKNOWN   0
 Queue message status; queue has no knowledge of the message.
#define LBM_UMQ_QUEUE_MSG_STATUS_UNASSIGNED   1
 Queue message status; message is currently enqueued but not yet assigned.
#define LBM_UMQ_QUEUE_MSG_STATUS_ASSIGNED   2
 Queue message status; message is currently assigned to a receiver but not yet consumed.
#define LBM_UMQ_QUEUE_MSG_STATUS_REASSIGNING   3
 Queue message status; message is waiting to be re-assigned to a different receiver.
#define LBM_UMQ_QUEUE_MSG_STATUS_CONSUMED   4
 Queue message status; message has been fully consumed and is no longer present in the queue.
#define LBM_ASYNC_OP_TYPE_CTX_UMQ_QUEUE_TOPIC_LIST   1
#define LBM_ASYNC_OP_TYPE_RCV_UMQ_QUEUE_MSG_LIST   2
#define LBM_ASYNC_OP_TYPE_RCV_UMQ_QUEUE_MSG_RETRIEVE   3
#define LBM_ASYNC_OP_STATUS_IN_PROGRESS   1
#define LBM_ASYNC_OP_STATUS_COMPLETE   128
#define LBM_ASYNC_OP_STATUS_ERROR   129
#define LBM_ASYNC_OP_STATUS_CANCELED   130
#define LBM_ASYNC_OP_INVALID_HANDLE   0
#define LBM_ASYNC_OPERATION_CANCEL_FLAG_NONBLOCK   0x1
#define LBM_ASYNC_OPERATION_STATUS_FLAG_NONBLOCK   0x1
#define LBM_ASYNC_OP_INFO_FLAG_INLINE   0x1
#define LBM_ASYNC_OP_INFO_FLAG_FIRST   0x2
#define LBM_ASYNC_OP_INFO_FLAG_LAST   0x4
#define LBM_ASYNC_OP_INFO_FLAG_ONLY   (LBM_ASYNC_OP_INFO_FLAG_FIRST | LBM_ASYNC_OP_INFO_FLAG_LAST)
#define LBM_SRC_COST_FUNCTION_REJECT   0xffffffff
#define LBM_CONFIG_OPTIONS_STR_LEN   128
 Config option structure holding the option name and value via string types.
#define lbm_rcv_retrieve_all_transport_stats(r, n, s)   lbm_rcv_retrieve_all_transport_stats_ex(r,n,sizeof(lbm_rcv_transport_stats_t),s)
#define lbm_context_retrieve_rcv_transport_stats(c, n, s)   lbm_context_retrieve_rcv_transport_stats_ex(c,n,sizeof(lbm_rcv_transport_stats_t),s)
#define lbm_context_retrieve_src_transport_stats(c, n, s)   lbm_context_retrieve_src_transport_stats_ex(c,n,sizeof(lbm_src_transport_stats_t),s)

Typedefs

typedef unsigned int lbm_uint_t
typedef unsigned long int lbm_ulong_t
typedef unsigned short int lbm_ushort_t
typedef unsigned char lbm_uchar_t
typedef uint8_t lbm_uint8_t
typedef uint16_t lbm_uint16_t
typedef uint32_t lbm_uint32_t
typedef uint64_t lbm_uint64_t
typedef int64_t lbm_int64_t
typedef int lbm_handle_t
typedef lbm_iovec_t_stct lbm_iovec_t
 Structure, struct iovec compatible, that holds information about buffers used for vectored sends.
typedef lbm_ipv4_address_mask_t_stct lbm_ipv4_address_mask_t
 Structure that holds an IPv4 address and a CIDR style netmask.
typedef lbm_timeval_t_stct lbm_timeval_t
 Structure that holds seconds and microseconds since midnight, Jan 1, 1970 UTC.
typedef lbm_src_event_wakeup_t_stct lbm_src_event_wakeup_t
 Structure that holds source wakeup event data.
typedef lbm_src_event_flight_size_notification_t_stct lbm_src_event_flight_size_notification_t
 Structure that holds flight size notification event data.
typedef lbm_src_event_ume_registration_t_stct lbm_src_event_ume_registration_t
 Structure that holds store registration information for the UMP source.
typedef lbm_src_event_ume_registration_ex_t_stct lbm_src_event_ume_registration_ex_t
 Structure that holds store registration information for the UMP source in an extended form.
typedef lbm_src_event_ume_registration_complete_ex_t_stct lbm_src_event_ume_registration_complete_ex_t
 Structure that holds information for sources after registration is complete to all involved stores.
typedef lbm_src_event_ume_deregistration_ex_t_stct lbm_src_event_ume_deregistration_ex_t
 Structure that holds store deregistration information for the UMP source in an extended form.
typedef lbm_msg_ume_registration_t_stct lbm_msg_ume_registration_t
 Structure that holds store registration information for the UMP receiver.
typedef lbm_msg_ume_registration_ex_t_stct lbm_msg_ume_registration_ex_t
 Structure that holds store registration information for the UM receiver in an extended form.
typedef lbm_msg_ume_registration_complete_ex_t_stct lbm_msg_ume_registration_complete_ex_t
 Structure that holds information for receivers after registration is complete to all involved stores.
typedef lbm_msg_ume_deregistration_ex_t_stct lbm_msg_ume_deregistration_ex_t
 Structure that holds store deregistration information for the UM receiver in an extended form.
typedef lbm_src_event_ume_ack_info_t_stct lbm_src_event_ume_ack_info_t
 Structure that holds ACK information for a given message.
typedef lbm_src_event_ume_ack_ex_info_t_stct lbm_src_event_ume_ack_ex_info_t
 Structure that holds ACK information for a given message in an extended form.
typedef lbm_flight_size_inflight_t_stct lbm_flight_size_inflight_t
 Structure that holds information for source total inflight messages and bytes.
typedef lbm_src_channel_info_t_stct lbm_src_channel_info_t
typedef lbm_umq_index_info_t_stct lbm_umq_index_info_t
 Structure that holds information used for sending and receiving messages with UMQ indices.
typedef lbm_msg_umq_index_assignment_eligibility_stop_complete_ex_t_stct lbm_msg_umq_index_assignment_eligibility_stop_complete_ex_t
 Structure that holds index assignment information for receivers.
typedef lbm_msg_umq_index_assigned_ex_t_stct lbm_msg_umq_index_assigned_ex_t
 Structure that holds beginning-of-index information for receivers.
typedef lbm_msg_umq_index_released_ex_t_stct lbm_msg_umq_index_released_ex_t
 Structure that holds end-of-index information for receivers.
typedef lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t_stct lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t
 Structure that holds index assignment information for receivers.
typedef lbm_apphdr_chain_t_stct lbm_apphdr_chain_t
typedef lbm_umq_msg_total_lifetime_info_t_stct lbm_umq_msg_total_lifetime_info_t
 Structure that holds UMQ message total lifetime information.
typedef lbm_hf_sequence_number_t_stct lbm_hf_sequence_number_t
 Structure to hold a hot failover sequence number.
typedef lbm_uint64_t lbm_umq_regid_t
typedef lbm_umq_msgid_t_stct lbm_umq_msgid_t
 Structure that holds information for UMQ messages that allows the message to be identified uniquely.
typedef lbm_umq_queue_application_set_t_stct lbm_umq_queue_application_set_t
typedef lbm_umq_queue_topic_t_stct lbm_umq_queue_topic_t
 Structure that holds queue topic information and can be used as a handle to a queue topic.
typedef lbm_msg_t_stct lbm_msg_t
typedef lbm_event_queue_t_stct lbm_event_queue_t
typedef lbm_uint64_t lbm_async_operation_handle_t
 Opaque handle to an asynchronous operation.
typedef int(*) lbm_async_operation_function_cb (lbm_async_operation_info_t *opinfo, void *clientd)
 User-supplied application callback for asynchronous operation status and completion.
typedef lbm_msg_properties_t_stct lbm_msg_properties_t
typedef lbm_src_send_ex_info_t_stct lbm_src_send_ex_info_t
 Structure that holds information for the extended send calls A structure used with UM sources that utilize the extended send calls to pass options.
typedef lbm_ume_rcv_regid_ex_func_info_t_stct lbm_ume_rcv_regid_ex_func_info_t
 Structure that holds information for UMP receiver registration ID application callbacks.
typedef lbm_src_event_sequence_number_info_t_stct lbm_src_event_sequence_number_info_t
 Structure that holds sequence number information for a message sent by a source.
typedef lbm_ume_rcv_recovery_info_ex_func_info_t_stct lbm_ume_rcv_recovery_info_ex_func_info_t
 Structure that holds information for UMP receiver recovery sequence number info application callbacks.
typedef lbm_src_event_umq_message_id_info_t_stct lbm_src_event_umq_message_id_info_t
 Structure that holds Message ID information for a message sent by a sending UMQ application.
typedef lbm_context_event_umq_registration_ex_t_stct lbm_context_event_umq_registration_ex_t
 Structure that holds queue registration information for the UMQ context in an extended form.
typedef lbm_context_event_umq_registration_complete_ex_t_stct lbm_context_event_umq_registration_complete_ex_t
 Structure that holds information for contexts after registration is complete to all involved queue instances.
typedef lbm_src_event_umq_registration_complete_ex_t_stct lbm_src_event_umq_registration_complete_ex_t
 Structure that holds information for sources after registration is complete to all involved queue instances.
typedef lbm_msg_umq_registration_complete_ex_t_stct lbm_msg_umq_registration_complete_ex_t
 Structure that holds information for receivers after registration is complete to all involved queue instances.
typedef lbm_src_event_umq_stability_ack_info_ex_t_stct lbm_src_event_umq_stability_ack_info_ex_t
 Structure that holds UMQ ACK information for a given message in an extended form.
typedef lbm_msg_umq_deregistration_complete_ex_t_stct lbm_msg_umq_deregistration_complete_ex_t
 Structure that holds information for receivers after they de-register from a queue.
typedef lbm_src_event_umq_ulb_receiver_info_ex_t_stct lbm_src_event_umq_ulb_receiver_info_ex_t
 Structure that holds UMQ ULB receiver information in an extended form.
typedef lbm_src_event_umq_ulb_message_info_ex_t_stct lbm_src_event_umq_ulb_message_info_ex_t
 Structure that holds UMQ ULB message information in an extended form.
typedef lbm_ulong_t(*) lbm_str_hash_function_cb (const char *str)
 Application callback for user-supplied topic hash function.
typedef lbm_ulong_t(*) lbm_str_hash_function_cb_ex (const char *str, size_t strlen, void *clientd)
 Application callback for user-supplied extended version of the topic hash function.
typedef int(*) lbm_src_notify_function_cb (const char *topic_str, const char *src_str, void *clientd)
 Application callback to inform application of the presence of new sources for topics.
typedef int(*) lbm_wildcard_rcv_compare_function_cb (const char *topic_str, void *clientd)
 Application callback for application-supplied wildcard matching.
typedef lbm_uint_t(*) lbm_ume_rcv_regid_function_cb (const char *src_str, lbm_uint_t src_regid, void *clientd)
 Application callback to set the registration ID for a receiver for a specific source.
typedef lbm_uint_t(*) lbm_ume_rcv_regid_ex_function_cb (lbm_ume_rcv_regid_ex_func_info_t *info, void *clientd)
 Application callback to set the registration ID for a receiver for a specific source, extended form.
typedef int(*) lbm_ume_src_force_reclaim_function_cb (const char *topic_str, lbm_uint_t seqnum, void *clientd)
 Application callback for notification of forced reclamation of retained messages for UMP sources.
typedef int(*) lbm_mim_unrecloss_function_cb (const char *source_name, lbm_uint_t seqnum, void *clientd)
 Application callback in receiving application for notification of unrecoverable lost messages from a multicast immediate message sender.
typedef int(*) lbm_ume_rcv_recovery_info_ex_function_cb (lbm_ume_rcv_recovery_info_ex_func_info_t *info, void *clientd)
 Application callback to set the lowest sequence number to be requested during recovery, extended form.
typedef void *(*) lbm_rcv_src_notification_create_function_cb (const char *source_name, void *clientd)
 Application callback for notification of creation of sources for a topic.
typedef int(*) lbm_rcv_src_notification_delete_function_cb (const char *source_name, void *clientd, void *source_clientd)
 Application callback for notification of deletion of sources for a topic.
typedef lbm_str_hash_func_t_stct lbm_str_hash_func_t
typedef lbm_str_hash_func_ex_t_stct lbm_str_hash_func_ex_t
 Structure that holds the hash function callback information.
typedef lbm_src_notify_func_t_stct lbm_src_notify_func_t
 Structure that holds the callback for source notifications.
typedef lbm_wildcard_rcv_compare_func_t_stct lbm_wildcard_rcv_compare_func_t
 Structure that holds the application callback pattern type information for wildcard receivers.
typedef lbm_ume_rcv_regid_func_t_stct lbm_ume_rcv_regid_func_t
 Structure that holds the application callback for registration ID setting.
typedef lbm_ume_rcv_regid_ex_func_t_stct lbm_ume_rcv_regid_ex_func_t
 Structure that holds the application callback for registration ID setting, extended form.
typedef lbm_ume_src_force_reclaim_func_t_stct lbm_ume_src_force_reclaim_func_t
 Structure that holds the application callback for forced reclamation notifications.
typedef lbm_mim_unrecloss_func_t_stct lbm_mim_unrecloss_func_t
 Structure that holds the application callback for multicast immediate message unrecoverable loss notification.
typedef lbm_ume_rcv_recovery_info_ex_func_t_stct lbm_ume_rcv_recovery_info_ex_func_t
 Structure that holds the application callback for recovery sequence number information, extended form.
typedef lbm_ume_store_entry_t_stct lbm_ume_store_entry_t
 Structure that holds information for a UMP store for configuration purposes.
typedef lbm_ucast_resolver_entry_t_stct lbm_ucast_resolver_entry_t
 Structure that holds information for a unicast resolver daemon for configuration purposes.
typedef lbm_ume_store_name_entry_t_stct lbm_ume_store_name_entry_t
 Structure that holds information for a UMP store by name for configuration purposes.
typedef lbm_ume_store_group_entry_t_stct lbm_ume_store_group_entry_t
 Structure that holds information for a UMP store group for configuration purposes.
typedef lbm_rcv_src_notification_func_t_stct lbm_rcv_src_notification_func_t
 Structure that holds the application callback for source status notifications for receivers.
typedef ume_liveness_receiving_context_t_stct ume_liveness_receiving_context_t
 Structure that holds the information about a receiving context.
typedef void *(*) lbm_ume_ctx_rcv_ctx_notification_create_function_cb (const ume_liveness_receiving_context_t *rcv, void *clientd)
 Application callback for notification of detection of a receiving application.
typedef int(*) lbm_ume_ctx_rcv_ctx_notification_delete_function_cb (const ume_liveness_receiving_context_t *rcv, void *clientd, void *source_clientd)
 Application callback for notification of unresponsiveness of a receiving application.
typedef lbm_ume_ctx_rcv_ctx_notification_func_t_stct lbm_ume_ctx_rcv_ctx_notification_func_t
 Structure that holds the application callback for receiving context status notifications for source context.
typedef lbm_umq_queue_entry_t_stct lbm_umq_queue_entry_t
 Structure that holds information for a UMQ queue registration ID for configuration purposes.
typedef lbm_umq_ulb_receiver_type_entry_t_stct lbm_umq_ulb_receiver_type_entry_t
 Structure that holds information for a UMQ ULB sources receiver type associations with application sets.
typedef lbm_umq_ulb_application_set_attr_t_stct lbm_umq_ulb_application_set_attr_t
 Structure that holds information for a UMQ ULB sources application set attributes.
typedef lbm_umq_ulb_receiver_type_attr_t_stct lbm_umq_ulb_receiver_type_attr_t
 Structure that holds information for a UMQ ULB sources receiver type attributes.
typedef lbm_context_t_stct lbm_context_t
typedef int(*) lbm_context_src_cb_proc (lbm_context_t *ctx, int event, void *ed, void *clientd)
 Application context-level callback for events associated with context sources (immediate mode sources and responses).
typedef lbm_context_src_event_func_t_stct lbm_context_src_event_func_t
 Structure that holds the application callback for context-level source events.
typedef int(*) lbm_context_event_cb_proc (lbm_context_t *ctx, int event, void *ed, void *clientd)
 Application context-level callback for events associated with contexts.
typedef lbm_context_event_func_t_stct lbm_context_event_func_t
 Structure that holds the application callback for context-level events.
typedef lbm_serialized_response_t_stct lbm_serialized_response_t
 Structure that holds a serialized UM response object.
typedef lbm_buff_t_stct lbm_buff_t
typedef lbm_wildcard_rcv_t_stct lbm_wildcard_rcv_t
typedef lbm_hf_rcv_t_stct lbm_hf_rcv_t
typedef lbm_hfx_attr_t_stct lbm_hfx_attr_t
typedef lbm_hfx_t_stct lbm_hfx_t
typedef lbm_hfx_rcv_t_stct lbm_hfx_rcv_t
typedef lbm_topic_t_stct lbm_topic_t
typedef lbm_src_t_stct lbm_src_t
typedef lbm_rcv_t_stct lbm_rcv_t
typedef lbm_request_t_stct lbm_request_t
typedef lbm_response_t_stct lbm_response_t
typedef lbm_msg_fragment_info_t_stct lbm_msg_fragment_info_t
 Structure that holds fragment information for UM messages when appropriate.
typedef lbm_msg_gateway_info_t_stct lbm_msg_gateway_info_t
 Structure that holds originating information for UM messages which arrived via a gateway.
typedef lbm_msg_channel_info_t_stct lbm_msg_channel_info_t
 Structure that represents UMS Spectrum channel information.
typedef lbm_ume_rcv_ack_t_stct lbm_ume_rcv_ack_t
typedef int(*) lbm_immediate_msg_cb_proc (lbm_context_t *ctx, lbm_msg_t *msg, void *clientd)
 Application callback for non-topic immediate-mode received messages.
typedef lbm_context_rcv_immediate_msgs_func_t_stct lbm_context_rcv_immediate_msgs_func_t
 Structure that holds the application callback for receiving topic-less immediate mode messages.
typedef lbm_transport_source_info_t_stct lbm_transport_source_info_t
 Structure that holds formatted and parsed transport source strings.
typedef lbm_uint32_t(*) lbm_src_cost_function_cb (const char *topic, const lbm_transport_source_info_t *transport, lbm_uint32_t hop_count, lbm_uint32_t cost, void *clientd)
 Application callback to evaluate the cost of a newly discovered source.
typedef lbm_src_cost_func_t_stct lbm_src_cost_func_t
 Structure that holds the "source_cost_evaluation_function" context attribute.
typedef lbm_context_attr_t_stct lbm_context_attr_t
typedef lbm_config_option_stct_t lbm_config_option_t
typedef lbm_src_topic_attr_t_stct lbm_src_topic_attr_t
typedef lbm_rcv_topic_attr_t_stct lbm_rcv_topic_attr_t
typedef int(*) lbm_wildcard_rcv_create_function_cb (const char *topic_str, lbm_rcv_topic_attr_t *attr, void *clientd)
 Application callback for wildcard receiver creation.
typedef lbm_wildcard_rcv_create_func_t_stct lbm_wildcard_rcv_create_func_t
 Structure that holds the receiver creation callback information for wildcard receivers.
typedef int(*) lbm_wildcard_rcv_delete_function_cb (const char *topic_str, void *clientd)
 Application callback for wildcard receiver deletion.
typedef lbm_wildcard_rcv_delete_func_t_stct lbm_wildcard_rcv_delete_func_t
 Structure that holds the receiver deletion callback information for wildcard receivers.
typedef lbm_wildcard_rcv_attr_t_stct lbm_wildcard_rcv_attr_t
typedef lbm_src_transport_stats_tcp_t_stct lbm_src_transport_stats_tcp_t
 Structure that holds datagram statistics for source TCP transports.
typedef lbm_src_transport_stats_lbtrm_t_stct lbm_src_transport_stats_lbtrm_t
 Structure that holds datagram statistics for source LBT-RM transports.
typedef lbm_src_transport_stats_daemon_t_stct lbm_src_transport_stats_daemon_t
 Structure that holds statistics for source daemon mode transport (deprecated).
typedef lbm_src_transport_stats_lbtru_t_stct lbm_src_transport_stats_lbtru_t
 Structure that holds datagram statistics for source LBT-RU transports.
typedef lbm_src_transport_stats_lbtipc_t_stct lbm_src_transport_stats_lbtipc_t
 Structure that holds datagram statistics for source LBT-IPC transports.
typedef lbm_src_transport_stats_lbtrdma_t_stct lbm_src_transport_stats_lbtrdma_t
 Structure that holds datagram statistics for source LBT-RDMA transports.
typedef lbm_src_transport_stats_t_stct lbm_src_transport_stats_t
 Structure that holds statistics for source transports.
typedef lbm_rcv_transport_stats_tcp_t_stct lbm_rcv_transport_stats_tcp_t
 Structure that holds datagram statistics for receiver TCP transports.
typedef lbm_rcv_transport_stats_lbtrm_t_stct lbm_rcv_transport_stats_lbtrm_t
 Structure that holds datagram statistics for receiver LBT-RM transports.
typedef lbm_rcv_transport_stats_daemon_t_stct lbm_rcv_transport_stats_daemon_t
 Structure that holds statistics for receiver daemon mode transport (deprecated).
typedef lbm_rcv_transport_stats_lbtru_t_stct lbm_rcv_transport_stats_lbtru_t
 Structure that holds datagram statistics for receiver LBT-RU transports.
typedef lbm_rcv_transport_stats_lbtipc_t_stct lbm_rcv_transport_stats_lbtipc_t
 Structure that holds datagram statistics for receiver LBT-IPC transports.
typedef lbm_rcv_transport_stats_lbtrdma_t_stct lbm_rcv_transport_stats_lbtrdma_t
 Structure that holds datagram statistics for receiver LBT-RDMA transports.
typedef lbm_rcv_transport_stats_t_stct lbm_rcv_transport_stats_t
 Structure that holds statistics for receiver transports.
typedef lbm_event_queue_attr_t_stct lbm_event_queue_attr_t
typedef lbm_event_queue_stats_t_stct lbm_event_queue_stats_t
 Structure that holds statistics for an event queue.
typedef lbm_context_stats_t_stct lbm_context_stats_t
 Structure that holds statistics for a context.
typedef int(*) lbm_timer_cb_proc (lbm_context_t *ctx, const void *clientd)
 Application callback for timer events.
typedef int(*) lbm_rcv_cb_proc (lbm_rcv_t *rcv, lbm_msg_t *msg, void *clientd)
 Application callback for receiver events.
typedef int(*) lbm_fd_cb_proc (lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev, void *clientd)
 Application callback for events associated with an application file descriptor or socket.
typedef int(*) lbm_src_cb_proc (lbm_src_t *src, int event, void *ed, void *clientd)
 Application callback for events associated with a source.
typedef int(*) lbm_request_cb_proc (lbm_request_t *req, lbm_msg_t *msg, void *clientd)
 Application callback for responses returned when a request is sent.
typedef int(*) lbm_event_queue_monitor_proc (lbm_event_queue_t *evq, int event, size_t evq_size, lbm_ulong_t event_delay_usec, void *clientd)
 Application callback for event queue monitor events.
typedef int(*) lbm_log_cb_proc (int level, const char *message, void *clientd)
 Application callback for message logging.
typedef int(*) lbm_daemon_event_cb_proc (lbm_context_t *ctx, int event, const char *info, void *clientd)
 Application callback for daemon events.
typedef void(*) lbm_event_queue_cancel_cb_proc (int dispatch_thrd, void *clientd)
 Application callback for lbm_*_delete_ex().
typedef lbm_event_queue_cancel_cb_info_t_stct lbm_event_queue_cancel_cb_info_t
 Structure passed to cancel/delete functions so that a cancel callback may be called.
typedef int(*) lbm_flight_size_set_inflight_cb_proc (int inflight, void *clientd)
 Application callback for lbm_*_flight_size_set_inflight().
typedef void(*) lbm_flight_size_set_inflight_ex_cb_proc (lbm_flight_size_inflight_t *inflight, void *clientd)
 Application callback for lbm_ume_flight_size_set_inflight_ex(). Change the inflight parameter messages and bytes to update the current settings.
typedef lbm_apphdr_chain_iter_t_stct lbm_apphdr_chain_iter_t
typedef lbm_apphdr_chain_elem_t_stct lbm_apphdr_chain_elem_t
 Structure that represents an element in an app header chain.
typedef lbm_msg_properties_iter_t_stct lbm_msg_properties_iter_t
 A struct used for iterating over properties pointed to by an lbm_msg_properties_t.
typedef lbm_umq_msg_selector_t_stct lbm_umq_msg_selector_t
typedef int(*) lbm_cred_callback_fn (const char *name, size_t name_len, const char *passwd, size_t passwd_len, void *clientd)
typedef lbm_umm_info_t_stct lbm_umm_info_t
 Structure for specifying UMM daemon connection options.

Enumerations

enum  { LBM_OK = 0, LBM_FAILURE = -1 }

Functions

LBMExpDLL const char * lbm_version (void)
 return the version string compiled into UM.
LBMExpDLL int lbm_context_dump (lbm_context_t *ctx, int *size, lbm_config_option_t *opts)
 Retrieves all context attribute options.
LBMExpDLL int lbm_context_attr_dump (lbm_context_attr_t *cattr, int *size, lbm_config_option_t *opts)
 Retrieves all context attribute options.
LBMExpDLL int lbm_context_attr_option_size ()
 Retrieves the number of options that are of type "context".
LBMExpDLL int lbm_context_attr_create (lbm_context_attr_t **attr)
 Create and fill a UM context attribute object with the current default values.
LBMExpDLL int lbm_context_attr_create_default (lbm_context_attr_t **attr)
 Create and fill a UM context attribute object with the initial default values.
LBMExpDLL int lbm_context_attr_create_from_xml (lbm_context_attr_t **attr, const char *context_name)
 Create and fill a UM context attribute object with the current default values for the given context name.
LBMExpDLL int lbm_context_attr_set_from_xml (lbm_context_attr_t *attr, const char *context_name)
 Fill a UM context attribute object with the current default values for the given context name.
LBMExpDLL int lbm_context_attr_delete (lbm_context_attr_t *attr)
 Delete a UM context attribute object.
LBMExpDLL int lbm_context_attr_dup (lbm_context_attr_t **attr, const lbm_context_attr_t *original)
 Duplicate a UM context attribute object.
LBMExpDLL int lbm_context_attr_setopt (lbm_context_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set an option for the given UM context attribute.
LBMExpDLL int lbm_context_attr_str_setopt (lbm_context_attr_t *attr, const char *optname, const char *optval)
 Set an option for the given UM context attribute using a string.
LBMExpDLL int lbm_context_attr_getopt (lbm_context_attr_t *attr, const char *optname, void *optval, size_t *optlen)
 Retrieve the value of an option for the given UM context attribute.
LBMExpDLL int lbm_context_attr_str_getopt (lbm_context_attr_t *attr, const char *optname, char *optval, size_t *optlen)
 Retrieve the textual value of an option for the given UM context attribute.
LBMExpDLL int lbm_context_create (lbm_context_t **ctxp, const lbm_context_attr_t *attr, lbm_daemon_event_cb_proc proc, void *clientd)
 Create and initialize an lbm_context_t object.
LBMExpDLL int lbm_context_reactor_only_create (lbm_context_t **ctxp, const lbm_context_attr_t *attr)
 Create and initialize an lbm_context_t object suitable for FD and timers only.
LBMExpDLL int lbm_context_delete (lbm_context_t *ctx)
 Delete a UM context object.
LBMExpDLL int lbm_context_delete_ex (lbm_context_t *ctx, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Delete a UM context object with an application callback indicating when the context is fully deleted. This extended version of the context delete function requires the configuration option queue_cancellation_callbacks_enabled be set to 1.
LBMExpDLL int lbm_context_topic_resolution_request (lbm_context_t *ctx, lbm_ushort_t flags, lbm_ulong_t interval_msec, lbm_ulong_t duration_sec)
 Request Topic Advertisements (sources), Topic Queries (receivers), and/or Wildcard Topic Queries (wildcard receivers) in the configured topic resolution address domain. Since Advertisements and Queries can become quiescent after a period defined by the Topic Resolution configuration attributes, this function will schedule Topic Resolution Requests at the given interval and duration. Contexts that receive these requests will respond with one advertisement per source and/or one query per receiver as appropriate. These requests will be ignored for topics that are not quiescent. Note that requests are only sent on the outgoing address and are only received on the incoming address. Responses to the request will similarly be sent only on the outgoing address.
LBMExpDLL int lbm_context_setopt (lbm_context_t *ctx, const char *optname, const void *optval, size_t optlen)
 Set an option value within the given ctx.
LBMExpDLL int lbm_context_str_setopt (lbm_context_t *ctx, const char *optname, const char *optval)
 Set an option value within the given ctx.
LBMExpDLL int lbm_context_getopt (lbm_context_t *ctx, const char *optname, void *optval, size_t *optlen)
 Retrieve an option value within the given ctx.
LBMExpDLL int lbm_context_str_getopt (lbm_context_t *ctx, const char *optname, char *optval, size_t *optlen)
 Retrieve the textual option value within the given ctx.
LBMExpDLL int lbm_context_rcv_immediate_msgs (lbm_context_t *ctx, lbm_immediate_msg_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
 Set the callback procedure and delivery method for non-topic immediate messages.
LBMExpDLL int lbm_context_rcv_immediate_topic_msgs (lbm_context_t *ctx, lbm_immediate_msg_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
 Set the callback procedure and delivery method for immediate messages to a topic for which there is no receiver.
LBMExpDLL int lbm_context_set_name (lbm_context_t *ctx, const char *name)
 Set the name associated with a context.
LBMExpDLL int lbm_context_get_name (lbm_context_t *ctx, char *name, size_t *size)
 Get the name associated with a context.
LBMExpDLL int lbm_license_file (const char *licfile)
 Initialize the UM license from the contents of a disk file. This function will only be effective if it is called before any other UM API function.
LBMExpDLL int lbm_license_str (const char *licstr)
 Initialize the UM license from a string. This function will only be effective if it is called before any other UM API function.
LBMExpDLL int lbm_config (const char *fname)
 Set one or more options from the contents of a disk file. This function will only be effective if it is called before any other UM API function.
LBMExpDLL int lbm_config_xml_file (const char *url, const char *application_name)
 Load a UM XML configuration file.
LBMExpDLL int lbm_config_xml_string (const char *xml_data, const char *application_name)
 Load UM XML configuration data.
LBMExpDLL int lbm_log (lbm_log_cb_proc proc, void *clientd)
 Set a callback function to be called for UM log messages (warnings, notices, etc.).
LBMExpDLL void lbm_logf (int level, const char *format,...)
 Log a message. This is an entry to the UM logging mechanism.
LBMExpDLL const char * lbm_errmsg (void)
 Return an ASCII string containing the error message last encountered by this thread.
LBMExpDLL int lbm_errnum (void)
 Return the error number last encountered by this thread.
LBMExpDLL int lbm_win32_static_thread_attach (void)
 Instructs UM that a new thread will be calling UM functions.
LBMExpDLL int lbm_win32_static_thread_detach (void)
 Instructs UM that a new thread is done calling UM functions.
LBMExpDLL int lbm_schedule_timer (lbm_context_t *ctx, lbm_timer_cb_proc proc, void *clientd, lbm_event_queue_t *evq, lbm_ulong_t delay)
 Schedule a timer that calls proc when it expires.
LBMExpDLL int lbm_schedule_timer_recurring (lbm_context_t *ctx, lbm_timer_cb_proc proc, void *clientd, lbm_event_queue_t *evq, lbm_ulong_t delay)
 Schedule a recurring timer that calls proc when it expires.
LBMExpDLL int lbm_cancel_timer (lbm_context_t *ctx, int id, void **clientdp)
 Cancel a previously scheduled timer identified by id.
LBMExpDLL int lbm_cancel_timer_ex (lbm_context_t *ctx, int id, void **clientdp, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended cancel a previously scheduled timer identified by id.
LBMExpDLL int lbm_context_process_events (lbm_context_t *ctx, lbm_ulong_t msec)
 Process internal events in the given UM context object.
LBMExpDLL int lbm_context_unblock (lbm_context_t *ctx)
 Unblock a sequential mode UM context.
LBMExpDLL int lbm_context_process_lbtipc_messages (lbm_context_t *ctx, lbm_ulong_t msec, lbm_ulong_t loop_count)
 Process LBT-IPC messages received.
LBMExpDLL int lbm_context_lbtipc_unblock (lbm_context_t *ctx)
 Unblock a sequential mode LBT-IPC processing loop.
LBMExpDLL int lbm_register_fd (lbm_context_t *ctx, lbm_handle_t handle, lbm_fd_cb_proc proc, void *clientd, lbm_event_queue_t *evq, lbm_ulong_t ev)
 Register a file descriptor/socket for events that calls proc when a given event occurs.
LBMExpDLL int lbm_cancel_fd (lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev)
 Cancel a previously registered file descriptor/socket event.
LBMExpDLL int lbm_cancel_fd_ex (lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended cancel a previously registered file descriptor/socket event.
LBMExpDLL int lbm_src_topic_dump (lbm_src_t *src, int *size, lbm_config_option_t *opts)
 Retrieves all source topic attribute options.
LBMExpDLL int lbm_src_topic_attr_dump (lbm_src_topic_attr_t *sattr, int *size, lbm_config_option_t *opts)
 Retrieves all source topic attribute options.
LBMExpDLL int lbm_src_topic_attr_option_size ()
 Retrieves the number of options that are of type "topic".
LBMExpDLL int lbm_src_topic_alloc (lbm_topic_t **topicp, lbm_context_t *ctx, const char *symbol, const lbm_src_topic_attr_t *attr)
 Turn a Topic string into a UM topic object usable by sources.
LBMExpDLL int lbm_src_topic_attr_create (lbm_src_topic_attr_t **attr)
 Create and fill a UM source topic attribute object with the current default values.
LBMExpDLL int lbm_src_topic_attr_create_default (lbm_src_topic_attr_t **attr)
 Create and fill a UM source topic attribute object with the initial default values.
LBMExpDLL int lbm_src_topic_attr_create_from_xml (lbm_src_topic_attr_t **attr, const char *context_name, const char *topicname)
 Create and fill a UM source topic attribute object with the current default values for the given topic name.
LBMExpDLL int lbm_src_topic_attr_set_from_xml (lbm_src_topic_attr_t *attr, const char *context_name, const char *topicname)
 Fill a UM source topic attribute object with the current default values for the given topic name.
LBMExpDLL int lbm_src_topic_attr_delete (lbm_src_topic_attr_t *attr)
 Delete a source topic attribute object.
LBMExpDLL int lbm_src_topic_attr_dup (lbm_src_topic_attr_t **attr, const lbm_src_topic_attr_t *original)
 Duplicate a UM source topic attribute object.
LBMExpDLL int lbm_src_topic_attr_setopt (lbm_src_topic_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set an option value within the given source topic attribute.
LBMExpDLL int lbm_src_topic_attr_str_setopt (lbm_src_topic_attr_t *attr, const char *optname, const char *optval)
 Set an option value within the given source topic attribute.
LBMExpDLL int lbm_src_topic_attr_getopt (lbm_src_topic_attr_t *attr, const char *optname, void *optval, size_t *optlen)
 Retrieve an option value within the given source topic attribute.
LBMExpDLL int lbm_src_topic_attr_str_getopt (lbm_src_topic_attr_t *attr, const char *optname, char *optval, size_t *optlen)
 Retrieve a textual option value within the given source topic attribute.
LBMExpDLL int lbm_rcv_topic_lookup (lbm_topic_t **topicp, lbm_context_t *ctx, const char *symbol, const lbm_rcv_topic_attr_t *attr)
 Turn a Topic string into a UM topic object usable by receivers.
LBMExpDLL int lbm_rcv_topic_dump (lbm_rcv_t *rcv, int *size, lbm_config_option_t *opts)
 Retrieves all receiver topic attribute options.
LBMExpDLL int lbm_rcv_topic_attr_dump (lbm_rcv_topic_attr_t *rattr, int *size, lbm_config_option_t *opts)
 Retrieves all receiver topic attribute options.
LBMExpDLL int lbm_rcv_topic_attr_option_size ()
 Retrieves the number of options that are of type "source topic".
LBMExpDLL int lbm_rcv_topic_attr_create (lbm_rcv_topic_attr_t **attr)
 Create and fill a UM receiver topic attribute object with the current default values.
LBMExpDLL int lbm_rcv_topic_attr_create_default (lbm_rcv_topic_attr_t **attr)
 Create and fill a UM receiver topic attribute object with the initial default values.
LBMExpDLL int lbm_rcv_topic_attr_create_from_xml (lbm_rcv_topic_attr_t **attr, const char *context_name, const char *topicname)
 Create and fill a UM receiver topic attribute object with the current default values for the given topic name.
LBMExpDLL int lbm_rcv_topic_attr_set_from_xml (lbm_rcv_topic_attr_t *attr, const char *context_name, const char *topicname)
 Fill a UM receiver topic attribute object with the current default values for the given topic name.
LBMExpDLL int lbm_rcv_topic_attr_delete (lbm_rcv_topic_attr_t *attr)
 Delete a receiver topic attribute object.
LBMExpDLL int lbm_rcv_topic_attr_dup (lbm_rcv_topic_attr_t **attr, const lbm_rcv_topic_attr_t *original)
 Duplicate a UM receiver topic attribute object.
LBMExpDLL int lbm_rcv_topic_attr_setopt (lbm_rcv_topic_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set an option value within the given receiver topic attribute.
LBMExpDLL int lbm_rcv_topic_attr_str_setopt (lbm_rcv_topic_attr_t *attr, const char *optname, const char *optval)
 Set an option value within the given receiver topic attribute.
LBMExpDLL int lbm_rcv_topic_attr_getopt (lbm_rcv_topic_attr_t *attr, const char *optname, void *optval, size_t *optlen)
 Retrieve an option value within the given receiver topic attribute.
LBMExpDLL int lbm_rcv_topic_attr_str_getopt (lbm_rcv_topic_attr_t *attr, const char *optname, char *optval, size_t *optlen)
 Retrieve a textual option value within the given receiver topic attribute.
LBMExpDLL int lbm_src_channel_create (lbm_src_channel_info_t **chnp, lbm_src_t *src, lbm_uint32_t channel_num)
 Create a channel info object to send messages with the given channel_num.
LBMExpDLL int lbm_src_channel_delete (lbm_src_channel_info_t *chn)
 Release the resources associated with a source channel.
LBMExpDLL int lbm_src_create (lbm_src_t **srcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_src_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
 Create a UM source that will send messages to the given topic.
LBMExpDLL int lbm_event_queue_dump (lbm_event_queue_t *evq, int *size, lbm_config_option_t *opts)
 Retrieves all event queue attribute options.
LBMExpDLL int lbm_event_queue_attr_dump (lbm_event_queue_attr_t *eattr, int *size, lbm_config_option_t *opts)
 Retrieves all event queue attribute options.
LBMExpDLL int lbm_event_queue_attr_option_size ()
 Retrieves the number of options that are of type "event queue".
LBMExpDLL int lbm_rcv_create (lbm_rcv_t **rcvp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_rcv_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
 Create a UM receiver that will receive messages sent to the given topic.
LBMExpDLL int lbm_rcv_subscribe_channel (lbm_rcv_t *rcv, lbm_uint32_t channel, lbm_rcv_cb_proc proc, void *clientd)
 Subscribe to a channel, with an optional callback and clientd data pointer.
LBMExpDLL int lbm_rcv_unsubscribe_channel (lbm_rcv_t *rcv, lbm_uint32_t channel)
 Discontinue an existing channel subscription.
LBMExpDLL int lbm_rcv_unsubscribe_channel_ex (lbm_rcv_t *rcv, lbm_uint32_t channel, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Discontinue an existing channel subscription with an application callback indicating when all messages on the channel have been delivered. This extended version of the unsubscribe function requires the configuration option queue_cancellation_callbacks_enabled be set to 1.
LBMExpDLL int lbm_wildcard_rcv_subscribe_channel (lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel, lbm_rcv_cb_proc proc, void *clientd)
 Subscribe to a channel, with an optional callback and clientd data pointer.
LBMExpDLL int lbm_wildcard_rcv_unsubscribe_channel (lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel)
 Discontinue an existing channel subscription.
LBMExpDLL int lbm_wildcard_rcv_unsubscribe_channel_ex (lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Discontinue an existing channel subscription with an application callback indicating when all messages on the channel have been delivered. This extended version of the unsubscribe function requires the configuration option queue_cancellation_callbacks_enabled be set to 1.
LBMExpDLL int lbm_src_delete (lbm_src_t *src)
 Delete a UM source object.
LBMExpDLL int lbm_src_delete_ex (lbm_src_t *src, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended delete a UM source object.
LBMExpDLL lbm_context_t * lbm_context_from_src (lbm_src_t *src)
 Retrieve the UM context object associated with a UM source object.
LBMExpDLL lbm_topic_t * lbm_topic_from_src (lbm_src_t *src)
 Retrieve the UM topic object associated with a UM source object.
LBMExpDLL lbm_event_queue_t * lbm_event_queue_from_src (lbm_src_t *src)
 Retrieve the UM event queue object associated with a UM source object.
LBMExpDLL int lbm_rcv_delete (lbm_rcv_t *rcv)
 Delete a UM receiver object.
LBMExpDLL int lbm_rcv_delete_ex (lbm_rcv_t *rcv, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended delete a UM receiver object.
LBMExpDLL lbm_context_t * lbm_context_from_rcv (lbm_rcv_t *rcv)
 Retrieve the UM context object associated with a UM receiver object.
LBMExpDLL lbm_event_queue_t * lbm_event_queue_from_rcv (lbm_rcv_t *rcv)
 Retrieve the UM event queue object associated with a UM receiver object.
LBMExpDLL int lbm_src_setopt (lbm_src_t *src, const char *optname, const void *optval, size_t optlen)
 Set an option value within the given src.
LBMExpDLL int lbm_src_str_setopt (lbm_src_t *src, const char *optname, const char *optval)
 Set an option value within the given src.
LBMExpDLL int lbm_src_getopt (lbm_src_t *src, const char *optname, void *optval, size_t *optlen)
 Retrieve an option value within the given src.
LBMExpDLL int lbm_src_str_getopt (lbm_src_t *src, const char *optname, char *optval, size_t *optlen)
 Retrieve a textual option value within the given src.
LBMExpDLL int lbm_rcv_setopt (lbm_rcv_t *rcv, const char *optname, const void *optval, size_t optlen)
 Set an option value within the given rcv.
LBMExpDLL int lbm_rcv_str_setopt (lbm_rcv_t *rcv, const char *optname, const char *optval)
 Set an option value within the given rcv.
LBMExpDLL int lbm_rcv_getopt (lbm_rcv_t *rcv, const char *optname, void *optval, size_t *optlen)
 Retrieve an option value within the given rcv.
LBMExpDLL int lbm_rcv_str_getopt (lbm_rcv_t *rcv, const char *optname, char *optval, size_t *optlen)
 Retrieve a textual option value within the given rcv.
LBMExpDLL int lbm_src_send (lbm_src_t *src, const char *msg, size_t len, int flags)
 Send a message to the topic associated with a UM source.
LBMExpDLL int lbm_src_send_ex (lbm_src_t *src, const char *msg, size_t len, int flags, lbm_src_send_ex_info_t *info)
 Extended send of a message to the topic associated with a UM source.
LBMExpDLL int lbm_src_flush (lbm_src_t *src)
 Send messages from both the explicit and implicit batches ASAP.
LBMExpDLL int lbm_src_sendv (lbm_src_t *src, const lbm_iovec_t *iov, int num, int flags)
 Send a set of messages to the topic associated with a UM source.
LBMExpDLL int lbm_src_sendv_ex (lbm_src_t *src, const lbm_iovec_t *iov, int num, int flags, lbm_src_send_ex_info_t *info)
 Extended send of a set of messages to the topic associated with a UM source.
LBMExpDLL int lbm_rcv_msg_source_clientd (lbm_rcv_t *rcv, const char *source, void *source_clientd)
 Set the pointer value to set in the messages received for the given receiver from a specific source.
LBMExpDLL int lbm_src_retrieve_transport_stats (lbm_src_t *src, lbm_src_transport_stats_t *stats)
 Retrieve the transport statistics for the transport used by the given source.
LBMExpDLL int lbm_src_reset_transport_stats (lbm_src_t *src)
 Reset the transport statistics for the transport used by the given source.
LBMExpDLL int lbm_rcv_retrieve_transport_stats (lbm_rcv_t *rcv, const char *source, lbm_rcv_transport_stats_t *stats)
 Retrieve the transport statistics for the transport used by the given receiver from a specific source.
LBMExpDLL int lbm_rcv_reset_transport_stats (lbm_rcv_t *rcv, const char *source)
 Reset the transport statistics for the transport used by the given receiver from a specific source.
LBMExpDLL int lbm_rcv_retrieve_all_transport_stats (lbm_rcv_t *rcv, int *num, lbm_rcv_transport_stats_t *stats)
 Retrieve the transport stats for all the sources seen by the given receiver.
LBMExpDLL int lbm_rcv_retrieve_all_transport_stats_ex (lbm_rcv_t *rcv, int *num, int size, lbm_rcv_transport_stats_t *stats)
LBMExpDLL int lbm_rcv_reset_all_transport_stats (lbm_rcv_t *rcv)
 Reset the transport stats for all the sources seen by the given receiver.
LBMExpDLL int lbm_context_retrieve_rcv_transport_stats (lbm_context_t *ctx, int *num, lbm_rcv_transport_stats_t *stats)
 Retrieve the transport stats for all receivers in a given context.
LBMExpDLL int lbm_context_retrieve_rcv_transport_stats_ex (lbm_context_t *ctx, int *num, int size, lbm_rcv_transport_stats_t *stats)
LBMExpDLL int lbm_context_reset_rcv_transport_stats (lbm_context_t *ctx)
 Reset the transport stats for all receivers in a given context.
LBMExpDLL int lbm_context_retrieve_src_transport_stats (lbm_context_t *ctx, int *num, lbm_src_transport_stats_t *stats)
 Retrieve the transport stats for all the sources in a given context.
LBMExpDLL int lbm_context_retrieve_src_transport_stats_ex (lbm_context_t *ctx, int *num, int size, lbm_src_transport_stats_t *stats)
LBMExpDLL int lbm_context_reset_src_transport_stats (lbm_context_t *ctx)
 Reset the transport stats for all the sources in a given context.
LBMExpDLL int lbm_event_queue_retrieve_stats (lbm_event_queue_t *evq, lbm_event_queue_stats_t *stats)
 Retrieve the stats for an event queue.
LBMExpDLL int lbm_event_queue_reset_stats (lbm_event_queue_t *evq)
 Reset the stats for an event queue.
LBMExpDLL int lbm_context_retrieve_stats (lbm_context_t *ctx, lbm_context_stats_t *stats)
 Retrieve the stats for a context.
LBMExpDLL int lbm_context_reset_stats (lbm_context_t *ctx)
 Reset the stats for a context.
LBMExpDLL int lbm_context_retrieve_im_src_transport_stats (lbm_context_t *ctx, int *num, int size, lbm_src_transport_stats_t *stats)
 Retrieve the IM source stats for a context.
LBMExpDLL int lbm_context_reset_im_src_transport_stats (lbm_context_t *ctx)
 Reset the IM source stats for a context.
LBMExpDLL int lbm_context_retrieve_im_rcv_transport_stats (lbm_context_t *ctx, int *num, int size, lbm_rcv_transport_stats_t *stats)
 Retrieve the IM receiver stats for a context.
LBMExpDLL int lbm_context_reset_im_rcv_transport_stats (lbm_context_t *ctx)
 Reset the IM receiver stats for a context.
LBMExpDLL int lbm_msg_retain (lbm_msg_t *msg)
 Instruct UM that the API is going to retain ownership of a UM message object.
LBMExpDLL int lbm_msg_is_fragment (lbm_msg_t *msg)
 Retrieve fragment information from a UM message.
LBMExpDLL int lbm_msg_retrieve_fragment_info (lbm_msg_t *msg, lbm_msg_fragment_info_t *info)
 Returns 1 if lbm message is a fragment, else 0 is returned.
LBMExpDLL int lbm_msg_retrieve_gateway_info (lbm_msg_t *msg, lbm_msg_gateway_info_t *info)
 Retrieve gateway information from a UM message.
LBMExpDLL int lbm_msg_retrieve_msgid (lbm_msg_t *msg, lbm_umq_msgid_t *id)
 Retrieve UMQ Message ID information from a UM message.
LBMExpDLL int lbm_msg_retrieve_umq_index (lbm_msg_t *msg, lbm_umq_index_info_t *info)
 Retrieve UMQ index information from a UM message.
LBMExpDLL int lbm_msg_retrieve_delivery_latency (lbm_msg_t *msg, lbm_int64_t *latency_nsecs)
LBMExpDLL int lbm_msg_delete (lbm_msg_t *msg)
 Delete a UM message object.
LBMExpDLL int lbm_msg_ume_send_explicit_ack (lbm_msg_t *msg)
 Send an Explicit UMP ACK for a UM message object.
LBMExpDLL int lbm_msg_ume_can_send_explicit_ack (lbm_msg_t *msg)
 Check to see if Explicit UMP ACK for a UM message object can be called.
LBMExpDLL int lbm_src_ume_deregister (lbm_src_t *src)
 Deregister a source from the UMP stores.
LBMExpDLL int lbm_rcv_ume_deregister (lbm_rcv_t *rcv)
 Deregister a receiver from all known UMP stores.
LBMExpDLL int lbm_wrcv_ume_deregister (lbm_wildcard_rcv_t *wrcv)
 Deregister a wildcard receiver from all known UMP stores.
LBMExpDLL int lbm_msg_umq_reassign (lbm_msg_t *msg, int flags)
 Do not acknowledge the given message and instead request that the message be reassigned.
LBMExpDLL int lbm_rcv_umq_deregister (lbm_rcv_t *rcv, const char *queue_name)
 De-Register the given receiver from the given UMQ queue or all UMQ queues.
LBMExpDLL int lbm_rcv_umq_index_stop_assignment (lbm_rcv_t *rcv, const char *queue_name)
 Stop assignment of new UMQ indices to the given receiver from the given UMQ queue or all UMQ queues.
LBMExpDLL int lbm_rcv_umq_index_start_assignment (lbm_rcv_t *rcv, const char *queue_name)
 Start assignment of new UMQ indices to the given receiver from the given UMQ queue or all UMQ queues.
LBMExpDLL int lbm_rcv_umq_index_reserve (lbm_rcv_t *rcv, const char *queue_name, lbm_umq_index_info_t *index_info)
 Instruct the given UMQ queue(s) to reserve an index for assignment to this receiver.
LBMExpDLL int lbm_rcv_umq_index_release (lbm_rcv_t *rcv, const char *queue_name, lbm_umq_index_info_t *index_info)
 Instruct the given UMQ queue(s) to release the given UMQ index that is assigned to the given receiver.
LBMExpDLL int lbm_wildcard_rcv_umq_index_stop_assignment (lbm_wildcard_rcv_t *wrcv, const char *queue_name)
 Stop assignment of new UMQ indices to the given wildcard receiver from the given UMQ queue or all UMQ queues.
LBMExpDLL int lbm_wildcard_rcv_umq_index_start_assignment (lbm_wildcard_rcv_t *wrcv, const char *queue_name)
 Start assignment of new UMQ indices to the given wildcard receiver from the given UMQ queue or all UMQ queues.
LBMExpDLL int lbm_wildcard_rcv_umq_index_release (lbm_wildcard_rcv_t *wrcv, const char *queue_name, lbm_umq_index_info_t *index_info)
 Instruct the given UMQ queue(s) to release the given UMQ index that is assigned to the given wildcard receiver.
LBMExpDLL int lbm_wildcard_rcv_umq_deregister (lbm_wildcard_rcv_t *wrcv, const char *queue_name)
 De-Register the given wildcard receiver from the given UMQ queue or all UMQ queues.
LBMExpDLL int lbm_send_response (lbm_response_t *resp, const char *data, size_t len, int flags)
 Send a response for a given resp response.
LBMExpDLL int lbm_response_delete (lbm_response_t *resp)
 Delete a UM response object.
LBMExpDLL int lbm_serialized_response_delete (lbm_serialized_response_t *serialized_response)
 Delete a UM serialized response object.
LBMExpDLL lbm_serialized_response_tlbm_serialize_response (lbm_response_t *resp)
 Serialize a UM response object.
LBMExpDLL lbm_response_t * lbm_deserialize_response (lbm_context_t *ctx, lbm_serialized_response_t *serialized_response)
 De-serialize a UM response object.
LBMExpDLL int lbm_send_request (lbm_request_t **reqp, lbm_src_t *src, const char *data, size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq, int send_flags)
 Send a request on the given src that contains the given data.
LBMExpDLL int lbm_send_request_ex (lbm_request_t **reqp, lbm_src_t *src, const char *data, size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq, int send_flags, lbm_src_send_ex_info_t *exinfo)
 Send a request on the given src that contains the given data.
LBMExpDLL int lbm_request_delete (lbm_request_t *req)
 Delete a UM request object.
LBMExpDLL int lbm_request_delete_ex (lbm_request_t *req, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended delete a UM request object.
LBMExpDLL int lbm_event_queue_create (lbm_event_queue_t **evqp, lbm_event_queue_monitor_proc proc, void *clientd, const lbm_event_queue_attr_t *attr)
 Create a UM event queue object.
LBMExpDLL int lbm_event_queue_attr_create (lbm_event_queue_attr_t **attr)
 Create and fill a UM event queue attribute object with the current default values.
LBMExpDLL int lbm_event_queue_attr_create_default (lbm_event_queue_attr_t **attr)
 Create and fill a UM event queue attribute object with the initial default values.
LBMExpDLL int lbm_event_queue_attr_create_from_xml (lbm_event_queue_attr_t **attr, const char *event_queue_name)
 Create and fill a UM event queue attribute object with the current default values for the given event queue name.
LBMExpDLL int lbm_event_queue_attr_set_from_xml (lbm_event_queue_attr_t *attr, const char *event_queue_name)
 Fill a UM event queue attribute object with the current default values for the given event queue name.
LBMExpDLL int lbm_event_queue_attr_delete (lbm_event_queue_attr_t *attr)
 Delete an event queue attribute object.
LBMExpDLL int lbm_event_queue_attr_dup (lbm_event_queue_attr_t **attr, const lbm_event_queue_attr_t *original)
 Duplicate a UM event queue attribute object.
LBMExpDLL int lbm_event_queue_attr_setopt (lbm_event_queue_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set an option value within the given event queue attribute.
LBMExpDLL int lbm_event_queue_attr_str_setopt (lbm_event_queue_attr_t *attr, const char *optname, const char *optval)
 Set an option value within the given event queue attribute.
LBMExpDLL int lbm_event_queue_attr_getopt (lbm_event_queue_attr_t *attr, const char *optname, void *optval, size_t *optlen)
 Retrieve an option value within the given event queue attribute.
LBMExpDLL int lbm_event_queue_attr_str_getopt (lbm_event_queue_attr_t *attr, const char *optname, char *optval, size_t *optlen)
 Retrieve a textual option value within the given event queue attribute.
LBMExpDLL int lbm_event_queue_setopt (lbm_event_queue_t *evq, const char *optname, const void *optval, size_t optlen)
 Set an option value within the given evq.
LBMExpDLL int lbm_event_queue_str_setopt (lbm_event_queue_t *evq, const char *optname, const char *optval)
 Set an option value within the given event queue.
LBMExpDLL int lbm_event_queue_getopt (lbm_event_queue_t *evq, const char *optname, void *optval, size_t *optlen)
 Retrieve an option value within the given event queue.
LBMExpDLL int lbm_event_queue_str_getopt (lbm_event_queue_t *evq, const char *optname, char *optval, size_t *optlen)
 Retrieve a textual option value within the given event queue.
LBMExpDLL int lbm_event_dispatch (lbm_event_queue_t *evq, lbm_ulong_t tmo)
 Dispatch waiting events to appropriate callback functions.
LBMExpDLL int lbm_event_dispatch_unblock (lbm_event_queue_t *evq)
 Unblock the given UM event queue object so that a thread waiting in lbm_event_dispatch returns as soon as feasible.
LBMExpDLL int lbm_event_queue_size (lbm_event_queue_t *evq)
 Determine the number of queued events in the event queue.
LBMExpDLL int lbm_event_queue_shutdown (lbm_event_queue_t *evq)
 Shutdown the event queue by purging any pending events and not allowing additional events to be added to the queue.
LBMExpDLL int lbm_event_queue_delete (lbm_event_queue_t *evq)
 Delete a given UM event queue object.
LBMExpDLL int lbm_unicast_immediate_message (lbm_context_t *ctx, const char *target, const char *topic, const char *data, size_t len, int flags)
 Unicast an immediate message to the target and topic. Note that immediate messages are processed somewhat less efficiently than source-based messages.
LBMExpDLL int lbm_unicast_immediate_request (lbm_request_t **reqp, lbm_context_t *ctx, const char *target, const char *topic, const char *data, size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq, int flags)
 Unicast an immediate request to the target and topic. Note that immediate messages are processed somewhat less efficiently than source-based messages.
LBMExpDLL int lbm_queue_immediate_message (lbm_context_t *ctx, const char *qname, const char *topic, const char *data, size_t len, int flags, lbm_src_send_ex_info_t *info)
 Submit a message to a given UMQ queue and to a given topic. Note that immediate messages are processed somewhat less efficiently than source-based messages.
LBMExpDLL int lbm_multicast_immediate_message (lbm_context_t *ctx, const char *topic, const char *data, size_t len, int flags)
 Multicast an immediate message to the topic. Note that immediate messages are processed somewhat less efficiently than source-based messages.
LBMExpDLL int lbm_multicast_immediate_request (lbm_request_t **reqp, lbm_context_t *ctx, const char *topic, const char *data, size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq, int flags)
 Multicast an immediate request to the target and topic. Note that immediate messages are processed somewhat less efficiently than source-based messages.
LBMExpDLL int lbm_wildcard_rcv_dump (lbm_wildcard_rcv_t *wrcv, int *size, lbm_config_option_t *opts)
 Retrieves all wildcard receiver attribute options.
LBMExpDLL int lbm_wildcard_rcv_attr_dump (lbm_wildcard_rcv_attr_t *wattr, int *size, lbm_config_option_t *opts)
 Retrieves all wildcard receiver attribute options.
LBMExpDLL int lbm_wildcard_rcv_attr_option_size ()
 Retrieves the number of options that are of type "wildcard receiver".
LBMExpDLL int lbm_wildcard_rcv_attr_create (lbm_wildcard_rcv_attr_t **attr)
 Create and fill a UM wildcard receiver attribute object with the current default values.
LBMExpDLL int lbm_wildcard_rcv_attr_create_default (lbm_wildcard_rcv_attr_t **attr)
 Create and fill a UM wildcard receiver attribute object with the initial default values.
LBMExpDLL int lbm_wildcard_rcv_attr_create_from_xml (lbm_wildcard_rcv_attr_t **attr, const char *context_name, const char *pattern, int pattern_type)
 Create and fill a UM wildcard receiver attribute object with the current default values for the given topic name.
LBMExpDLL int lbm_wildcard_rcv_attr_set_from_xml (lbm_wildcard_rcv_attr_t *attr, const char *context_name, const char *pattern, int pattern_type)
 Fill a UM wildcard receiver attribute object with the current default values for the given topic name.
LBMExpDLL int lbm_wildcard_rcv_attr_delete (lbm_wildcard_rcv_attr_t *attr)
 Delete a wildcard receiver attribute object.
LBMExpDLL int lbm_wildcard_rcv_attr_dup (lbm_wildcard_rcv_attr_t **attr, const lbm_wildcard_rcv_attr_t *original)
 Duplicate a UM wildcard receiver attribute object.
LBMExpDLL int lbm_wildcard_rcv_attr_setopt (lbm_wildcard_rcv_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set an option value within the given wildcard receiver attribute.
LBMExpDLL int lbm_wildcard_rcv_attr_str_setopt (lbm_wildcard_rcv_attr_t *attr, const char *optname, const char *optval)
 Set an option value within the given wildcard receiver attribute.
LBMExpDLL int lbm_wildcard_rcv_attr_getopt (lbm_wildcard_rcv_attr_t *attr, const char *optname, void *optval, size_t *optlen)
 Retrieve an option value within the given wildcard receiver attribute.
LBMExpDLL int lbm_wildcard_rcv_attr_str_getopt (lbm_wildcard_rcv_attr_t *attr, const char *optname, char *optval, size_t *optlen)
 Retrieve a textual option value within the given wildcard receiver attribute.
LBMExpDLL int lbm_wildcard_rcv_setopt (lbm_wildcard_rcv_t *wrcv, const char *optname, const void *optval, size_t optlen)
 Set an option value within the given wrcv.
LBMExpDLL int lbm_wildcard_rcv_str_setopt (lbm_wildcard_rcv_t *wrcv, const char *optname, const char *optval)
 Set an option value within the given wrcv.
LBMExpDLL int lbm_wildcard_rcv_getopt (lbm_wildcard_rcv_t *wrcv, const char *optname, void *optval, size_t *optlen)
 Retrieve an option value within the given wrcv.
LBMExpDLL int lbm_wildcard_rcv_str_getopt (lbm_wildcard_rcv_t *wrcv, const char *optname, char *optval, size_t *optlen)
 Retrieve the textual option value within the given wrcv.
LBMExpDLL int lbm_wildcard_rcv_create (lbm_wildcard_rcv_t **wrcvp, lbm_context_t *ctx, const char *pattern, const lbm_rcv_topic_attr_t *tattr, const lbm_wildcard_rcv_attr_t *wattr, lbm_rcv_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
 Create a UM wildcard receiver that will receive messages sent to any topic matching the given pattern. Note that if wildcard queries are enabled, LBM will query a maximum of 250 patterns (receivers).
LBMExpDLL int lbm_wildcard_rcv_delete (lbm_wildcard_rcv_t *wrcv)
 Delete a UM wildcard receiver object.
LBMExpDLL int lbm_wildcard_rcv_delete_ex (lbm_wildcard_rcv_t *wrcv, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended delete a UM wildcard receiver object.
LBMExpDLL lbm_context_t * lbm_context_from_wildcard_rcv (lbm_wildcard_rcv_t *wcrcv)
 Retrieve the LBM context object associated with a UM wildcard receiver object.
LBMExpDLL lbm_event_queue_t * lbm_event_queue_from_wildcard_rcv (lbm_wildcard_rcv_t *wcrcv)
 Retrieve the LBM event queue object associated with a UM wildcard receiver object.
LBMExpDLL int lbm_hf_src_create (lbm_src_t **srcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_src_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
 Create a UM Hot Failover (HF) source that will send messages to the given topic. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
LBMExpDLL int lbm_hf_src_send (lbm_src_t *src, const char *msg, size_t len, lbm_uint_t sqn, int flags)
 Send a Hot Failover (HF) message to the topic associated with a UM source. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
LBMExpDLL int lbm_hf_src_send_ex (lbm_src_t *src, const char *msg, size_t len, lbm_uint_t sqn, int flags, lbm_src_send_ex_info_t *exinfo)
 Send a Hot Failover (HF) message to the topic associated with a UM source. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
LBMExpDLL int lbm_hf_src_sendv (lbm_src_t *src, const lbm_iovec_t *iov, int num, lbm_uint_t sqn, int flags)
 Send a set of Hot Failover (HF) messages to the topic associated with a UM source. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
LBMExpDLL int lbm_hf_rcv_topic_dump (lbm_hf_rcv_t *hfrcv, int *size, lbm_config_option_t *opts)
 Retrieves all receiver attribute options for an HF receiver.
LBMExpDLL int lbm_hf_src_sendv_ex (lbm_src_t *src, const lbm_iovec_t *iov, int num, lbm_uint_t sqn, int flags, lbm_src_send_ex_info_t *exinfo)
 Extended send of a set of Hot Failover (HF) messages to the topic associated with a UM source.
LBMExpDLL int lbm_hf_src_send_rcv_reset (lbm_src_t *src, int flags, lbm_src_send_ex_info_t *exinfo)
 Send a message that will reset order and loss information for hot failover receivers on this topic.
LBMExpDLL int lbm_hf_rcv_create (lbm_hf_rcv_t **hfrcvp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_rcv_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
 Create and LBM receiver that will receive LBM Hot Failover (HF) messages sent to the given topic. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
LBMExpDLL int lbm_hf_rcv_delete (lbm_hf_rcv_t *hfrcv)
 Delete a UM Hot Failover (HF) receiver object. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
LBMExpDLL int lbm_hf_rcv_delete_ex (lbm_hf_rcv_t *hfrcv, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended delete a UM Hot Failover (HF) receiver object. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.
LBMExpDLL lbm_hf_rcv_t * lbm_hf_rcv_from_rcv (lbm_rcv_t *rcv)
 Return the LBM Hot Failover (HF) receiver object (if any) from a UM receiver object.
LBMExpDLL lbm_rcv_t * lbm_rcv_from_hf_rcv (lbm_hf_rcv_t *hfrcv)
 Return the LBM receiver object associated with a UM Hot Failover (HF) receiver object.
LBMExpDLL int lbm_hfx_dump (lbm_hfx_t *hfx, int *size, lbm_config_option_t *opts)
 Retrieves all HFX attribute options.
LBMExpDLL int lbm_hfx_attr_dump (lbm_hfx_attr_t *attr, int *size, lbm_config_option_t *opts)
 Retrieves all HFX attribute options.
LBMExpDLL int lbm_hfx_attr_option_size ()
 Retrieves the number of options that are of type "hfx". The function returns the number of entries that are of type "hfx".
LBMExpDLL int lbm_hfx_attr_create (lbm_hfx_attr_t **attr)
 Create and fill a UM HFX attribute object with the current default values.
LBMExpDLL int lbm_hfx_attr_create_default (lbm_hfx_attr_t **attr)
 Create and fill a UM HFX attribute object with the initial default values.
LBMExpDLL int lbm_hfx_attr_create_from_xml (lbm_hfx_attr_t **attr, const char *topicname)
 Create and fill a UM hfx attribute object with the current default values for the given topic name.
LBMExpDLL int lbm_hfx_attr_set_from_xml (lbm_hfx_attr_t *attr, const char *topicname)
 Fill a UM hfx attribute object with the current default values for the given topic name.
LBMExpDLL int lbm_hfx_attr_delete (lbm_hfx_attr_t *attr)
 Delete a UM hfx attribute object.
LBMExpDLL int lbm_hfx_attr_dup (lbm_hfx_attr_t **attr, const lbm_hfx_attr_t *original)
 Duplicate a UM hfx attribute object.
LBMExpDLL int lbm_hfx_attr_setopt (lbm_hfx_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set an option for the given LBM hfx attribute.
LBMExpDLL int lbm_hfx_attr_str_setopt (lbm_hfx_attr_t *attr, const char *optname, const char *optval)
 Set an option for the given LBM hfx attribute using a string.
LBMExpDLL int lbm_hfx_attr_getopt (lbm_hfx_attr_t *attr, const char *optname, void *optval, size_t *optlen)
 Retrieve the value of an option for the given LBM hfx attribute.
LBMExpDLL int lbm_hfx_attr_str_getopt (lbm_hfx_attr_t *attr, const char *optname, char *optval, size_t *optlen)
 Retrieve the textual value of an option for the given LBM hfx attribute.
LBMExpDLL int lbm_hfx_setopt (lbm_hfx_t *hfx, const char *optname, const void *optval, size_t optlen)
 Set an option value within the given hfx.
LBMExpDLL int lbm_hfx_str_setopt (lbm_hfx_t *hfx, const char *optname, const char *optval)
 Set an option value within the given hfx.
LBMExpDLL int lbm_hfx_getopt (lbm_hfx_t *hfx, const char *optname, void *optval, size_t *optlen)
 Retrieve an option value within the given hfx.
LBMExpDLL int lbm_hfx_str_getopt (lbm_hfx_t *hfx, const char *optname, char *optval, size_t *optlen)
 Retrieve the textual option value within the given hfx.
LBMExpDLL int lbm_hfx_create (lbm_hfx_t **hfxp, lbm_hfx_attr_t *cattr, const char *symbol, lbm_rcv_cb_proc proc, lbm_event_queue_t *evq)
 Create and initialize an lbm_hfx_t object.
LBMExpDLL int lbm_hfx_delete (lbm_hfx_t *hfx)
 Delete a UM hfx object.
LBMExpDLL int lbm_hfx_delete_ex (lbm_hfx_t *hfx, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Delete an LBM hfx object and receive a callback when the deletion is complete. Delete an LBM HFX object, with an application callback indicating when the object is fully cancelled. This extended version of the delete function requires the configuration option queue_cancellation_callbacks_enabled to be set to 1 if an event queue is in use. Unlike.
LBMExpDLL int lbm_hfx_rcv_topic_dump (lbm_hfx_rcv_t *hfxrcv, int *size, lbm_config_option_t *opts)
 Retrieves all receiver attribute options for an HFX receiver.
LBMExpDLL int lbm_hfx_rcv_create (lbm_hfx_rcv_t **hfrcvp, lbm_hfx_t *hfx, lbm_context_t *ctx, lbm_rcv_topic_attr_t *rattr, void *clientd)
 Create a HFX receiver.
LBMExpDLL lbm_rcv_t * lbm_rcv_from_hfx_rcv (lbm_hfx_rcv_t *hfxrcv)
 Retrieve the underlying receiver from an lbm_hfx_rcv_t.
LBMExpDLL int lbm_hfx_rcv_delete (lbm_hfx_rcv_t *hfrcv)
 Delete a HFX receiver.
LBMExpDLL int lbm_hfx_rcv_delete_ex (lbm_hfx_rcv_t *hfrcv, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended delete a UM HFX receiver object.
LBMExpDLL void lbm_debug_filename (const char *filename)
 Set the file to receive LBM debug log entries.
LBMExpDLL void lbm_debug_mask (lbm_uint64_t mask)
 Set the debug mask for LBM debug log entries.
LBMExpDLL void lbm_debug_noflush (int on)
 Set the noflush flag for the debug logs. This can dramatically increase performance when a debug mask is set.
LBMExpDLL int lbm_debug_dump (const char *filename, int append)
 Dump a running rollback debug log to the given filename.
LBMExpDLL void lbm_set_lbtrm_loss_rate (int rate)
 Dynamically set the LBT-RM loss rate.
LBMExpDLL void lbm_set_lbtrm_src_loss_rate (int rate)
 Dynamically set the LBT-RM source loss rate.
LBMExpDLL void lbm_set_lbtru_loss_rate (int rate)
 Dynamically set the LBT-RU loss rate.
LBMExpDLL void lbm_set_lbtru_src_loss_rate (int rate)
 Dynamically set the LBT-RU source loss rate.
LBMExpDLL int lbm_transport_source_parse (const char *source, lbm_transport_source_info_t *info, size_t infosize)
 Parse a UM transport source string into its components.
LBMExpDLL int lbm_transport_source_format (const lbm_transport_source_info_t *info, size_t infosize, char *source, size_t *size)
 Format a UM transport source string from its components.
LBMExpDLL int lbm_apphdr_chain_create (lbm_apphdr_chain_t **chain)
 Create a new app header chain that can be used to include metadata with a message.
LBMExpDLL int lbm_apphdr_chain_delete (lbm_apphdr_chain_t *chain)
 Delete an app header chain previously created with lbm_apphdr_chain_create.
LBMExpDLL int lbm_apphdr_chain_append_elem (lbm_apphdr_chain_t *chain, lbm_apphdr_chain_elem_t *elem)
 Appends a user-created app header to an app header chain.
LBMExpDLL int lbm_apphdr_chain_iter_create (lbm_apphdr_chain_iter_t **chain_iter, lbm_apphdr_chain_t *chain)
 Create an iterator (an lbm_apphdr_chain_iter_t structure) to point to the first element in an apphdr chain.
LBMExpDLL int lbm_apphdr_chain_iter_create_from_msg (lbm_apphdr_chain_iter_t **chain_iter, lbm_msg_t *msg)
 Create an iterator (an lbm_apphdr_chain_iter_t structure) to point to the first element in an apphdr chain associated with a UM message.
LBMExpDLL int lbm_apphdr_chain_iter_delete (lbm_apphdr_chain_iter_t *chain_iter)
 Delete an iterator allocated by one of the lbm_apphdr_chain_iter functions.
LBMExpDLL int lbm_apphdr_chain_iter_first (lbm_apphdr_chain_iter_t **chain_iter)
 Initializes an app header chain iterator to the first element in the chain.
LBMExpDLL int lbm_apphdr_chain_iter_done (lbm_apphdr_chain_iter_t **chain_iter)
 Tests an lbm_apphdr_chain_iter_t iterator to see if more elements in the chain remain.
LBMExpDLL int lbm_apphdr_chain_iter_next (lbm_apphdr_chain_iter_t **chain_iter)
 Advances the iterator to the next element in an app header chain, if any.
LBMExpDLL lbm_apphdr_chain_elem_tlbm_apphdr_chain_iter_current (lbm_apphdr_chain_iter_t **chain_iter)
 Returns the current element of an app header chain pointed to by an lbm_apphdr_chain_iter_t iterator.
LBMExpDLL int lbm_msg_properties_create (lbm_msg_properties_t **properties)
 Creates a new properties object, used for sending messages with properties.
LBMExpDLL int lbm_msg_properties_delete (lbm_msg_properties_t *properties)
 Deletes a properties object.
LBMExpDLL int lbm_msg_properties_set (lbm_msg_properties_t *properties, const char *name, const void *value, int type, size_t size)
 Sets the value of the property with the specified name. Each property name may be associated with one and only one value.
LBMExpDLL int lbm_msg_properties_clear (lbm_msg_properties_t *properties, const char *name)
 Clear the value associated with the name in the specified properties object.
LBMExpDLL int lbm_msg_properties_get (lbm_msg_properties_t *properties, const char *name, void *value, int *type, size_t *size)
 Gets the value of the property with the specified name.
LBMExpDLL int lbm_msg_properties_iter_create (lbm_msg_properties_iter_t **iterp)
 Creates a new msg properties iterator. The newly created iterator is not associated with any properties object. Use.
LBMExpDLL int lbm_msg_properties_iter_delete (lbm_msg_properties_iter_t *iter)
 Deletes an lbm_msg_properties_iterator.
LBMExpDLL int lbm_msg_properties_iter_first (lbm_msg_properties_iter_t *iter, lbm_msg_properties_t *properties)
 Begin iterating over an.
LBMExpDLL int lbm_msg_properties_iter_next (lbm_msg_properties_iter_t *iter)
 Iterate to the next property in an.
LBMExpDLL int lbm_src_get_inflight (lbm_src_t *src, int type, int *inflight, lbm_flight_size_set_inflight_cb_proc proc, void *clientd)
 Retrieves the current number of inflight messages of a given type from the src pointed to by lbm_src_t *src.
LBMExpDLL int lbm_src_get_inflight_ex (lbm_src_t *src, int type, lbm_flight_size_inflight_t *inflight, lbm_flight_size_set_inflight_ex_cb_proc proc, void *clientd)
 Retrieves the current number of inflight information of a given type from the src pointed to by lbm_src_t *src.
LBMExpDLL int lbm_ctx_umq_get_inflight (lbm_context_t *ctx, const char *qname, int *inflight, lbm_flight_size_set_inflight_cb_proc proc, void *clientd)
 Retrieves the current number of inflight UMQ messages from the ctx pointed to by lbm_context_t *ctx.
LBMExpDLL int lbm_ume_src_msg_stable (lbm_src_t *src, lbm_uint32_t sqn)
 Mark a specific sqn as stable at a store, triggering a source event notification if configured to do so. Also adjusts the current number of inflight messages for the src if necessary.
LBMExpDLL int lbm_umq_ctx_msg_stable (lbm_context_t *ctx, const char *qname, lbm_umq_msgid_t *msg_id)
 Mark a specific msg_id as stable at qname, triggering a source event notification if configured to do so. Also adjusts the current number of inflight messages for the src if necessary.
LBMExpDLL lbm_ume_rcv_ack_t * lbm_msg_extract_ume_ack (lbm_msg_t *msg)
 Retrieves the ack structure from a UMP message.
LBMExpDLL int lbm_ume_ack_delete (lbm_ume_rcv_ack_t *ack)
 Deletes an ack structure.
LBMExpDLL int lbm_ume_ack_send_explicit_ack (lbm_ume_rcv_ack_t *ack, lbm_uint_t sqn)
 Sends an explicit ack up to the sequence number provided.
LBMExpDLL int lbm_ctx_umq_queue_topic_list (lbm_context_t *ctx, const char *queue_name, lbm_async_operation_func_t *async_opfunc)
 Retrieves a list of currently available topics from a queue (asynchronous operation).
LBMExpDLL int lbm_umq_msg_selector_create (lbm_umq_msg_selector_t **selector, char *str, lbm_uint16_t len)
 Create an umq message selector (an lbm_umq_msg_selector_t structure).
LBMExpDLL int lbm_umq_msg_selector_delete (lbm_umq_msg_selector_t *selector)
 Delete the lbm_umq_msg_selector_t object previously created with lbm_umq_msg_selector_create.
LBMExpDLL int lbm_rcv_umq_queue_msg_list (lbm_rcv_t *rcv, const char *queue_name, lbm_umq_msg_selector_t *selector, lbm_async_operation_func_t *async_opfunc)
 Retrieves a list of all currently-queued messages from a queue (asynchronous operation).
LBMExpDLL int lbm_rcv_umq_queue_msg_retrieve (lbm_rcv_t *rcv, const char *queue_name, lbm_umq_msgid_t *msgids, int num_msgids, lbm_async_operation_func_t *async_opfunc)
 Retrieves a set of queued messages from the queue (asynchronous operation).
LBMExpDLL int lbm_async_operation_status (lbm_async_operation_handle_t handle, int flags)
 Query the current status of an oustanding asynchronous operation.
LBMExpDLL int lbm_async_operation_cancel (lbm_async_operation_handle_t handle, int flags)
 Cancel an outstanding asynchronous operation.
LBMExpDLL int lbm_auth_set_credentials (lbm_context_t *ctx, const char *name, size_t name_len, const char *passwd, size_t passwd_len, lbm_cred_callback_fn cbfn, void *clientd, int auth_required)
 Set the user's credential and authentication requirement.
LBMExpDLL int lbm_authstorage_open_storage_xml (char *filename)
 Create the storage object from XML password file.
LBMExpDLL void lbm_authstorage_close_storage_xml (void)
 Release the storage object.
LBMExpDLL int lbm_authstorage_checkpermission (char *username, char *command)
 Check if the user is authorized to execute the specified command.
LBMExpDLL int lbm_authstorage_addtpnam (const char *username, const char *pass, unsigned char flags)
 Add the new user credential to the password file.
LBMExpDLL int lbm_authstorage_deltpnam (const char *username)
 Delete the user credential from the password file.
LBMExpDLL int lbm_authstorage_user_add_role (const char *username, const char *role)
 Add one role entry for the user to the password file.
LBMExpDLL int lbm_authstorage_user_del_role (const char *username, const char *role)
 Delete the role entry for the user from the password file.
LBMExpDLL int lbm_authstorage_load_roletable ()
 Load the role table from the password file.
LBMExpDLL int lbm_authstorage_unload_roletable ()
 Unload the role table.
LBMExpDLL int lbm_authstorage_roletable_add_role_action (const char *rolename, const char *action)
 Add a new authorized action for the specified role.
LBMExpDLL int lbm_authstorage_print_roletable ()
 Print the role table saved in the internal data object.
LBMExpDLL int lbm_set_umm_info (lbm_umm_info_t *info)
 Connect to and retrieve configuration from a UMM daemon.
LBMExpDLL int lbm_is_ume_capable (void)
 Determine if the LBM library is capable of UME operations.
LBMExpDLL int lbm_is_umq_capable (void)
 Determine if the LBM library is capable of UMQ operations.
LBMExpDLL void lbm_seterr (int eno, const char *str)
LBMExpDLL void lbm_seterrf (int eno, const char *format,...)
LBMExpDLL const char * lbm_strerror (void)
LBMExpDLL const char * lbm_strerror_errnum (int errnum)
LBMExpDLL void lbm_sock_init ()
LBMExpDLL lbm_uint64_t lbm_create_random_id ()
 Create a random id to be used in conjunction with lbm_get_jms_msg_id for JMS compatibilty.
LBMExpDLL char * lbm_get_jms_msg_id (lbm_uint64_t source_id, lbm_uint64_t seqno_id, char *topic)
 Create JMS message ID.


Detailed Description

Author:
Todd L. Montgomery - Informatica Corporation.
Version:
Id
//UMprod/REL_5_3_6/29West/lbm/src/lib/lbm/lbm.h#2
The Ultra Messaging (UM) API Description. Included are types, constants, and functions related to the API. Contents are subject to change.

All of the documentation and software included in this and any other Informatica Ultra Messaging Releases Copyright (C) Informatica. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted only as covered by the terms of a valid software license agreement with Informatica.

Copyright (C) 2004-2014, Informatica Corporation. All Rights Reserved.

THE SOFTWARE IS PROVIDED "AS IS" AND INFORMATICA DISCLAIMS ALL WARRANTIES EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. INFORMATICA DOES NOT WARRANT THAT USE OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE. INFORMATICA SHALL NOT, UNDER ANY CIRCUMSTANCES, BE LIABLE TO LICENSEE FOR LOST PROFITS, CONSEQUENTIAL, INCIDENTAL, SPECIAL OR INDIRECT DAMAGES ARISING OUT OF OR RELATED TO THIS AGREEMENT OR THE TRANSACTIONS CONTEMPLATED HEREUNDER, EVEN IF INFORMATICA HAS BEEN APPRISED OF THE LIKELIHOOD OF SUCH DAMAGES.


Define Documentation

#define LBM_ASYNC_OP_INFO_FLAG_FIRST   0x2

lbm_async_operation_info_t flag. This is the very first notification for this particular asynchronous operation.

#define LBM_ASYNC_OP_INFO_FLAG_INLINE   0x1

lbm_async_operation_info_t flag. Asynchronous operation callback is being called directly inline from within an API call.

#define LBM_ASYNC_OP_INFO_FLAG_LAST   0x4

lbm_async_operation_info_t flag. This is the very last notification for this particular asynchronous operation.

#define LBM_ASYNC_OP_INFO_FLAG_ONLY   (LBM_ASYNC_OP_INFO_FLAG_FIRST | LBM_ASYNC_OP_INFO_FLAG_LAST)

lbm_async_operation_info_t flag. This is the only notification that will be delivered for this particular asynchronous operation.

#define LBM_ASYNC_OP_INVALID_HANDLE   0

Invalid asynchronous operation handle.

#define LBM_ASYNC_OP_STATUS_CANCELED   130

Asynchronous operation status code. Overall operation has been successfully canceled. This is a terminal status code.

#define LBM_ASYNC_OP_STATUS_COMPLETE   128

Asynchronous operation status code. Overall operation has completed successfully. This is a terminal status code.

#define LBM_ASYNC_OP_STATUS_ERROR   129

Asynchronous operation status code. Overall operation has failed. This is a terminal status code.

#define LBM_ASYNC_OP_STATUS_IN_PROGRESS   1

Asynchronous operation status code. Overall operation is still in progress.

#define LBM_ASYNC_OP_TYPE_CTX_UMQ_QUEUE_TOPIC_LIST   1

Asynchronous operation type. UMQ queue topic list.

#define LBM_ASYNC_OP_TYPE_RCV_UMQ_QUEUE_MSG_LIST   2

Asynchronous operation type. UMQ queue message list.

#define LBM_ASYNC_OP_TYPE_RCV_UMQ_QUEUE_MSG_RETRIEVE   3

Asynchronous operation type. UMQ queue message retrieve.

#define LBM_ASYNC_OPERATION_CANCEL_FLAG_NONBLOCK   0x1

lbm_async_operation_cancel flag. Do not block if the operation cannot be immediately canceled.

#define LBM_ASYNC_OPERATION_STATUS_FLAG_NONBLOCK   0x1

lbm_async_operation_status flag. Do not block if the operation's status cannot be retrieved immediately.

#define LBM_CHAIN_ELEM_APPHDR   0x4

Element is a non-chain app header

#define LBM_CHAIN_ELEM_CHANNEL_NUMBER   0x1

Element is a channel number in network byte order

#define LBM_CHAIN_ELEM_GW_INFO   0x3

Element is gateway information

#define LBM_CHAIN_ELEM_HF_SQN   0x2

Element is a hot-failover sequence number in network byte order

#define LBM_CHAIN_ELEM_PROPERTIES_LENGTH   0x6

Element is the offset of a serialized properties object within an LBM message

#define LBM_CHAIN_ELEM_USER_DATA   0x5

Element is user data with no byte-order transformation applied

#define LBM_CONTEXT_EVENT_UMQ_INSTANCE_LIST_NOTIFICATION   4

Type of context event. For UMQ only, means queue instance list has changed. Event holds information string.

#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX   1

Type of context event. For UMQ only, means registration of context complete. Event data holds Queue information, Registration ID, etc.

#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1

Registration completed with only quorum reached.

#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_ERROR   3

Type of context event. For UMQ only, means registration of context failed with an error. Event data holds error string.

#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_SUCCESS_EX   2

Type of context event. For UMQ only, means registration of context successful with specific Queue instance. Event data holds Queue instance information, etc.

#define LBM_DAEMON_EVENT_CONNECT_ERROR   2

UM daemon event. Connected could not complete successfully (info valid)

#define LBM_DAEMON_EVENT_CONNECT_TIMEOUT   4

UM daemon event. Connection to daemon timed out

#define LBM_DAEMON_EVENT_CONNECTED   1

UM daemon event. Connected successfully to daemon (info not valid)

#define LBM_DAEMON_EVENT_DISCONNECTED   3

UM daemon event. Connection to daemon aborted (info not valid)

#define LBM_EDAEMONCONN   7

lbm_errnum() value. UM daemon connection not connected.

#define LBM_EINPROGRESS   10

lbm_errnum() value. Operation in progress.

#define LBM_EINVAL   1

lbm_errnum() value. An invalid argument was passed.

#define LBM_EMSG_SELECTOR   14

lbm_errnum() Error parsing message selector.

#define LBM_ENO_QUEUE_REG   11

lbm_errnum() The queue is not fully registered.

#define LBM_ENO_STORE_REG   12

lbm_errnum() The store is not fully registered.

#define LBM_ENOMEM   3

lbm_errnum() value. Operation could not be completed due to memory allocation error.

#define LBM_EOP   4

lbm_errnum() value. Operation was invalid due to error in internal processing.

#define LBM_EOPNOTSUPP   9

lbm_errnum() value. Operation is not supported.

#define LBM_EOS   5

lbm_errnum() value. Operation failed due to unrecoverable OS system call error.

#define LBM_ETIMEDOUT   6

lbm_errnum() value. Operation timed out waiting to complete.

#define LBM_EUMENOREG   8

lbm_errnum() value. Registration not completed.

#define LBM_EVENT_QUEUE_BLOCK   0xFFFFFFFF

Value passed to lbm_event_dispatch to ask it to block

#define LBM_EVENT_QUEUE_DELAY_WARNING   0x2

event queue monitor event type. Warning of excessive delay for event.

#define LBM_EVENT_QUEUE_ENQUEUE_NOTIFICATION   0x3

event queue monitor event type. Notification of something being added to queue.

#define LBM_EVENT_QUEUE_POLL   0x0

Value passed to lbm_event_dispatch to ask it to poll

#define LBM_EVENT_QUEUE_SIZE_WARNING   0x1

event queue monitor event type. Warning of event queue size.

#define LBM_EWOULDBLOCK   2

lbm_errnum() value. Function would block, but object is set to be nonblocking.

#define LBM_FD_EVENT_ACCEPT   0x8

FD event. Accept connection (TCP) indication on file descriptor/socket

#define LBM_FD_EVENT_ALL   0x3f

FD event. All events indication on file descriptor/socket

#define LBM_FD_EVENT_CLOSE   0x10

FD event. Close indication on file descriptor/socket

#define LBM_FD_EVENT_CONNECT   0x20

FD event. Connected indication on file descriptor/socket

#define LBM_FD_EVENT_EXCEPT   0x4

FD event. Exception (OOB/URG) indication on file descriptor/socket

#define LBM_FD_EVENT_READ   0x1

FD event. Read indication on file descriptor/socket

#define LBM_FD_EVENT_WRITE   0x2

FD event. Write indication on file descriptor/socket

#define LBM_FLIGHT_SIZE_TYPE_ULB   0x2

Specify a ULB flight size

#define LBM_FLIGHT_SIZE_TYPE_UME   0x1

Specify a UMP flight size

#define LBM_FLIGHT_SIZE_TYPE_UMQ   0x3

Specify a UMQ flight size

#define LBM_LOG_ALERT   2

log level. Alert

#define LBM_LOG_CRIT   3

log level. Critical

#define LBM_LOG_DEBUG   8

log level. Debugging information

#define LBM_LOG_EMERG   1

log level. Emergency

#define LBM_LOG_ERR   4

log level. Error

#define LBM_LOG_INFO   7

log level. Informational

#define LBM_LOG_NOTICE   6

log level. Notice

#define LBM_LOG_WARNING   5

log level. Warning

#define LBM_MSG_BOS   20

lbm_msg_t type. Beginning of Transport Session (source connection established) (data received).

#define LBM_MSG_COMPLETE_BATCH   0x3

Flag passed to a source send call E.G. (lbm_src_send(), lbm_src_send_ex() etc) : Message constitutes a complete batch and should be sent to the implicit batching buffer.

#define LBM_MSG_DATA   0

lbm_msg_t type. Data message, Message is composed of user data.

#define LBM_MSG_END_BATCH   0x2

Flag passed to a source send call E.G. (lbm_src_send(), lbm_src_send_ex() etc) : Message ends a batch of messages

#define LBM_MSG_EOS   1

lbm_msg_t type. End of Transport Session (connection closed to source) (no further data).

#define LBM_MSG_FLAG_DELIVERY_LATENCY   0x200

reserved for future use

#define LBM_MSG_FLAG_END_BATCH   0x2

lbm_msg_t flags. Message ends a batch.

#define LBM_MSG_FLAG_HF_32   0x800

lbm_msg_t flags. Message contains a 32 bit hot failover sequence number

#define LBM_MSG_FLAG_HF_64   0x1000

lbm_msg_t flags. Message contains a 64 bit hot failover sequence number.

#define LBM_MSG_FLAG_HF_DUPLICATE   0x20

lbm_msg_t flags. Message is a Hot Failover duplicate message.

#define LBM_MSG_FLAG_HF_OPTIONAL   0x400

lbm_msg_t flags. Message is a Hot Failover optional message.

#define LBM_MSG_FLAG_HF_PASS_THROUGH   0x4

lbm_msg_t flags. Message is a passed-through Hot Failover message.

#define LBM_MSG_FLAG_IMMEDIATE   0x10

lbm_msg_t flags. Message is an immediate message.

#define LBM_MSG_FLAG_NUMBERED_CHANNEL   0x1

lbm_msg_channel_info_t flags. Message was sent on a numbered channel

#define LBM_MSG_FLAG_OTR   0x2000

lbm_msg_t flags. Message was recovered via OTR

#define LBM_MSG_FLAG_RETRANSMIT   0x8

lbm_msg_t flags. Message is a retransmission.

#define LBM_MSG_FLAG_START_BATCH   0x1

lbm_msg_t flags. Message starts a batch.

#define LBM_MSG_FLAG_TOPICLESS   0x100

lbm_msg_t flags. Message has no topic.

#define LBM_MSG_FLAG_UME_RETRANSMIT   0x8

lbm_msg_t flags. Message is a UMP retransmission.

#define LBM_MSG_FLAG_UMQ_REASSIGNED   0x40

lbm_msg_t flags. Message is a UMQ message that has been re-assigned at least once.

#define LBM_MSG_FLAG_UMQ_RESUBMITTED   0x80

lbm_msg_t flags. Message is a UMQ message that has been resubmitted at least once.

#define LBM_MSG_FLUSH   0x4

Flag passed to a source send call E.G. (lbm_src_send(), lbm_src_send_ex() etc) : Message is to be sent ASAP (not implicitly or explicitly batched). This also flushes waiting messages that were explicitly or implicitly batched.

#define LBM_MSG_HF_RESET   27

lbm_msg_t type. Hot-failover reset message was handled. UMS is now expecting msg->hf_sequence_number as the next non-reset hot-failover message.

#define LBM_MSG_IOV_GATHER   0x40

Flag passed to a source send vectored call E.G. (lbm_src_sendv(), lbm_src_sendv_ex() etc) : iovec elements should be gather into a single message

#define LBM_MSG_NO_SOURCE_NOTIFICATION   6

lbm_msg_t type. Notification that no source has been found for topic. Still querying for topic source.

#define LBM_MSG_PROPERTIES_MAX_NAMELEN   250

Maximum size for the name of a message property

#define LBM_MSG_PROPERTY_BOOLEAN   0x1

Message property of boolean type

#define LBM_MSG_PROPERTY_BYTE   0x2

Message property of byte type

#define LBM_MSG_PROPERTY_DOUBLE   0x7

Message property of double type

#define LBM_MSG_PROPERTY_FLOAT   0x6

Message property of float type

#define LBM_MSG_PROPERTY_INT   0x4

Message property of int type (4 bytes)

#define LBM_MSG_PROPERTY_LONG   0x5

Message property of long type (8 bytes)

#define LBM_MSG_PROPERTY_NONE   0x0

Message property with no type (used to indicate an iterator has reached the last element)

#define LBM_MSG_PROPERTY_SHORT   0x3

Message property of short type (2 bytes)

#define LBM_MSG_PROPERTY_STRING   0x8

Message property of string type

#define LBM_MSG_REQUEST   2

lbm_msg_t type. Request message from source.

#define LBM_MSG_RESPONSE   3

lbm_msg_t type. Response message from requestee

#define LBM_MSG_START_BATCH   0x1

Flag passed to a source send call E.G. (lbm_src_send(), lbm_src_send_ex() etc) : Message starts a batch

#define LBM_MSG_UME_DEREGISTRATION_COMPLETE_EX   13

lbm_msg_t type. UMP receiver notification of deregistration complete.

#define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX   12

lbm_msg_t type. UMP receiver notification of deregistration success. Data holds registration IDs, etc.

#define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX_FLAG_RPP   0x1

Deregistration was flagged as coming from a RPP store

#define LBM_MSG_UME_REGISTRATION_CHANGE   9

lbm_msg_t type. UMP receiver notification of source registration change. Data holds info message.

#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX   11

lbm_msg_t type. UMP receiver notification of registration completion. Data holds sequence number and flags, etc.

#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1

Registration completed with only quorum reached.

#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_RXREQMAX   0x2

Registration completed with RX REQ maximum used.

#define LBM_MSG_UME_REGISTRATION_ERROR   7

lbm_msg_t type. UMP receiver registration encountered an error. Data holds error message.

#define LBM_MSG_UME_REGISTRATION_SUCCESS   8

lbm_msg_t type. UMP receiver registration successful. Data holds registration IDs.

#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX   10

lbm_msg_t type. UMP receiver registration successful for a store (extended form). Data holds registration IDs, etc.

#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_NOCACHE   0x2

Registration was flagged as coming from a store that is configured to not cache data.

#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_OLD   0x1

Registration was flagged as an old receiver by the store. An old receiver is one the store had cached.

#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP   0x4

Registration was flagged as coming from a store that has allowed a RPP receiver

#define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX   19

lbm_msg_t type. UMQ receiver notification of de-registration completion. Data holds Queue information, etc.

#define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX_FLAG_ULB   0x1

Deregistration completed for UMQ ULB source.

#define LBM_MSG_UMQ_INDEX_ASSIGNED_EX   24

lbm_msg_t type. UMQ receiver notification of beginning of index.

#define LBM_MSG_UMQ_INDEX_ASSIGNED_EX_FLAG_REQUESTED   0x2

Beginning of index assignment that was requested by receiver.

#define LBM_MSG_UMQ_INDEX_ASSIGNED_EX_FLAG_ULB   0x1

Beginning of index from ULB source.

#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_ERROR   21

lbm_msg_t type. UMQ receiver index assignment start/stop encountered an error. Data holds error message.

#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX   22

lbm_msg_t type. UMQ receiver notification of beginning of index assignment eligibility or index assignment. Data holds index information, etc.

#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX_FLAG_ULB   0x1

Index assignment started for ULB source.

#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX   23

lbm_msg_t type. UMQ receiver notification of end of index assignment eligibility or index assignment. Data holds index information, etc.

#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX_FLAG_ULB   0x1

Index assignment stopped for ULB source.

#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ERROR   26

lbm_msg_t type. UMQ receiver notification of an index assignment error.

#define LBM_MSG_UMQ_INDEX_RELEASED_EX   25

lbm_msg_t type. UMQ receiver notification of end of index.

#define LBM_MSG_UMQ_INDEX_RELEASED_EX_FLAG_ULB   0x1

End of index from ULB source.

#define LBM_MSG_UMQ_REASSIGN_FLAG_DISCARD   0x1

Instead of requesting reassignment, request the message be discarded.

#define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX   18

lbm_msg_t type. UMQ receiver notification of registration completion. Data holds Queue information, assignment ID, etc.

#define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1

Registration completed with only quorum reached.

#define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX_FLAG_ULB   0x2

Registration completed for UMQ ULB source.

#define LBM_MSG_UMQ_REGISTRATION_ERROR   16

lbm_msg_t type. UMQ receiver registration encountered an error. Data holds error message.

#define LBM_MSG_UNRECOVERABLE_LOSS   4

lbm_msg_t type. Missing message detected and not recovered in given time.

#define LBM_MSG_UNRECOVERABLE_LOSS_BURST   5

lbm_msg_t type. Missing burst of messages detected and not recovered.

#define LBM_RCV_BLOCK   0x20

reserved for future use

#define LBM_RCV_BLOCK_TEMP   0x10

reserved for future use

#define LBM_RCV_NONBLOCK   0x8

reserved for future use

#define LBM_SRC_BLOCK   0x20

Flag passed to a source send call E.G. (lbm_src_send(), lbm_src_send_ex() etc) : Block the caller indefinitely until the message is sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)

#define LBM_SRC_BLOCK_TEMP   0x10

reserved for future use

#define LBM_SRC_COST_FUNCTION_REJECT   0xffffffff

Source cost function return value to indicate this source should be permanently rejected.

#define LBM_SRC_EVENT_CONNECT   1

Type of source event. This event indicates that the first or initial receiver of a receiving application has joined a unicast transport session. UM delivers this event if it has mapped a source object to a unicast transport session (TCP, LBT-RU, LBT-IPC, or LBT-RDMA) and then the first receiver joins the transport session. If several sources map to the transport session, UM delivers this event multiple times, once for each source. The initial receiver can be subscribed to any of the sources topics. Subsequent receivers that join the transport session do not trigger additional events. However, additional receiving applications (contexts) may also join the transport session and UM delivers the event for the first or initial receiver of each additional application.

#define LBM_SRC_EVENT_DAEMON_CONFIRM   4

Type of source event. For UM daemon usage only, means daemon has confirmed src created

#define LBM_SRC_EVENT_DISCONNECT   2

Type of source event. This event indicates that the last or final receiver of a receiving application has left a unicast transport session. UM delivers this event if it has mapped a source object to a unicast transport session (TCP, LBT-RU, LBT-IPC, or LBT-RDMA) and then the last receiver leaves the transport session. If several sources map to the transport session, UM delivers this event multiple times, once for each source. The final receiver can be subscribed to any of the sources topics. Additional receiving applications (contexts) may also leave the transport session and UM delivers the event for the last or final receiver of each additional application.

#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION   29

Type of source event. For UMP, UMQ, and/or ULB, informs the application of a change in state for a specified flight size. Event data holds state information.

#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_OVER   0x1

Messages in flight has exceeded the threshold

#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_UNDER   0x2

Messages in flight is now below the threshold

#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_ULB   0x2

Specifies a ULB flight size

#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_UME   0x1

Specifies a UMP flight size

#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_UMQ   0x3

Specifies a UMQ flight size

#define LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO   15

Type of source event. Informs the application the sequence numbers used with a message. Event data holds sequence number data. This event is generated only when using the "lbm_src_send_ex()" API's with the LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO flag or LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY flag.

#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION   8

Type of source event. For UMP only, means UMP Confirmed Delivery of Message from receiver. Event data holds ACK information.

#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX   14

Type of source event. For UMP only, means UMP Confirmed Delivery of Message from receiver (extended form). Event data holds ACK information.

#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_EXACK   0x8

Confirmation received with Explicit ACK (EXACK) flagged.

#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_OOD   0x4

Confirmation received with Out-of-Order Delivery (OOD) flagged.

#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_UNIQUEACKS   0x1

Confirmation received for specified number of unique ACKs.

#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_UREGID   0x2

Confirmation received with User Specified Rcv Registration ID flagged.

#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_WHOLE_MESSAGE_CONFIRMED   0x10

Whole message (each fragment) has been confirmed

#define LBM_SRC_EVENT_UME_DEREGISTRATION_COMPLETE_EX   32

Type of source event. For UMP only, means deregistration of source complete (extended form).

#define LBM_SRC_EVENT_UME_DEREGISTRATION_SUCCESS_EX   31

Type of source event. For UMP only, means deregistration of source successful (extended form).

#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED   10

Type of source event. For UMP only, means message is being reclaimed. Event data holds ACK information.

#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX   30

Type of source event. Message is being reclaimed. Event data holds ACK information.

#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX_FLAG_FORCED   0x1

Reclaim notification is the result of a forced reclaim

#define LBM_SRC_EVENT_UME_MESSAGE_STABLE   7

Type of source event. For UMP only, means UMP ACK from store indicates message is stable. Event data holds ACK information.

#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX   13

Type of source event. For UMP only, means UMP ACK from store indicates message is stable (extended form). Event data holds ACK information.

#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_INTERGROUP_STABLE   0x2

Message stable for intergroup stability

#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_INTRAGROUP_STABLE   0x1

Message stable for intragroup stability

#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_STABLE   0x4

Message is stable according to behavior desired

#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_STORE   0x8

Message stable information has active store information

#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_USER   0x20

Message stabilized via lbm_ume_src_msg_stable API

#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_WHOLE_MESSAGE_STABLE   0x10

Whole message (each fragment) is stable

#define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX   12

Type of source event. For UMP only, means registration of source complete (extended form). Event data holds sequence number, flags, etc.

#define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1

Registration completed with only quorum reached.

#define LBM_SRC_EVENT_UME_REGISTRATION_ERROR   5

Type of source event. For UMP only, means registration of source failed with an error. Event data holds error string.

#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS   6

Type of source event. For UMP only, means registration of source successful. Event data holds registration info

#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX   11

Type of source event. For UMP only, means registration of source successful (extended form). Event data holds registration info

#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_NOACKS   0x2

Registration was flagged as coming from a store that is configured to not send ACKs for stability (no-cache store)

#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_OLD   0x1

Registration was flagged as an old source by the store. An old source is one the store had cached.

#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP   0x4

Registration was flagged as coming from a store that allows and has accepted RPP persistent topics

#define LBM_SRC_EVENT_UME_STORE_UNRESPONSIVE   9

Type of source event. For UMP only, means store has not been active within timeout. Event data holds info string.

#define LBM_SRC_EVENT_UMQ_MESSAGE_ID_INFO   17

Type of source event. For UMQ only, informs the application of the Message ID assigned with a message. Event data holds Message ID, etc.

#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX   19

Type of source event. For UMQ only, means UMQ ACK from queue indicates message is stable. Event data holds ACK information.

#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_INTERGROUP_STABLE   0x2

Message stable for intergroup stability

#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_INTRAGROUP_STABLE   0x1

Message stable for intragroup stability

#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_STABLE   0x4

Message is stable according to behavior desired

#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_USER   0x8

Message stabilized via the lbm_umq_ctx_msg_stable API

#define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX   18

Type of source event. For UMQ only, means registration of source complete. Event data holds Queue information, etc.

#define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1

Registration completed with only quorum reached.

#define LBM_SRC_EVENT_UMQ_REGISTRATION_ERROR   16

Type of source event. For UMQ only, means registration of source failed with an error. Event data holds error string.

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_ASSIGNED_EX   20

Type of source event. For UMQ ULB only, means message was assigned to a receiver. Event data holds message information.

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_COMPLETE_EX   23

Type of source event. For UMQ ULB only, means message was completed processed on all application sets. Event data holds message information.

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_CONSUMED_EX   24

Type of source event. For UMQ ULB only, means message was consumed by a receiver. Event data holds message information.

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX   21

Type of source event. For UMQ ULB only, means message was reassigned from a receiver. Event data holds message information.

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX_FLAG_EXPLICIT   0x1

reassignment is the result of the lbm_msg_umq_reassign API being called by a receiver

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX   22

Type of source event. For UMQ ULB only, means message timed out and was end-of-lifed. Event data holds message information.

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_DISCARD   0x4

timeout is the result of the lbm_msg_umq_reassign API being called with the LBM_MSG_UMQ_REASSIGN_FLAG_DISCARD flag set

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_EXPLICIT   0x2

timeout is the result of the lbm_msg_umq_reassign API being called by a receiver

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_MAX_REASSIGNS   0x8

timeout is the result of hitting umq_ulb_application_set_message_max_reassignments number of assignments

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_TOTAL_LIFETIME_EXPIRED   0x1

timeout is the result of the total lifetime expiring

#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_DEREGISTRATION_EX   26

Type of source event. For UMQ ULB only, means receiver deregistered. Event data holds receiver information.

#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_READY_EX   27

Type of source event. For UMQ ULB only, means receiver signalled ready for messages. Event data holds receiver information.

#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_REGISTRATION_EX   25

Type of source event. For UMQ ULB only, means receiver registered. Event data holds receiver information.

#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_TIMEOUT_EX   28

Type of source event. For UMQ ULB only, means receiver timed out and was end-of-lifed. Event data holds receiver information.

#define LBM_SRC_EVENT_WAKEUP   3

Type of source event. Following earlier return of LBM_EWOULDBLOCK, means source is ready for more sends

#define LBM_SRC_EVENT_WAKEUP_FLAG_MIM   0x2

Unblocked source is a context-level multicast immediate mode source.

#define LBM_SRC_EVENT_WAKEUP_FLAG_NORMAL   0x1

Unblocked source is a normal (or hot failover) source.

#define LBM_SRC_EVENT_WAKEUP_FLAG_REQUEST   0x8

Unblocked source is a context-level request source.

#define LBM_SRC_EVENT_WAKEUP_FLAG_RESPONSE   0x10

Unblocked source is a context-level response source.

#define LBM_SRC_EVENT_WAKEUP_FLAG_UIM   0x4

Unblocked source is a context-level unicast immediate mode source.

#define LBM_SRC_NONBLOCK   0x8

Flag passed to a source send call E.G. (lbm_src_send(), lbm_src_send_ex() etc) : If message could not be sent immediately return and error and signal LBM_EWOULDBLOCK.

#define LBM_SRC_SEND_EX_FLAG_APPHDR_CHAIN   0x8

Send messages using an appheader chain

#define LBM_SRC_SEND_EX_FLAG_CHANNEL   0x20

Send messages using supplied channel information

#define LBM_SRC_SEND_EX_FLAG_HF_32   0x400

Send message with the supplied 32 bit hot failover sequence number

#define LBM_SRC_SEND_EX_FLAG_HF_64   0x800

Send message with the supplied 64 bit hot failover sequence number

#define LBM_SRC_SEND_EX_FLAG_HF_OPTIONAL   0x100

Send messages marked as an optional message for Hot Failover

#define LBM_SRC_SEND_EX_FLAG_PROPERTIES   0x200

Send message with the supplied messages properties

#define LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO   0x2

Inform application of the sequence numbers used for message

#define LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY   0x4

Inform application of the sequence numbers used for message (fragmented messages only)

#define LBM_SRC_SEND_EX_FLAG_UME_CLIENTD   0x1

UMP client data pointer is valid

#define LBM_SRC_SEND_EX_FLAG_UMQ_CLIENTD   0x1

UMQ client data pointer is valid

#define LBM_SRC_SEND_EX_FLAG_UMQ_INDEX   0x40

Send messages associating them with the supplied UMQ Index

#define LBM_SRC_SEND_EX_FLAG_UMQ_MESSAGE_ID_INFO   0x10

Inform application of the UMQ Message ID used for the message

#define LBM_SRC_SEND_EX_FLAG_UMQ_TOTAL_LIFETIME   0x80

umq_msg_total_lifetime is valid

#define LBM_TOPIC_RES_REQUEST_ADVERTISEMENT   0x04

Flag passed to lbm_context_topic_resolution_request() to request sources to re-advertise

#define LBM_TOPIC_RES_REQUEST_QUERY   0x02

Flag passed to lbm_context_topic_resolution_request() to request receivers to query for source

#define LBM_TOPIC_RES_REQUEST_RESERVED1   0x08

reserved for internal use

#define LBM_TOPIC_RES_REQUEST_WILDCARD_QUERY   0x01

Flag passed to lbm_context_topic_resolution_request() to request wildcard receivers to query for source

#define LBM_TRANSPORT_STAT_DAEMON   0xFF

Transport statistic type. UM Daemon is being used

#define LBM_TRANSPORT_STAT_LBTIPC   LBM_TRANSPORT_TYPE_LBTIPC

Transport statistic type. LBT-IPC transport

#define LBM_TRANSPORT_STAT_LBTRDMA   LBM_TRANSPORT_TYPE_LBTRDMA

Transport statistic type. LBT-RDMA transport

#define LBM_TRANSPORT_STAT_LBTRM   LBM_TRANSPORT_TYPE_LBTRM

Transport statistic type. LBT-RM transport

#define LBM_TRANSPORT_STAT_LBTRU   LBM_TRANSPORT_TYPE_LBTRU

Transport statistic type. LBT-RU transport

#define LBM_TRANSPORT_STAT_TCP   LBM_TRANSPORT_TYPE_TCP

Transport statistic type. TCP transport

#define LBM_TRANSPORT_TYPE_LBTIPC   0x40

Transport type LBT-IPC.

#define LBM_TRANSPORT_TYPE_LBTRDMA   0x20

Transport type LBT-RDMA.

#define LBM_TRANSPORT_TYPE_LBTRM   0x10

Transport type LBT-RM.

#define LBM_TRANSPORT_TYPE_LBTRU   0x01

Transport type LBT-RU.

#define LBM_TRANSPORT_TYPE_TCP   0x00

Transport type TCP.

#define LBM_UMM_INFO_FLAGS_USE_SSL   0x1

Use SSL for UMM daemon connections.

#define LBM_UMQ_INDEX_FLAG_NUMERIC   0x1

lbm_umq_index_info_t flags. Index is a 64-bit unsigned integer.

#define LBM_WILDCARD_RCV_PATTERN_TYPE_APP_CB   3

Application defined callback pattern type

#define LBM_WILDCARD_RCV_PATTERN_TYPE_PCRE   1

PCRE (Perl Compatible Regular Expressions) pattern type

#define LBM_WILDCARD_RCV_PATTERN_TYPE_REGEX   2

POSIX regex pattern type


Typedef Documentation

typedef int(*) lbm_async_operation_function_cb(lbm_async_operation_info_t *opinfo, void *clientd)

Parameters:
opinfo Operation-specific results.
clientd Client data pointer supplied in in the lbm_async_operation_func_t struct passed in to an asynchronous API call.
Returns:
0 for Success, -1 for Failure.

typedef int(*) lbm_context_event_cb_proc(lbm_context_t *ctx, int event, void *ed, void *clientd)

Set by the "context_event_function" context attribute. If this application callback is set without an event queue, it is called from the context thread and is limited in the API calls that it can make.

Parameters:
ctx Context object generating the event.
event Type of event.
ed Pointer to event data, content dependent on event type.
clientd Client data pointer supplied when setting "context_event_function" context attribute.
Returns:
0 always

typedef struct lbm_context_event_func_t_stct lbm_context_event_func_t

A struct used to set a context-level event callback and callback info.

typedef struct lbm_context_event_umq_registration_complete_ex_t_stct lbm_context_event_umq_registration_complete_ex_t

A structure used with UMQ receivers and sources to indicate successful context registration to quorum or to all queue instances involved.

typedef struct lbm_context_event_umq_registration_ex_t_stct lbm_context_event_umq_registration_ex_t

A structure used with UMQ receivers and sources to indicate successful context registration with an instance of the queue.

typedef struct lbm_context_rcv_immediate_msgs_func_t_stct lbm_context_rcv_immediate_msgs_func_t

A struct used to set the context-level topic-less immediate mode message receiver callback. If an event queue is specified, messages will be placed on the event queue; if evq is NULL, messages will be delivered directly from the context thread.

typedef int(*) lbm_context_src_cb_proc(lbm_context_t *ctx, int event, void *ed, void *clientd)

Set by the "source_event_function" context attribute. If this application callback is set without an event queue, it is called from the context thread and is limited in the API calls that it can make.

Parameters:
ctx Context object generating the event.
ed Pointer to event data, content dependent on event type.
  • For event == LBM_SRC_EVENT_WAKEUP, ed should be re-cast as a (lbm_src_event_wakeup_t) and indicates which context-level source (or sources) has become un-blocked.
  • For event == LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION, ed should be re-cast as a (lbm_src_event_flight_size_notification_t *) to extract the flight size information.
clientd Client data pointer supplied when setting "source_event_function" context attribute.
Returns:
0 always

typedef struct lbm_context_src_event_func_t_stct lbm_context_src_event_func_t

A struct used to set a context-level source event callback and callback info.

typedef struct lbm_context_stats_t_stct lbm_context_stats_t

This structure holds general context statistics for things like topic resolution and interaction with transports and applications.

typedef int(*) lbm_daemon_event_cb_proc(lbm_context_t *ctx, int event, const char *info, void *clientd)

Set by lbm_context_create(). Only used when operation_mode is set to daemon. NOTE: this application callback is always made from the context thread, and is therefore limited in the UM API calls it can make. NOTE: daemon mode is no longer available; this definition is retained for for backward compatibility only.

Parameters:
ctx Context generating the event.
event One of LBM_DAEMON_EVENT_* indicating event type.
info Pointer to LBM-supplied string giving more information.
clientd Client data pointer supplied in lbm_context_create().
Returns:
0 always.

typedef void(*) lbm_event_queue_cancel_cb_proc(int dispatch_thrd, void *clientd)

Set by lbm_*_delete_ex(). NOTE: this application callback can be made from the context thread, and is therefore limited in the UM API calls it can make. The application is called after all events associated with the delete are canceled or completed.

See also:
lbm_event_queue_cancel_cb_info_t
Parameters:
dispatch_thrd Indicates from where the callback is being called. This can be useful to the application to avoid deadlock.
  • 1 - Called by dispatch thread (after the lbm_*_delete_ex() returned).
  • 0 - Called directly by the lbm_*_delete_ex() function.
clientd Client data pointer supplied in the lbm_event_queue_cancel_cb_info_t passed to the lbm_*_delete_ex().
Returns:
0 always.

typedef int(*) lbm_event_queue_monitor_proc(lbm_event_queue_t *evq, int event, size_t evq_size, lbm_ulong_t event_delay_usec, void *clientd)

Set by lbm_event_queue_create(). NOTE: this application callback can be made from the context thread, and is therefore limited in the UM API calls it can make. (Specifically, the context calls it for the enqueue notification.) Note that the one or more event queue options must be set to enable the use of event queue monitoring.

Parameters:
evq Event queue generating the event.
event One of LBM_EVENT_QUEUE_*_WARNING or LBM_EVENT_QUEUE_ENQUEUE_NOTIFICATION, depending on enabled options.
evq_size Number of events currently in the queue.
event_delay_usec Number of microseconds the oldest event has been in the event queue. (Note, this will be the next event dispatched.)
clientd Client data pointer supplied in lbm_event_queue_create().
Returns:
0 for success, -1 for failure.
Note:
The event parameter operates as both a value and a bitmask, and the monitor function may be called to indicate both a size and delay warning. The value of LBM_EVENT_QUEUE_ENQUEUE_NOTIFICATION is the same as the value of (LBM_EVENT_QUEUE_DELAY_WARNING | LBM_EVENT_QUEUE_SIZE_WARNING).
If event is LBM_EVENT_QUEUE_ENQUEUE_NOTIFICATION, evq_size is 1, and evq_delay_usec is 0, the callback is due to an event being enqueued. To distinguish between an enqueue notification and a size or delay warning, the following code template may be used.
int event_queue_monitor_proc(lbm_event_queue_t * evq, int event,
    size_t evq_size, lbm_ulong_t event_delay_usec, void * clientd)
{
    if ((event == LBM_EVENT_QUEUE_ENQUEUE_NOTIFICATION)
        && (evq_size == 1) && (event_delay_usec == 0))
    {
        // This is an ENQUEUE notification.
        return (0);
    }
    if ((event & LBM_EVENT_QUEUE_SIZE_WARNING) != 0)
    {
        // Size warning, event queue size is in evq_size
    }
    if ((event & LBM_EVENT_QUEUE_DELAY_WARNING) != 0)
    {
        // Delay warning, delay of oldest (about to be dequeued)
        // message is in event_delay_usec.
    }
    return (0);
}

typedef struct lbm_event_queue_stats_t_stct lbm_event_queue_stats_t

This structure holds statistics for messages and other events that enter and exit the event queue. NOTE: Specific count-enable options must sometimes be enabled for these statistics to populate.

typedef int(*) lbm_fd_cb_proc(lbm_context_t *ctx, lbm_handle_t handle, lbm_ulong_t ev, void *clientd)

Set by lbm_register_fd(). If this application callback is set without an event queue, it is called from the context thread and is limited in the API calls that it can make.

Parameters:
ctx Context monitoring the handle.
handle File descriptor or socket generating the event.
ev One or more of LBM_FD_EVENT_* (ORed together) indicating the event type.
clientd Client data pointer supplied in lbm_register_fd().
Returns:
0 always.

typedef int(*) lbm_flight_size_set_inflight_cb_proc(int inflight, void *clientd)

Set by lbm_*_flight_size_set_inflight().

Parameters:
inflight Gives the current inflight value.
clientd Client data pointer supplied in the call to lbm_*_flight_size_set_inflight().
Returns:
The new inflight value.

typedef void(*) lbm_flight_size_set_inflight_ex_cb_proc(lbm_flight_size_inflight_t *inflight, void *clientd)

Parameters:
inflight Pointer to a structure containing current inflight values for both messages and bytes.
clientd Client data pointer supplied in the call to lbm_ume_flight_size_set_inflight_ex().

typedef int(*) lbm_immediate_msg_cb_proc(lbm_context_t *ctx, lbm_msg_t *msg, void *clientd)

Set by lbm_context_rcv_immediate_msgs(). If this application callback is set without an event queue, it is called from the context thread and is limited in the API calls that it can make.

Note:
For received application messages, be aware that UM does not guarantee any alignment of that data.
Parameters:
ctx Context receiving the message.
msg Pointer to received message.
clientd Client data pointer supplied in lbm_context_rcv_immediate_msgs().
Returns:
0 always.

typedef struct lbm_iovec_t_stct lbm_iovec_t

UM replacement for struct iovec for portability.

typedef struct lbm_ipv4_address_mask_t_stct lbm_ipv4_address_mask_t

A structure used with options to set/get specific addresses within a range.

typedef int(*) lbm_log_cb_proc(int level, const char *message, void *clientd)

Set by lbm_log(). NOTE: this application callback can be made from the context thread, and is therefore limited in the UM API calls it can make.

Parameters:
level One of LBM_LOG_* indicating severity level. Values can be (in order of decreasing importance):
  • LBM_LOG_EMERG
  • LBM_LOG_ALERT
  • LBM_LOG_CRIT
  • LBM_LOG_ERR
  • LBM_LOG_WARNING
  • LBM_LOG_NOTICE
  • LBM_LOG_INFO
  • LBM_LOG_DEBUG
message Pointer to error message string.
clientd Client data pointer supplied in lbm_log().
Returns:
0 always.

typedef struct lbm_mim_unrecloss_func_t_stct lbm_mim_unrecloss_func_t

A structure used with options to set/get a specific callback function

typedef int(*) lbm_mim_unrecloss_function_cb(const char *source_name, lbm_uint_t seqnum, void *clientd)

Set by lbm_context_attr_setopt() with option "mim_unrecoverable_loss_function". NOTE: this application callback is always made from the context thread and is therefore limited in the UM API calls it can make.

See also:
lbm_mim_unrecloss_func_t
Parameters:
source_name Name of the source
seqnum Sequence Number that is lost
clientd Client data pointer supplied in the lbm_mim_unrecloss_func_t passed to lbm_context_attr_setopt() with the "mim_unrecoverable_loss_function" attribute.
Returns:
0 always.

typedef struct lbm_msg_channel_info_t_stct lbm_msg_channel_info_t

This channel information assigns a channel designator to individual messages. Receivers may use this channel designator to filter messages or direct them to specific callbacks on a per-channel basis.

typedef struct lbm_msg_fragment_info_t_stct lbm_msg_fragment_info_t

To retrieve the UM-message fragment information held in this structure, it is typically necessary to call lbm_msg_retrieve_fragment_info().

typedef struct lbm_msg_gateway_info_t_stct lbm_msg_gateway_info_t

Deprecated:

typedef struct lbm_msg_ume_deregistration_ex_t_stct lbm_msg_ume_deregistration_ex_t

A structure used with UM receivers to indicate successful deregistration (extended form).

typedef struct lbm_msg_ume_registration_complete_ex_t_stct lbm_msg_ume_registration_complete_ex_t

A structure used with UM receivers to indicate successful registration to quorum or to all stores involved.

typedef struct lbm_msg_ume_registration_ex_t_stct lbm_msg_ume_registration_ex_t

A structure used with UM receivers to indicate successful registration (extended form).

typedef struct lbm_msg_ume_registration_t_stct lbm_msg_ume_registration_t

A structure used with UMP receivers to indicate successful registration.

typedef struct lbm_msg_umq_deregistration_complete_ex_t_stct lbm_msg_umq_deregistration_complete_ex_t

A struct used with UMQ receivers to indicate successful de-registration from a queue.

typedef struct lbm_msg_umq_index_assigned_ex_t_stct lbm_msg_umq_index_assigned_ex_t

A structure used with UMQ or ULB receivers to indicate the stop of index assignment from all queue instances involved.

typedef struct lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t_stct lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t

A structure used with UMQ or ULB receivers to indicate the start of index assignment from all queue instances involved.

typedef struct lbm_msg_umq_index_assignment_eligibility_stop_complete_ex_t_stct lbm_msg_umq_index_assignment_eligibility_stop_complete_ex_t

A structure used with UMQ or ULB receivers to indicate the stop of index assignment from all queue instances involved.

typedef struct lbm_msg_umq_index_released_ex_t_stct lbm_msg_umq_index_released_ex_t

A structure used with UMQ or ULB receivers to indicate the stop of index assignment from all queue instances involved.

typedef struct lbm_msg_umq_registration_complete_ex_t_stct lbm_msg_umq_registration_complete_ex_t

A structure used with UMQ receivers to indicate successful receiver registration to quorum or to all queue instances involved.

typedef int(*) lbm_rcv_cb_proc(lbm_rcv_t *rcv, lbm_msg_t *msg, void *clientd)

Set by lbm_rcv_create(). If this application callback is set without an event queue, it is called from the context thread and is limited in the API calls that it can make.

After the callback returns, the message object msg is deleted and the application must not refer to it. This behavior can be overridden by calling lbm_msg_retain() from the receive callback before it returns. It then becomes the application's responsibility to delete the message object using lbm_msg_delete().

Note:
For received application messages, be aware that UM does not guarantee any alignment of that data.
Parameters:
rcv Receiver object generating the event.
msg Message object containing the receiver event.
clientd Client data pointer supplied in lbm_rcv_create().
Returns:
0 always.

typedef void*(*) lbm_rcv_src_notification_create_function_cb(const char *source_name, void *clientd)

Set by lbm_rcv_topic_attr_setopt() with option "source_notification_function". NOTE: this application callback is always made from the context thread and is therefore limited in the UM API calls it can make.

See also:
lbm_rcv_src_notification_func_t
Parameters:
source_name Name of the source
clientd Client data pointer supplied in the lbm_rcv_src_notification_func_t passed to lbm_context_attr_setopt() with the "source_notification_function" attribute.
Returns:
void pointer to be set for all messages to this topic from the specified source.

typedef int(*) lbm_rcv_src_notification_delete_function_cb(const char *source_name, void *clientd, void *source_clientd)

Set by lbm_rcv_topic_attr_setopt() with option "source_notification_function". NOTE: this application callback is always made from the context thread and is therefore limited in the UM API calls it can make.

See also:
lbm_rcv_src_notification_func_t
Parameters:
source_name Name of the source
clientd Client data pointer supplied in the lbm_rcv_src_notification_func_t passed to lbm_context_attr_setopt() with the "source_notification_function" attribute.
source_clientd Client data pointer set to be included in each message.
Returns:
0 always

typedef struct lbm_rcv_src_notification_func_t_stct lbm_rcv_src_notification_func_t

A structure used with options to set/get a specific callback function

typedef struct lbm_rcv_transport_stats_daemon_t_stct lbm_rcv_transport_stats_daemon_t

This structure holds statistics for receiver transports using the daemon mode. NOTE: daemon mode is deprecated and no longer available; this structure is retained for for backward compatibility only.

typedef struct lbm_rcv_transport_stats_t_stct lbm_rcv_transport_stats_t

This structure holds statistics for all receiver transports. The structure is filled in when statistics for receiver transports are requested.

typedef int(*) lbm_request_cb_proc(lbm_request_t *req, lbm_msg_t *msg, void *clientd)

Set by lbm_send_request(), lbm_multicast_immediate_request(), lbm_unicast_immediate_request(). If this application callback is set without an event queue, it is called from the context thread and is limited in the API calls that it can make.

Note:
For received application messages, be aware that UM does not guarantee any alignment of that data.
Parameters:
req Request object receiving the response.
msg Pointer to received message.
clientd Client data pointer supplied in lbm_send_request(), etc.
Returns:
0 always.

typedef int(*) lbm_src_cb_proc(lbm_src_t *src, int event, void *ed, void *clientd)

Set by lbm_src_create() and lbm_hf_src_create(). If this application callback is set without an event queue, it is called from the context thread and is limited in the API calls that it can make.

Parameters:
src Source object generating the event.
event One of LBM_SRC_EVENT_* indicating event type.
ed Pointer to event data, content dependent on event type.
  • For event == LBM_SRC_EVENT_CONNECT (not applicable for LBT-RM), ed should be re-cast as a (char *) and points at the receiver as a string. Format depends on transport type. Formats containing IP address and Port pertain to the receiver's IP and Port. For string formats and examples, see lbm_transport_source_info_t_stct.
  • For event == LBM_SRC_EVENT_DISCONNECT (not applicable for LBT-RM), ed should be re-cast as a (char *) and points at the receiver as a string (see above).
  • For event == LBM_SRC_EVENT_WAKEUP, ed should be re-cast as a (lbm_src_event_wakeup_t) and indicates which source has become un-blocked.
  • For event == LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO, ed should be re-cast as a (lbm_src_event_sequence_number_info_t *) to extract the sequence number information.
  • For event == LBM_SRC_EVENT_UME_REGISTRATION_ERROR, ed should be re-cast as a (const char *) to extract the error message.
  • For event == LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS, ed should be re-cast as a (lbm_src_event_ume_registration_t *) to extract the registration information.
  • For event == LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX, ed should be re-cast as a (lbm_src_event_ume_registration_ex_t *) to extract the extra registration information.
  • For event == LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX, ed should be re-cast as a (lbm_src_event_ume_registration_complete_ex_t *) to extract the extra registration completion information.
  • For event == LBM_SRC_EVENT_UME_MESSAGE_STABLE, ed should be re-cast as a (lbm_src_event_ume_ack_info_t *) to extract the UMP message acknowledgment information.
  • For event == LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX, ed should be re-cast as a (lbm_src_event_ume_ack_ex_info_t *) to extract the extra UMP message acknowledgment information.
  • For event == LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION, ed should be re-cast as a (lbm_src_event_ume_ack_info_t *) to extract the UMP message acknowledgment information.
  • For event == LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX, ed should be re-cast as a (lbm_src_event_ume_ack_ex_info_t *) to extract the extra UMP message acknowledgment information.
  • For event == LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED, ed should be re-cast as a (lbm_src_event_ume_ack_info_t *) to extract the UMP message acknowledgment information.
  • For event == LBM_SRC_EVENT_UME_STORE_UNRESPONSIVE, ed should be re-cast as a (const char *) to extract the UMP store name.
  • For event == LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION, ed should be re-cast as a (lbm_src_event_flight_size_notification_t *) to extract the flight size information.
  • For event == LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX, ed should be re-cast as a (lbm_src_event_ume_ack_ex_info_t *) to extract the UMP message acknowledgment information.
  • For all other event types, ed contains nothing and should be ignored.
clientd Client data pointer supplied in lbm_src_create(), etc.
Returns:
0 always

typedef lbm_uint32_t(*) lbm_src_cost_function_cb(const char *topic, const lbm_transport_source_info_t *transport, lbm_uint32_t hop_count, lbm_uint32_t cost, void *clientd)

Set via the "source_cost_evaluation_function" context attribute.

Parameters:
topic Topic for which the new source was discovered.
transport Pointer to a lbm_transport_source_info_t, describing the transport session.
hop_count Current hop count for the transport session.
cost Current cumulative cost for the transport session.
clientd Client data pointer supplied when setting "source_cost_evaluation_function" context attribute.
Returns:
Application-determined cost for this source as an unsigned 32-bit number. To permanently reject this source, return LBM_SRC_COST_FUNCTION_REJECT.

typedef struct lbm_src_event_flight_size_notification_t_stct lbm_src_event_flight_size_notification_t

A structure used to indicate a state change in flight size status

typedef struct lbm_src_event_sequence_number_info_t_stct lbm_src_event_sequence_number_info_t

A structure used with UM sources that informs the application the sequence numbers used with a message.

See also:
lbm_src_send_ex

typedef struct lbm_src_event_ume_ack_ex_info_t_stct lbm_src_event_ume_ack_ex_info_t

A structure used with UMP sources to indicate message acknowledgment by the store and UMP receivers (extended form).

typedef struct lbm_src_event_ume_ack_info_t_stct lbm_src_event_ume_ack_info_t

A structure used with UMP sources to indicate message acknowledgment by the store and UMP receivers.

typedef struct lbm_src_event_ume_deregistration_ex_t_stct lbm_src_event_ume_deregistration_ex_t

A structure used with UMP sources to indicate successful deregistration (extended form).

typedef struct lbm_src_event_ume_registration_complete_ex_t_stct lbm_src_event_ume_registration_complete_ex_t

A structure used with UMP sources to indicate successful registration to quorum or to all stores involved.

typedef struct lbm_src_event_ume_registration_ex_t_stct lbm_src_event_ume_registration_ex_t

A structure used with UMP sources to indicate successful registration (extended form).

typedef struct lbm_src_event_ume_registration_t_stct lbm_src_event_ume_registration_t

A structure used with UMP sources to indicate successful registration.

typedef struct lbm_src_event_umq_message_id_info_t_stct lbm_src_event_umq_message_id_info_t

See also:
lbm_src_send_ex A structure used with UMQ sending applications that informs the application of the UMQ Message ID used with a message.

typedef struct lbm_src_event_umq_registration_complete_ex_t_stct lbm_src_event_umq_registration_complete_ex_t

A structure used with UMQ sources to indicate successful source registration to quorum or to all queue instances involved.

typedef struct lbm_src_event_umq_stability_ack_info_ex_t_stct lbm_src_event_umq_stability_ack_info_ex_t

A structure used with UMQ source applications to indicate message acknowledgment by a queue instance.

typedef struct lbm_src_event_umq_ulb_message_info_ex_t_stct lbm_src_event_umq_ulb_message_info_ex_t

A structure used with UMQ ULB source applications to indicate message events.

typedef struct lbm_src_event_umq_ulb_receiver_info_ex_t_stct lbm_src_event_umq_ulb_receiver_info_ex_t

A structure used with UMQ ULB source applications to indicate receiver events.

typedef struct lbm_src_event_wakeup_t_stct lbm_src_event_wakeup_t

A structure used to indicate the type of source that is now unblocked.

typedef struct lbm_src_notify_func_t_stct lbm_src_notify_func_t

A structure used with options to set/get a specific callback information

typedef int(*) lbm_src_notify_function_cb(const char *topic_str, const char *src_str, void *clientd)

Set by lbm_context_attr_setopt() with option "resolver_source_notification_function". NOTE: this application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.

See also:
lbm_src_notify_func_t
Parameters:
topic_str Name of topic for which a source has been found.
src_str Source as a string. Format depends on transport type. For string formats and examples, see lbm_transport_source_info_t_stct.
clientd Client data pointer supplied in the lbm_src_notify_func_t passed to the lbm_context_attr_setopt().
Returns:
0 always.

typedef struct lbm_src_send_ex_info_t_stct lbm_src_send_ex_info_t

See also:
lbm_src_send_ex

typedef struct lbm_src_transport_stats_daemon_t_stct lbm_src_transport_stats_daemon_t

This structure holds statistics for source transports using the daemon mode. NOTE: daemon mode is deprecated and no longer available; this structure is retained for for backward compatibility only.

typedef struct lbm_src_transport_stats_t_stct lbm_src_transport_stats_t

This structure holds statistics for all source transports. The structure is filled in when statistics for source transports are requested.

typedef struct lbm_str_hash_func_ex_t_stct lbm_str_hash_func_ex_t

A structure used with options to set/get a specific hash function information.

typedef lbm_ulong_t(*) lbm_str_hash_function_cb(const char *str)

Set by lbm_context_attr_setopt() with option "resolver_string_hash_function". NOTE: this application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.

Parameters:
str String to be hashed.
Returns:
hash value 0..(lbm_ulong_t)-1

typedef lbm_ulong_t(*) lbm_str_hash_function_cb_ex(const char *str, size_t strlen, void *clientd)

Set by lbm_context_attr_setopt() with option "resolver_string_hash_function_ex". NOTE: this application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.

Parameters:
str String to be hashed.
strlen Length of str IF AVAILABLE, (lbm_ulong_t)-1 if not calculated by lbm
clientd Client data pointer supplied in in the lbm_str_hash_func_ex_t passed to the lbm_context_attr_setopt().
Returns:
hash value 0..(lbm_ulong_t)-1

typedef int(*) lbm_timer_cb_proc(lbm_context_t *ctx, const void *clientd)

Set by lbm_schedule_timer(). If this application callback is set without an event queue, it is called from the context thread and is limited in the API calls that it can make.

Parameters:
ctx Context running the timer.
clientd Client data pointer supplied in lbm_schedule_timer().
Returns:
0 always.

typedef struct lbm_timeval_t_stct lbm_timeval_t

A structure included in UM messages to indicate when the message was received by UM. A message timestamp using this can be up to 500 milliseconds prior to actual receipt time, and hence, is not suitable when accurate message-arrival-time measurements are needed.

typedef struct lbm_transport_source_info_t_stct lbm_transport_source_info_t

This structure holds the fields used to format and/or parse transport source strings. The format of these strings depends mainly on the transport type, as shown below.

Please note that the topic index field (topic_idx) may or may not be present depending on your version of UM and/or the setting for configuration option source_includes_topic_index.
See also:
lbm_transport_source_format lbm_transport_source_parse

typedef struct lbm_ucast_resolver_entry_t_stct lbm_ucast_resolver_entry_t

A structure used with options to get/set information about unicast resolver daemons.

typedef void*(*) lbm_ume_ctx_rcv_ctx_notification_create_function_cb(const ume_liveness_receiving_context_t *rcv, void *clientd)

Set by lbm_context_attr_setopt() with option "lbm_context_attr_ume_receiver_liveness_notify_func". NOTE: this application callback is always made from the context thread and is therefore limited in the UM API calls it can make.

See also:
lbm_ume_rcv_ctx_notification_func_t
Parameters:
const struct ume_liveness_receiving_context_t
clientd Client data pointer supplied in the lbm_ume_rcv_ctx_notification_func_t passed to lbm_context_attr_setopt() with the "ume_receiver_context_detection_function" attribute.
Returns:
void pointer to be set for the "unresponsive" event when this ume_liveness_receiving_context_t is declared unresponsive.

typedef int(*) lbm_ume_ctx_rcv_ctx_notification_delete_function_cb(const ume_liveness_receiving_context_t *rcv, void *clientd, void *source_clientd)

Set by lbm_context_attr_setopt() with option "lbm_context_attr_ume_receiver_liveness_notify_func". NOTE: this application callback is always made from the context thread and is therefore limited in the UM API calls it can make.

See also:
lbm_ume_ctx_rcv_ctx_notification_func_t
Parameters:
const struct lbm_ume_liveness_rcv_context_t
clientd Client data pointer supplied in the lbm_ume_ctx_rcv_ctx_notification_func_t passed to lbm_context_attr_setopt() with the "ume_receiver_context_deletion_function" attribute.
Returns:
0 if success -1 if failure.

typedef struct lbm_ume_ctx_rcv_ctx_notification_func_t_stct lbm_ume_ctx_rcv_ctx_notification_func_t

A Structure used with options to set/get a specific callback function

typedef struct lbm_ume_rcv_recovery_info_ex_func_info_t_stct lbm_ume_rcv_recovery_info_ex_func_info_t

A structure used with UMP receiver recovery sequence number information callbacks to pass in information as well as return low sequence number information.

See also:
lbm_ume_rcv_recovery_info_ex_func_t

typedef struct lbm_ume_rcv_recovery_info_ex_func_t_stct lbm_ume_rcv_recovery_info_ex_func_t

A struct used with options to set/get a specific callback function

typedef int(*) lbm_ume_rcv_recovery_info_ex_function_cb(lbm_ume_rcv_recovery_info_ex_func_info_t *info, void *clientd)

Set by lbm_rcv_topic_attr_setopt() with option "ume_recovery_sequence_number_info_function". NOTE: this application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.

See also:
lbm_ume_rcv_recovery_info_ex_func_t
Parameters:
info Structure to hold recovery sequence number information in an extended form
clientd Client data pointer supplied in the lbm_ume_rcv_recovery_info_ex_func_t passed to lbm_rcv_topic_attr_setopt() with the "ume_recovery_sequence_number_info_function" attribute.
Returns:
0 always

typedef struct lbm_ume_rcv_regid_ex_func_info_t_stct lbm_ume_rcv_regid_ex_func_info_t

A structure used with UMP receiver registration ID callbacks to pass in information.

See also:
lbm_ume_rcv_regid_func_t

typedef struct lbm_ume_rcv_regid_ex_func_t_stct lbm_ume_rcv_regid_ex_func_t

A structure used with options to set/get a specific callback function

typedef lbm_uint_t(*) lbm_ume_rcv_regid_ex_function_cb(lbm_ume_rcv_regid_ex_func_info_t *info, void *clientd)

Set by lbm_rcv_topic_attr_setopt() with option "ume_registration_extended_function". NOTE: this application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.

See also:
lbm_ume_rcv_regid_ex_func_t
Parameters:
info Structure holding registration information in an extended form
clientd Client data pointer supplied in the lbm_ume_rcv_regid_ex_func_t passed to lbm_rcv_topic_attr_setopt() with the "ume_registration_extended_function" attribute.
Returns:
Registration ID to be used by receiver for given source and topic.

typedef struct lbm_ume_rcv_regid_func_t_stct lbm_ume_rcv_regid_func_t

A structure used with options to set/get a specific callback function

typedef lbm_uint_t(*) lbm_ume_rcv_regid_function_cb(const char *src_str, lbm_uint_t src_regid, void *clientd)

Set by lbm_rcv_topic_attr_setopt() with option "ume_registration_function". NOTE: this application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.

See also:
lbm_ume_rcv_regid_func_t
Parameters:
src_str Name of the source for the ID.
src_regid Registration ID for the source for this topic.
clientd Client data pointer supplied in the lbm_ume_rcv_regid_func_t passed to lbm_rcv_topic_attr_setopt() with the "ume_registration_function" attribute.
Returns:
Registration ID to be used by receiver for given source and topic.

typedef struct lbm_ume_src_force_reclaim_func_t_stct lbm_ume_src_force_reclaim_func_t

A structure used with options to set/get a specific callback function

typedef int(*) lbm_ume_src_force_reclaim_function_cb(const char *topic_str, lbm_uint_t seqnum, void *clientd)

Set by lbm_src_topic_attr_setopt() with option "ume_force_reclaim_function". NOTE: this application callback is always made from the context thread and is therefore limited in the UM API calls it can make.

See also:
lbm_ume_src_force_reclaim_func_t
Parameters:
topic_str Name of the topic for the reclaim
seqnum Sequence Number that is reclaimed
clientd Client data pointer supplied in the lbm_ume_src_force_reclaim_func_t passed to lbm_src_topic_attr_setopt() with the "ume_force_reclaim_function" attribute.
Returns:
0 always.

typedef struct lbm_ume_store_entry_t_stct lbm_ume_store_entry_t

A structure used with options to get/set information for a UMP store

typedef struct lbm_ume_store_group_entry_t_stct lbm_ume_store_group_entry_t

A structure used with options to get/set information for a UMP store group

typedef struct lbm_ume_store_name_entry_t_stct lbm_ume_store_name_entry_t

A structure used with options to get/set information for a UMP store

typedef struct lbm_umq_index_info_t_stct lbm_umq_index_info_t

A structure used with UM sources and receivers to associated UMQ Indices with messages.

typedef struct lbm_umq_msg_total_lifetime_info_t_stct lbm_umq_msg_total_lifetime_info_t

A structure used with UMQ sources to specify a message's total lifetime.

typedef struct lbm_umq_msgid_t_stct lbm_umq_msgid_t

See also:
lbm_umq_regid_t A structure used with UMQ messages to identify a message uniquely.

typedef struct lbm_umq_queue_entry_t_stct lbm_umq_queue_entry_t

A struct used with options to get/set Registration ID information for UMQ queues

typedef lbm_uint64_t lbm_umq_regid_t

Registration ID used for UMQ contexts for both sources and receivers

typedef struct lbm_umq_ulb_application_set_attr_t_stct lbm_umq_ulb_application_set_attr_t

A struct used with options to get/set UMQ ULB application set attributes

typedef struct lbm_umq_ulb_receiver_type_attr_t_stct lbm_umq_ulb_receiver_type_attr_t

A struct used with options to get/set UMQ ULB receiver type attributes

typedef struct lbm_umq_ulb_receiver_type_entry_t_stct lbm_umq_ulb_receiver_type_entry_t

A struct used with options to get/set UMQ ULB Receiver Type entries

typedef struct lbm_wildcard_rcv_compare_func_t_stct lbm_wildcard_rcv_compare_func_t

A structure used with options to set/get a specific application callback pattern type.

typedef int(*) lbm_wildcard_rcv_compare_function_cb(const char *topic_str, void *clientd)

Set by lbm_wildcard_rcv_attr_setopt() with option "pattern_callback". NOTE: this application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.

See also:
lbm_wildcard_rcv_compare_func_t
Parameters:
topic_str Name of topic to be checked for match.
clientd Client data pointer supplied in the lbm_wildcard_rcv_compare_func_t passed to lbm_wildcard_rcv_attr_setopt() with the "pattern_callback" attribute.
Returns:
0 for match and 1 for no match.

typedef struct lbm_wildcard_rcv_create_func_t_stct lbm_wildcard_rcv_create_func_t

A structure used with options to set/get a specific wildcard topic receiver creation callback type.

typedef int(*) lbm_wildcard_rcv_create_function_cb(const char *topic_str, lbm_rcv_topic_attr_t *attr, void *clientd)

Set by lbm_wildcard_rcv_attr_setopt() with option "receiver_create_callback". NOTE: this application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.

See also:
lbm_wildcard_rcv_create_func_t
Parameters:
topic_str Name of topic which was matched, and for which a receiver will be created.
attr Pointer to an lbm_rcv_topic_attr_t which has been initialized with the receiver options which will be used to create the receiver.
clientd Client data pointer supplied in the lbm_wildcard_rcv_create_func_t passed to lbm_wildcard_rcv_attr_setopt() with the "receiver_create_callback" attribute.
Returns:
Always return 0.

typedef struct lbm_wildcard_rcv_delete_func_t_stct lbm_wildcard_rcv_delete_func_t

A structure used with options to set/get a specific wildcard topic receiver deletion callback type.

typedef int(*) lbm_wildcard_rcv_delete_function_cb(const char *topic_str, void *clientd)

Set by lbm_wildcard_rcv_attr_setopt() with option "receiver_delete_callback". NOTE: this application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.

See also:
lbm_wildcard_rcv_delete_func_t
Parameters:
topic_str Name of topic which was matched, and for which a receiver will be deleted.
clientd Client data pointer supplied in the lbm_wildcard_rcv_delete_func_t passed to lbm_wildcard_rcv_attr_setopt() with the "receiver_delete_callback" attribute.
Returns:
Always return 0.

typedef struct ume_liveness_receiving_context_t_stct ume_liveness_receiving_context_t

A structure used to hold a receiving context's user rcv regid and session id. Source contexts use this information to track receiver liveness.


Function Documentation

LBMExpDLL int lbm_apphdr_chain_append_elem ( lbm_apphdr_chain_t *  chain,
lbm_apphdr_chain_elem_t elem 
)

Parameters:
chain Pointer to an app header chain.
elem Pointer to a user-created app header element.
Returns:
0 for success, -1 for failure

LBMExpDLL int lbm_apphdr_chain_create ( lbm_apphdr_chain_t **  chain  ) 

Parameters:
chain Pointer to a pointer to an app header chain. This will be filled in with the newly created chain.
Returns:
0 for success, -1 for failure

LBMExpDLL int lbm_apphdr_chain_delete ( lbm_apphdr_chain_t *  chain  ) 

Parameters:
chain Pointer to an app header chain.
Returns:
0 for success, -1 for failure

LBMExpDLL int lbm_apphdr_chain_iter_create ( lbm_apphdr_chain_iter_t **  chain_iter,
lbm_apphdr_chain_t *  chain 
)

Parameters:
chain_iter Pointer to a pointer to an lbm_apphdr_chain_iter_t structure to be filled in.
chain Pointer to an app header chain from which to create the iterator.
Returns:
0 if the iterator points to the first element in the chain, -1 if there are no elements in the chain

LBMExpDLL int lbm_apphdr_chain_iter_create_from_msg ( lbm_apphdr_chain_iter_t **  chain_iter,
lbm_msg_t msg 
)

Parameters:
chain_iter Pointer to a pointer to an lbm_apphdr_chain_elem_t structure to be filled in
msg Pointer to a UM message from which to retrieve the app header chain.
Returns:
0 if the iterator points to the first element in the chain, -1 if there are no elements in the chain

LBMExpDLL lbm_apphdr_chain_elem_t* lbm_apphdr_chain_iter_current ( lbm_apphdr_chain_iter_t **  chain_iter  ) 

Parameters:
chain_iter Pointer to pointer to an lbm_apphdr_chain_iter_t iterator.
Returns:
lbm_apphdr_chain_elem_t pointer to the current app header chain element.

LBMExpDLL int lbm_apphdr_chain_iter_delete ( lbm_apphdr_chain_iter_t *  chain_iter  ) 

Parameters:
chain_iter Pointer to an lbm_apphdr_chain_iter_t created by one of the lbm_apphdr_chain_iter_create functions.
Returns:
0 for success, -1 for failure

LBMExpDLL int lbm_apphdr_chain_iter_done ( lbm_apphdr_chain_iter_t **  chain_iter  ) 

Parameters:
chain_iter Pointer to pointer to an lbm_apphdr_chain_iter_t iterator.
Returns:
1 if there is a next element in an app header chain, 0 otherwise.

LBMExpDLL int lbm_apphdr_chain_iter_first ( lbm_apphdr_chain_iter_t **  chain_iter  ) 

Parameters:
chain_iter Pointer to pointer to an lbm_apphdr_chain_iter_t iterator.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_apphdr_chain_iter_next ( lbm_apphdr_chain_iter_t **  chain_iter  ) 

Parameters:
chain_iter Pointer to pointer to an lbm_apphdr_chain_iter_t iterator.
Returns:
0 for Success, -1 for failure if there is no next element in the chain (iterator is unmodified).

LBMExpDLL int lbm_async_operation_cancel ( lbm_async_operation_handle_t  handle,
int  flags 
)

Calling this function will cause the associated aynchronous operation's async operation callback function to be called with a canceled status. If the operation could not be canceled (either it has already completed, it never existed, or it is currently executing and past the point of no return), then -1 is returned and lbm_errnum() is set to indicate why the operation could not be canceled. Otherwise, 0 is returned for a successful cancel, indicating that the operation was found and guaranteed to have been truly canceled.

Warning:
It is generally not safe to call this function from within an asynchronous operation callback for the same handle that is being canceled. There is one exception: it is safe to call cancel on a handle from within the initial LBM_ASYNC_OP_STATUS_IN_PROGRESS that delivers the handle; this is in fact a reasonable way to simulate a non-blocking synchronous call.

Once an operation has been canceled, any associated lbm_async_operation_info_t objects are no longer valid and should not be accessed. This includes access to the opinfo parameter from within an initial LBM_ASYNC_OP_STATUS_IN_PROGRESS callback at any point in that callback after cancel has been called.

Parameters:
handle Handle to the asynchronous operation.
flags Flags to affect the behavior of the cancel. ORed set of values.
  • LBM_ASYNC_OPERATION_CANCEL_FLAG_NONBLOCK - If operation cannot be canceled immediately, return without canceling. The default behavior is to block until the operation can be successfully canceled.
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_async_operation_status ( lbm_async_operation_handle_t  handle,
int  flags 
)

Calling this function will cause the associated aynchronous operation's async operation callback function to be called with current status information. This is a merely a polling mechanism, and the information returned is guaranteed to be correct only for the duration of the async operation callback function. It may change immediately afterwards.

Warning:
It is not safe to call this function from within an asynchronous operation callback for the same handle that status is being requested for.
Parameters:
handle Handle to the asynchronous operation.
flags Flags to affect the behavior of the status request. ORed set of values.
  • LBM_ASYNC_OPERATION_STATUS_FLAG_NONBLOCK - If the operation's status cannot be retrieved immediately, just return without blocking. The default behavior is to block until the operation's status can be retrieved.
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_auth_set_credentials ( lbm_context_t *  ctx,
const char *  name,
size_t  name_len,
const char *  passwd,
size_t  passwd_len,
lbm_cred_callback_fn  cbfn,
void *  clientd,
int  auth_required 
)

Calling this function will set the credential of the user and make the requirement for the authentication. There are two ways to set credential: either setting the user's name and password parameters or passing the callback function pointer to retrieve credential information. The callback function method will override the credentials set by the input parameters. Once the parameter of auth_required is set to "1", the authentication results will be examed and errors will be reported if authenticatin checks fail. If the "auth_required" is set to "0", then the authentication failure will be ignored and there is no impact on the undergoing process.

Parameters:
ctx LBM context object.
name the user name string.
name_len the length of the user name string.
passwd the user password string.
passwd_len the length of the user password string.
cbfn the callback function pointer.
clientd the parameter of the callback function.
auth_required the variable to require authentication service
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_authstorage_addtpnam ( const char *  username,
const char *  pass,
unsigned char  flags 
)

Calling this function will generate new credential entry for the user and save it to the password file. Setting parameter of "flags" to "1" will overwrite the existing entry for the same user.

Parameters:
username the user's name string.
pass the password string.
flags overwritting flag.
Returns:
negative values for Failure or 0 and passitive values for Success.

LBMExpDLL int lbm_authstorage_checkpermission ( char *  username,
char *  command 
)

Calling this function will check if the user is authorized to execute the specified command.

Parameters:
username the user's name string.
command the command string.
Returns:
-1 for Failure or 0 for Denial or 1 for Success.

LBMExpDLL void lbm_authstorage_close_storage_xml ( void   ) 

Calling this function will release the storage object created by lbm_authstorage_open_storage_xml().

Parameters:
None. 
Returns:
None.

LBMExpDLL int lbm_authstorage_deltpnam ( const char *  username  ) 

Calling this function will remove the credential entry for the user from the password file.

Parameters:
username the user's name string.
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_authstorage_load_roletable (  ) 

Calling this function will create an internal data object to hold the role table from the password file.

Parameters:
None. 
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_authstorage_open_storage_xml ( char *  filename  ) 

Calling this function will create the storage object which contains all users' authentication and authorization information from the XML password file with the name specified in the input parameter. If that file does not exist, a default password information will be used instead.

Parameters:
filename the xml file name string.
Returns:
0 for Success or negative for failure (-1:invalid parameter; -2: storage exist; -3: creation failed)

LBMExpDLL int lbm_authstorage_print_roletable (  ) 

Calling this function will print out the role table saved in the internal data object created by lbm_authstorage_load_roletable() function.

Parameters:
None. 
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_authstorage_roletable_add_role_action ( const char *  rolename,
const char *  action 
)

Calling this function will authorize users assuming the specified role to perform the assigned action.

Parameters:
rolename the role name string.
action the action name string
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_authstorage_unload_roletable (  ) 

Calling this function will release the role table saved in the internal data object.

Parameters:
None. 
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_authstorage_user_add_role ( const char *  username,
const char *  role 
)

Calling this function will add a new role entry for the specified user to the password file.

Parameters:
username the user's name string.
role the role string.
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_authstorage_user_del_role ( const char *  username,
const char *  role 
)

Calling this function will remove the role entry for the specified user from the password file.

Parameters:
username the user's name string.
role the role string.
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_cancel_fd ( lbm_context_t *  ctx,
lbm_handle_t  handle,
lbm_ulong_t  ev 
)

Cancel a previously registered file descriptor/socket event. Note that there are rare circumstances where this function can return while the fd callback may still be executing. If the application needs to know when all possible processing on the fd is complete, it must use lbm_cancel_fd_ex().

See also:
lbm_register_fd
Warning:
It is not recommended to call this function from a context thread callback.
Parameters:
ctx Pointer to the UM context object.
handle file descriptor/socket of interest for event.
ev One or more of LBM_FD_EVENT_* (ORed to together). Mask of events to cancel.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_cancel_fd_ex ( lbm_context_t *  ctx,
lbm_handle_t  handle,
lbm_ulong_t  ev,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Cancel a previously registered file descriptor/socket event, with an application callback indicating when the fd is fully canceled. This extended version of the fd cancel function requires the configuration option queue_cancellation_callbacks_enabled be set to 1.

See also:
lbm_register_fd
Parameters:
ctx Pointer to the UM context object.
handle file descriptor/socket of interest for event.
ev Mask of events to cancel.
cbinfo Cancellation callback information, containing the event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_cancel_timer ( lbm_context_t *  ctx,
int  id,
void **  clientdp 
)

Cancel a previously scheduled timer. The timer is identified by the return value of the lbm_schedule_timer() function. If the passed-in timer ID is not valid, this cancel function returns success, which occurs if the passed-in timer ID has already fired or if the timer ID is garbage. Note that there are rare circumstances where this function can return while the timer callback may still be executing. If the application needs to know when all possible processing on the timer is complete, it must use lbm_cancel_timer_ex().

See also:
lbm_schedule_timer
Parameters:
ctx Pointer to the UM context object.
id The identifier specifying the timer to cancel
clientdp Pointer to a client data pointer. This function sets it to the client data pointer supplied by the lbm_schedule_timer(). If the caller does not need the client data, it can pass NULL as clientdp.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_cancel_timer_ex ( lbm_context_t *  ctx,
int  id,
void **  clientdp,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Cancel a previously scheduled timer, with an application callback indicating when the timer is fully canceled. The timer is identified by the return value of the lbm_schedule_timer() function. If the passed-in timer ID is not valid, this cancel function returns success, which occurs if the passed-in timer ID has already fired or if the timer ID is garbage. This extended version of the timer cancel function requires the configuration option queue_cancellation_callbacks_enabled be set to 1.

See also:
lbm_schedule_timer
Parameters:
ctx Pointer to the UM context object.
id The identifier specifying the timer to cancel
clientdp Pointer to a client data pointer. This function sets it to the client data pointer supplied by the lbm_schedule_timer(). If the caller does not need the client data, it can pass NULL as clientdp.
cbinfo Cancellation callback information, containing the event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_config ( const char *  fname  ) 

Parameters:
fname String containing the file name or URL (tftp or http) that contains the options to parse and set. File names with a ".xml" extension will be passed to lbm_config_xml_file() with a NULL application name.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_config_xml_file ( const char *  url,
const char *  application_name 
)

Parse the xml configuration file specified by url, and apply the configuration for the given application name. UM XML configuration may only be loaded once in the lifetime of a process. If the LBM_UMM_INFO or LBM_XML_CONFIG_FILENAME environment variables are set and they are successful in setting UM XML configuration, this API will have no effect and return -1.

Parameters:
url String containing the path to the XML configuration file. A URL beginning with http:// or ftp:// may also be provided.
application_name The name of this application which must match an application tag in the XML configuration file. This parameter may be NULL, in which case the application tag with no name is matched.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_config_xml_string ( const char *  xml_data,
const char *  application_name 
)

Parse the xml configuration data contained in xml_data, and apply the configuration for the given application name. UM XML configuration may only be loaded once in the lifetime of a process. If the LBM_UMM_INFO or LBM_XML_CONFIG_FILENAME environment variables are set and they are successful in setting UM XML configuration, this API will have no effect and return -1.

Parameters:
xml_data String containing UM XML configuration data.
application_name The name of this application which must match an application tag in the XML configuration data. This parameter may be NULL, in which case the application tag with no name is matched.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_attr_create ( lbm_context_attr_t **  attr  ) 

The attribute object is allocated and filled with the current default values that are used by lbm_context_t objects and may have been modified by a previously loaded configuration file.

Parameters:
attr A pointer to a pointer to a UM context attribute structure. Will be filled in by this function to point to the newly created lbm_context_attr_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_attr_create_default ( lbm_context_attr_t **  attr  ) 

The attribute object is allocated and filled with the initial or factory default values built into LBM that are used by lbm_context_t objects.

Parameters:
attr A pointer to a pointer to a UM context attribute structure. Will be filled in by this function to point to the newly created lbm_context_attr_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_attr_create_from_xml ( lbm_context_attr_t **  attr,
const char *  context_name 
)

The attribute object is allocated and filled with the current default values that are used by lbm_context_t objects and may have been modified by a previously loaded configuration file. Then, if an XML configuration file has been loaded, the attribute object is further filled with the defaults for the given context name. If the context name is not permitted by the XML configuration, -1 is returned and no attribute object is created.

Parameters:
attr A pointer to a pointer to a UM context attribute structure. Will be filled in by this function to point to the newly created lbm_context_attr_t object.
context_name The context name used to lookup this context in the XML configuration. A NULL value is permitted, and will match unnamed contexts defined in the XML. The context name is also written into the attribute object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_attr_delete ( lbm_context_attr_t *  attr  ) 

The attribute object is cleaned up and deleted.

Parameters:
attr Pointer to a UM context attribute object as returned by lbm_context_attr_create.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_attr_dump ( lbm_context_attr_t *  cattr,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with context configuration options

Parameters:
cattr The context attribute object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_context_attr_dup ( lbm_context_attr_t **  attr,
const lbm_context_attr_t *  original 
)

A new attribute object is created as a copy of an existing object.

Parameters:
attr A pointer to a pointer to a UM context attribute structure. Will be filled in by this function to point to the newly created lbm_context_attr_t object.
original Pointer to a UM context attribute object as returned by lbm_context_attr_create or lbm_context_attr_create_default, from which attr is initialized.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_attr_getopt ( lbm_context_attr_t *  attr,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM context attributed object.
optname String containing the option name.
optval Pointer to the option value structure to be filled. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure when passed in. Upon return, this is set to the size of the optval filled in structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_attr_option_size (  ) 

The function returns the number of entries that are of type "context"

Returns:
The number of entries that are of type "context"

LBMExpDLL int lbm_context_attr_set_from_xml ( lbm_context_attr_t *  attr,
const char *  context_name 
)

The attribute object is filled with the default values for the given context name, if an XML configuration file has been loaded. If the context name is not permitted by the XML configuration, -1 is returned and no values are set.

Parameters:
attr A pointer to a UM context attribute structure.
context_name The context name used to lookup this context in the XML configuration. A NULL value is permitted, and will match unnamed contexts defined in the XML. The context name is also written into the attribute object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_attr_setopt ( lbm_context_attr_t *  attr,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Used before the context is created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM context attribute object.
optname String containing the option name.
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_attr_str_getopt ( lbm_context_attr_t *  attr,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM context attributed object.
optname String containing the option name.
optval Pointer to the string to be filled in.
optlen Maximum length (in bytes) of the string when passed in. Upon return, this is set to the size of the formatted string.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_attr_str_setopt ( lbm_context_attr_t *  attr,
const char *  optname,
const char *  optval 
)

Used before the context is created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM context attributed object.
optname String containing the option name.
optval String containing the option value. The format of the string is specific to the option itself.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_create ( lbm_context_t **  ctxp,
const lbm_context_attr_t *  attr,
lbm_daemon_event_cb_proc  proc,
void *  clientd 
)

This creates an instance of the UM main processing element, a UM context. Sources and Receivers are created from a UM context and work within that context. For the Embedded operational mode, a thread is spawned to handle event processing. For Sequential operational mode, the application "donates" an execution thread by calling lbm_context_process_events().

See also:
lbm_context_delete()
Parameters:
ctxp A pointer to a pointer to a UM context object. Will be filled in by this function to point to the newly created lbm_context_t object.
attr A pointer to a UM context attribute object. A value of NULL will use default attributes.
proc A callback function to call when events occur on the UM daemon connection. NOTE: daemon mode is no longer available; this parameter is retained for for backward compatibility only. Please pass NULL.
clientd Client data to pass into the UM daemon event callback. NOTE: daemon mode is no longer available; this parameter is retained for for backward compatibility only. Please pass NULL.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_delete ( lbm_context_t *  ctx  ) 

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
ctx Pointer to a UM context object to delete.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_delete_ex ( lbm_context_t *  ctx,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
ctx Pointer to a UM context object to delete.
cbinfo Cancellation callback information, containing the event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_context_dump ( lbm_context_t *  ctx,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with context configuration options

Parameters:
ctx The context object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL lbm_context_t* lbm_context_from_rcv ( lbm_rcv_t *  rcv  ) 

Parameters:
rcv Pointer to a UM receiver object.
Returns:
A pointer to the UM context object associated with the UM receiver object.

LBMExpDLL lbm_context_t* lbm_context_from_src ( lbm_src_t *  src  ) 

Parameters:
src Pointer to a UM source object.
Returns:
A pointer to the UM context object associated with the UM source object.

LBMExpDLL lbm_context_t* lbm_context_from_wildcard_rcv ( lbm_wildcard_rcv_t *  wcrcv  ) 

Parameters:
wcrcv Pointer to a UM wildcard receiver object.
Returns:
A pointer to the LBM context object associated with the LBM wildcard receiver object.

LBMExpDLL int lbm_context_get_name ( lbm_context_t *  ctx,
char *  name,
size_t *  size 
)

Parameters:
ctx Pointer to an existing UM context object.
name Pointer to a buffer into which is stored the context name.
size Pointer to a variable holding the size of the buffer. If the buffer is not large enough, this will be filled in with the required size.

LBMExpDLL int lbm_context_getopt ( lbm_context_t *  ctx,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
ctx Pointer to a UM context object where the option is stored.
optname String containing the option name.
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen When passed, this is the max length (in bytes) of the optval structure. When returned, this is the length of the filled in optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_lbtipc_unblock ( lbm_context_t *  ctx  ) 

When transport_lbtipc_receiver_operational_mode is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"), then it is the responsibility of the application to explicitly process LBT-IPC messages for the UM context. This function allows an application to cause lbm_context_process_lbtipc_messages() to immediately return instead of continuing to process messages.

Parameters:
ctx Pointer to the UM context object.

LBMExpDLL int lbm_context_process_events ( lbm_context_t *  ctx,
lbm_ulong_t  msec 
)

When opmode is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"), then it is the responsibility of the application to explicitly process events for the UM context. This function will process timers and file descriptor/socket events for internal processing as well as API timer and file descriptor/socket events. The application thread that is processing events must remain active until the context is deleted.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
ctx Pointer to the UM context object.
msec Continue event processing loop for at least msec milliseconds before returning.
Returns:
0 for Success and -1 for Failure.
Note:
It is the responsibility of the application to "unblock" this function using "lbm_context_unblock()" and cease further calls before deleting the UM context.

LBMExpDLL int lbm_context_process_lbtipc_messages ( lbm_context_t *  ctx,
lbm_ulong_t  msec,
lbm_ulong_t  loop_count 
)

When transport_lbtipc_receiver_operational_mode is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"), then it is the responsibility of the application to explicitly process LBT-IPC messages for the UM context. This function will satisfy that requirement.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
ctx Pointer to the UM context object.
msec Only used if transport_lbtipc_receiver_thread_behavior is set to "pend". The timeout in milliseconds of the pend waiting for new data (actual Operating System resolution may vary). Defaults to no timeout on Operating Systems that do not support a timeout (e.g. Mac OS X). A value of zero will result in "busy_wait" like behavior on all Operating Systems.
loop_count Number of loops before returning whether or not data has been received. Zero results in looping forever.
Returns:
0 for Success and -1 for Failure.
Note:
It is the responsibility of the application to "unblock" this function using lbm_context_lbtipc_unblock() and cease further calls before deleting the UM context.

LBMExpDLL int lbm_context_rcv_immediate_msgs ( lbm_context_t *  ctx,
lbm_immediate_msg_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq 
)

Parameters:
ctx Pointer to a UM context object that listens for messages.
proc Pointer to a function to call when a message arrives.
clientd Client data passed when a message is delivered.
evq Optional Event Queue to place messages on when they arrive. If NULL causes proc to be called from context thread.

LBMExpDLL int lbm_context_rcv_immediate_topic_msgs ( lbm_context_t *  ctx,
lbm_immediate_msg_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq 
)

Parameters:
ctx Pointer to a UM context object that listens for messages.
proc Pointer to a function to call when a message arrives.
clientd Client data passed when a message is delivered.
evq Optional Event Queue to place messages on when they arrive. If NULL causes proc to be called from context thread.

LBMExpDLL int lbm_context_reactor_only_create ( lbm_context_t **  ctxp,
const lbm_context_attr_t *  attr 
)

This creates an instance of the UM main processing element, a UM context. However, this version of the context is only usable for timer and file descriptor event handling. It can not be used for source or receiver creation, etc. For the Embedded operational mode, a thread is spawned to handle event processing. For Sequential operational mode, the application "donates" an execution thread by calling lbm_context_process_events().

See also:
lbm_context_create
Parameters:
ctxp A pointer to a pointer to a UM context object. Will be filled in by this function to point to the newly created lbm_context_t object.
attr A pointer to a UM context attribute object. A value of NULL will use default attributes.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_reset_im_rcv_transport_stats ( lbm_context_t *  ctx  ) 

Parameters:
ctx Pointer to the UM context to reset statistics for.
stats Pointer to a stats structure to fill in.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_context_reset_im_src_transport_stats ( lbm_context_t *  ctx  ) 

Parameters:
ctx Pointer to the UM context to reset statistics for.
stats Pointer to a stats structure to fill in.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_context_reset_rcv_transport_stats ( lbm_context_t *  ctx  ) 

Parameters:
ctx Pointer to the UM context to reset statistics for.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_context_reset_src_transport_stats ( lbm_context_t *  ctx  ) 

Parameters:
ctx Pointer to the UM context to reset statistics for.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_context_reset_stats ( lbm_context_t *  ctx  ) 

Parameters:
ctx Pointer to the UM context to reset statistics for.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_context_retrieve_im_rcv_transport_stats ( lbm_context_t *  ctx,
int *  num,
int  size,
lbm_rcv_transport_stats_t stats 
)

Parameters:
ctx Pointer to the UM context to retrieve statistics for.
num Pointer to an integer that must hold the maximum number of elements in the stats array when passed in. Upon return, this value is set to the number of sources filled in.
size Size in bytes of each entry in stats
stats Array of lbm_rcv_transport_stats_t objects to fill in transport stats for.
Returns:
-1 for Failure and 0 for Success.
Note:
If -1 is returned, and lbm_errnum() returns LBM_EINVAL, then *num may contain a larger number than the value originally passed into this function. This return value represents the number of lbm_rcv_transport_stats_t objects required in the stats array and can be used to dynamically determine how many entries are needed.

LBMExpDLL int lbm_context_retrieve_im_src_transport_stats ( lbm_context_t *  ctx,
int *  num,
int  size,
lbm_src_transport_stats_t stats 
)

Parameters:
ctx Pointer to the UM context to retrieve statistics for.
num Pointer to an integer that must hold the maximum number of elements in the stats array when passed in. Upon return, this value is set to the number of sources filled in.
size Size in bytes of each entry in stats
stats Array of lbm_src_transport_stats_t objects to fill in transport stats for.
Returns:
-1 for Failure and 0 for Success.
Note:
If -1 is returned, and lbm_errnum() returns LBM_EINVAL, then *num may contain a larger number than the value originally passed into this function. This return value represents the number of lbm_src_transport_stats_t objects required in the stats array and can be used to dynamically determine how many entries are needed.

LBMExpDLL int lbm_context_retrieve_rcv_transport_stats ( lbm_context_t *  ctx,
int *  num,
lbm_rcv_transport_stats_t stats 
)

Parameters:
ctx Pointer to the UM context to retrieve statistics for.
num Pointer to an integer that must hold the maximum number of elements in the stats array when passed in. Upon return, this value is set to the number of sources filled in.
stats Array of lbm_rcv_transport_stats_t objects to fill in transport stats for.
Returns:
-1 for Failure and 0 for Success.
Note:
If -1 is returned, and lbm_errnum() returns LBM_EINVAL, then *num may contain a larger number than the value originally passed into this function. This return value represents the number of lbm_rcv_transport_stats_t objects required in the stats array and can be used to dynamically determine how many entries are needed.

LBMExpDLL int lbm_context_retrieve_src_transport_stats ( lbm_context_t *  ctx,
int *  num,
lbm_src_transport_stats_t stats 
)

Parameters:
ctx Pointer to the UM context to retrieve statistics for.
num Pointer to an integer that must hold the maximum number of elements in the stats array when passed in. Upon return, this value is set to the number of sources filled in.
stats Array of lbm_src_transport_stats_t objects to fill in transport stats for.
Returns:
-1 for Failure and 0 for Success.
Note:
If -1 is returned, and lbm_errnum() returns LBM_EINVAL, then *num may contain a larger number than the value originally passed into this function. This return value represents the number of lbm_src_transport_stats_t objects required in the stats array and can be used to dynamically determine how many entries are needed.

LBMExpDLL int lbm_context_retrieve_stats ( lbm_context_t *  ctx,
lbm_context_stats_t stats 
)

Parameters:
ctx Pointer to the UM context to retrieve statistics for.
stats Pointer to a stats structure to fill in.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_context_set_name ( lbm_context_t *  ctx,
const char *  name 
)

Parameters:
ctx Pointer to an existing UM context object.
name The context name. Context names are limited in length to 128 characters (not including the final null) and restricted to alphanumeric characters, hyphens, and underscores.

LBMExpDLL int lbm_context_setopt ( lbm_context_t *  ctx,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_context_attr_*().

Parameters:
ctx Pointer to a UM context object where the option is to be set.
optname String containing the option name.
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_str_getopt ( lbm_context_t *  ctx,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
ctx Pointer to a UM context object where the option is stored.
optname String containing the option name.
optval String to hold the option value.
optlen When passed, this is the max length (in bytes) of the string. When returned, this is the length of the filled in option value.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_str_setopt ( lbm_context_t *  ctx,
const char *  optname,
const char *  optval 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_context_attr_*().

Parameters:
ctx Pointer to a UM context object where the option is to be set.
optname String containing the option name.
optval String containing the option value. The format of the string is specific to the options themselves.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_context_topic_resolution_request ( lbm_context_t *  ctx,
lbm_ushort_t  flags,
lbm_ulong_t  interval_msec,
lbm_ulong_t  duration_sec 
)

Parameters:
ctx Pointer to a UM context object.
flags Flags indicating desired requests. ORed set of values.
  • LBM_TOPIC_RES_REQUEST_ADVERTISEMENT - Request advertisements from quiescent sources.
  • LBM_TOPIC_RES_REQUEST_QUERY - Request queries from quiescent receivers.
  • LBM_TOPIC_RES_REQUEST_WILDCARD_QUERY - Request queries from quiescent wildcard receivers.
interval_msec Interval between requests in milliseconds. Less than 10 should be used with caution. Less than 5 is not recommended.
duration_sec Minimum duration of requests in seconds. Actual duration can be longer depending upon the interval. A value of zero will result in 1 request and the interval will be meaningless.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_context_unblock ( lbm_context_t *  ctx  ) 

When opmode is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"), then it is the responsibility of the application to explicitly process events for the UM context. This function allows an application to cause lbm_process_events() to immediately return instead of continuing to process events.

Parameters:
ctx Pointer to the UM context object.

LBMExpDLL lbm_uint64_t lbm_create_random_id (  ) 

Returns:
a random 64 bit long.

LBMExpDLL int lbm_ctx_umq_get_inflight ( lbm_context_t *  ctx,
const char *  qname,
int *  inflight,
lbm_flight_size_set_inflight_cb_proc  proc,
void *  clientd 
)

See also:
lbm_flight_size_set_inflight_cb_proc
Parameters:
ctx Pointer to the context.
qname Name of the queue.
inflight Pointer to an int whose value will be filled in to reflect the current inflight.
proc Optional callback that allows an application to set the current inflight.
clientd Optional client data passed into the proc.
Returns:
0 for Success, -1 for failure if the proc returns a negative value.

LBMExpDLL int lbm_ctx_umq_queue_topic_list ( lbm_context_t *  ctx,
const char *  queue_name,
lbm_async_operation_func_t async_opfunc 
)

The returned list of topics is complete once the asynchronous operation callback is called with an LBM_ASYNC_OP_STATUS_COMPLETE. Each returned lbm_umq_queue_topic_t object also contains the application sets associated with that topic and receiver type IDs associated with each application set.

See also:
lbm_umq_queue_topic_t
Parameters:
ctx LBM context object.
queue_name Name of the queue to retrieve a topic list from.
async_opfunc The asynchronous operation callback the topic list will be delivered to.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_debug_dump ( const char *  filename,
int  append 
)

Parameters:
filename to open and dump debug log events to
append Flag to indicate that the dump should be appended to the file or overwrite the file

LBMExpDLL void lbm_debug_filename ( const char *  filename  ) 

Warning:
May be overridden by environment variable
Parameters:
filename to open and send log events to

LBMExpDLL void lbm_debug_mask ( lbm_uint64_t  mask  ) 

Warning:
May be overridden by environment variable
Parameters:
mask of debug log events to log (contact support for more information)

LBMExpDLL lbm_response_t* lbm_deserialize_response ( lbm_context_t *  ctx,
lbm_serialized_response_t serialized_response 
)

De-serializes a serialized UM response object, making it usable for lbm_send_response(). Note that the returned lbm_response_t object should be treated as any other normal response object, and deleted by the application using lbm_response_delete() as appropriate.

Parameters:
ctx A pointer to a UM context object.
serialized_response A pointer to a serialized UM response object.
Returns:
A pointer to a lbm_response_t object.

LBMExpDLL const char* lbm_errmsg ( void   ) 

Returns:
Pointer to a static char array holding the error message.

LBMExpDLL int lbm_errnum ( void   ) 

Returns:
Integer error number.

LBMExpDLL int lbm_event_dispatch ( lbm_event_queue_t *  evq,
lbm_ulong_t  tmo 
)

Parameters:
evq Event Queue that holds the events to dispatch.
tmo The number of milliseconds to block before returning from the function. Note that if no events are posted, the call will continue to block even after the time has past. See https://communities.informatica.com/infakb/faq/5/Pages/80007.aspx for details. In addition to numeric values, the following special values are valid:
  • LBM_EVENT_QUEUE_BLOCK - block indefinitely processing events.
  • LBM_EVENT_QUEUE_POLL - poll and dispatch a single event and return.
Returns:
> 0 for Success (number returned is the number of events serviced) or -1 for Failure.

LBMExpDLL int lbm_event_dispatch_unblock ( lbm_event_queue_t *  evq  ) 

This function enqueues a special event into the event queue that, when processed, causes the thread calling lbm_event_dispatch to return.

Parameters:
evq Event Queue on which to enqueue the UNBLOCK event.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_attr_create ( lbm_event_queue_attr_t **  attr  ) 

The attribute object is allocated and filled with the current default values that are used by lbm_event_queue_t objects and may have been modified by a previously loaded configuration file.

Parameters:
attr A pointer to a pointer to a UM event queue attribute structure. Will be filled in by this function to point to the newly created lbm_event_queue_attr_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_attr_create_default ( lbm_event_queue_attr_t **  attr  ) 

The attribute object is allocated and filled with the initial or factory default values built into LBM that are used by lbm_event_queue_t objects that concern receivers.

Parameters:
attr A pointer to a pointer to a UM event queue attribute structure. Will be filled in by this function to point to the newly created lbm_event_queue_attr_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_attr_create_from_xml ( lbm_event_queue_attr_t **  attr,
const char *  event_queue_name 
)

The attribute object is allocated and filled with the current default values that are used by lbm_event_queue_t objects and may have been modified by a previously loaded configuration file. Then, if an XML configuration file has been loaded, the attribute object is further filled with the defaults for the given event queue name. If the event queue name is not permitted by the XML configuration, -1 is returned and no attribute object is created.

Parameters:
attr A pointer to a pointer to a UM event queue attribute structure. Will be filled in by this function to point to the newly created lbm_event_queue_attr_t object.
event_queue_name The event queue name used to lookup this event queue in the XML configuration. A NULL value is permitted, and will match unnamed event queues defined in the XML. The event queue name is also written into the attribute object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_attr_delete ( lbm_event_queue_attr_t *  attr  ) 

The attribute object is cleaned up and deleted.

Parameters:
attr Pointer to a UM event queue attribute object as returned by lbm_event_queue_attr_create.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_attr_dump ( lbm_event_queue_attr_t *  eattr,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with event queue configuration options

Parameters:
eattr The event queue attribute object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_event_queue_attr_dup ( lbm_event_queue_attr_t **  attr,
const lbm_event_queue_attr_t *  original 
)

A new attribute object is created as a copy of an existing object.

Parameters:
attr A pointer to a pointer to a UM event queue attribute structure. Will be filled in by this function to point to the newly created lbm_event_queue_attr_t object.
original Pointer to a UM event queue attribute object as returned by lbm_event_queue_attr_create or lbm_event_queue_attr_create_default, from which attr is initialized.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_attr_getopt ( lbm_event_queue_attr_t *  attr,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM event queue attribute object where the option is stored
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen When passed, this is the max length (in bytes) of the optval structure. When returned, this is the length of the filled in optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_attr_option_size (  ) 

The function returns the number of entries that are of type "event queue"

Returns:
The number of entries that are of type "event queue"

LBMExpDLL int lbm_event_queue_attr_set_from_xml ( lbm_event_queue_attr_t *  attr,
const char *  event_queue_name 
)

The attribute object is filled with the default values for the given event queue name, if an XML configuration file has been loaded. If the event queue name is not permitted by the XML configuration, -1 is returned and no values are set.

Parameters:
attr A pointer to a UM event queue attribute structure.
event_queue_name The event queue name used to lookup this event queue in the XML configuration. A NULL value is permitted, and will match unnamed event queues defined in the XML. The event queue name is also written into the attribute object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_attr_setopt ( lbm_event_queue_attr_t *  attr,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Used before the event queue is created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM event queue attribute object where the option is to be set
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_attr_str_getopt ( lbm_event_queue_attr_t *  attr,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM event queue attribute object where the option is stored
optname String containing the option name
optval String to be filled in with the option value.
optlen When passed, this is the max length (in bytes) of the string. When returned, this is the length of the filled in option value.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_attr_str_setopt ( lbm_event_queue_attr_t *  attr,
const char *  optname,
const char *  optval 
)

Used before the event queue is created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM event queue attribute object where the option is to be set
optname String containing the option name
optval String containing the option value. The format of the string is specific to the options themselves.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_create ( lbm_event_queue_t **  evqp,
lbm_event_queue_monitor_proc  proc,
void *  clientd,
const lbm_event_queue_attr_t *  attr 
)

This function creates an event queue that may be passed in several functions in order for events/callbacks to be queued for execution.

Parameters:
evqp A pointer to a pointer for the lbm_event_queue_t object created to be stored.
proc Pointer to function to call when monitoring the event queue.
clientd Client data returned in the callback proc proc.
attr A pointer to an event queue attribute object or NULL for default attributes.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_delete ( lbm_event_queue_t *  evq  ) 

Warning:
An event queue should not be deleted before all other dependent objects (source, receivers, and timers using the event queue) have also been deleted or canceled.
Parameters:
evq Event Queue to be deleted.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_dump ( lbm_event_queue_t *  evq,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with event queue configuration options

Parameters:
evq The event queue object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL lbm_event_queue_t* lbm_event_queue_from_rcv ( lbm_rcv_t *  rcv  ) 

Parameters:
rcv Pointer to a UM receiver object.
Returns:
A pointer to the UM event queue object associated with the UM receiver object.

LBMExpDLL lbm_event_queue_t* lbm_event_queue_from_src ( lbm_src_t *  src  ) 

Parameters:
src Pointer to a UM source object.
Returns:
A pointer to the UM event queue object associated with the UM source object.

LBMExpDLL lbm_event_queue_t* lbm_event_queue_from_wildcard_rcv ( lbm_wildcard_rcv_t *  wcrcv  ) 

Parameters:
wcrcv Pointer to a UM wildcard receiver object.
Returns:
A pointer to the LBM event queue object associated with the LBM wildcard receiver object.

LBMExpDLL int lbm_event_queue_getopt ( lbm_event_queue_t *  evq,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
evq Pointer to a UM event queue object where the option is stored
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen When passed, this is the max length (in bytes) of the optval structure. When returned, this is the length of the filled in optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_reset_stats ( lbm_event_queue_t *  evq  ) 

Parameters:
evq Pointer to the UM event queue to reset statistics for.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_event_queue_retrieve_stats ( lbm_event_queue_t *  evq,
lbm_event_queue_stats_t stats 
)

Parameters:
evq Pointer to the UM event queue to retrieve statistics for.
stats Pointer to a stats structure to fill in.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_event_queue_setopt ( lbm_event_queue_t *  evq,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_event_queue_attr_*().

Parameters:
evq Pointer to a UM event queue where the option is to be set
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_shutdown ( lbm_event_queue_t *  evq  ) 

Parameters:
evq Event Queue to shutdown.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_size ( lbm_event_queue_t *  evq  ) 

This call is only supported when the queue_size_warning config variable is set. If not set, then this function will return -1 and set an EINVAL error.

Parameters:
evq Event Queue to determine the size for.
Returns:
> 0 indicates the size of the event queue and -1 for Failure.

LBMExpDLL int lbm_event_queue_str_getopt ( lbm_event_queue_t *  evq,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
evq Pointer to a UM event queue object where the option is stored
optname String containing the option name
optval String to be filled in with the option value.
optlen When passed, this is the max length (in bytes) of the string. When returned, this is the length of the filled in with the option value.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_event_queue_str_setopt ( lbm_event_queue_t *  evq,
const char *  optname,
const char *  optval 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_event_queue_attr_*().

Parameters:
evq Pointer to a UM event queue object where the option is to be set
optname String containing the option name
optval String containing the option value. The format of the string is specific to the options themselves.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL char* lbm_get_jms_msg_id ( lbm_uint64_t  source_id,
lbm_uint64_t  seqno_id,
char *  topic 
)

Returns:
a JMS Message ID string.

LBMExpDLL int lbm_hf_rcv_create ( lbm_hf_rcv_t **  hfrcvp,
lbm_context_t *  ctx,
lbm_topic_t *  topic,
lbm_rcv_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq 
)

Warning:
It is not safe to call this function from a context thread callback.
See also:
lbm_rcv_create
Parameters:
hfrcvp A pointer to a pointer to a UM Hot Failover (HF) receiver object. Will be filled in by this function to point to the newly created lbm_fd_rcv_t object.
ctx Pointer to the LBM context object associated with the sender.
topic Pointer to the LBM topic object associated with the desired receiver topic.
Warning:
Topic references should not be reused. Each lbm_hf_rcv_create() call should be preceded by a call to lbm_rcv_topic_lookup().
Parameters:
proc Pointer to a function to call when messages arrive.
clientd Pointer to client data that is passed when data arrives and proc is called.
evq Optional Event Queue to place message events on when they arrive. If NULL causes proc to be called from context thread.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hf_rcv_delete ( lbm_hf_rcv_t *  hfrcv  ) 

Delete a UM Hot Failover (HF) receiver object. Note that this function can return while the receivercallback may still be executing if receiver events are being delivered via an event queue. If the application needs to know when all possible processing on the receiver is complete, it must use lbm_hf_rcv_delete_ex().

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
hfrcv Pointer to a UM HF receiver object to delete.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hf_rcv_delete_ex ( lbm_hf_rcv_t *  hfrcv,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Delete a UM Hot Failover (HF) receiver object, with an application callback indicating when the receiver is fully canceled. This extended version of the receiver delete function requires the configuration option queue_cancellation_callbacks_enabled be set to 1.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
hfrcv Pointer to a UM HF receiver object to delete.
cbinfo Cancellation callback information, containing the event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL lbm_hf_rcv_t* lbm_hf_rcv_from_rcv ( lbm_rcv_t *  rcv  ) 

Parameters:
rcv Pointer to a UM receiver object.
Returns:
Pointer to a UM HF receiver for the receiver object or NULL if none exists.

LBMExpDLL int lbm_hf_rcv_topic_dump ( lbm_hf_rcv_t *  hfrcv,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with receiver configuration options

Parameters:
hfrcv The HF receiver object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_hf_src_create ( lbm_src_t **  srcp,
lbm_context_t *  ctx,
lbm_topic_t *  topic,
lbm_src_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq 
)

See also:
lbm_src_create
Warning:
It is not safe to call this function from a context thread callback.
Parameters:
srcp A pointer to a pointer to a UM source object. Will be filled in by this function to point to the newly created lbm_src_t object.
ctx Pointer to the LBM context object associated with the sender.
topic Pointer to the LBM topic object associated with the destination of messages sent by the source.
proc Pointer to a function to call when events occur related to the source. If NULL, then events are not delivered to the source.
clientd Pointer to client data that is passed when proc is called.
evq Optional Event Queue to place events on when they occur. If NULL causes proc to be called from context thread.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hf_src_send ( lbm_src_t *  src,
const char *  msg,
size_t  len,
lbm_uint_t  sqn,
int  flags 
)

The LBM source must have been created with lbm_hf_src_create and not lbm_src_create

See also:
lbm_src_send
Warning:
It is not recommended to call this function from a context thread callback. If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Parameters:
src Pointer to the LBM source to send from
msg Pointer to the data to send in this message
len Length (in bytes) of the data to send in this message
sqn The application sequence number to associate with this message.
flags Flags indicating various conditions. ORed set of values.
  • LBM_MSG_START_BATCH - Message starts a batch of messages
  • LBM_MSG_END_BATCH - Message ends a batch of messages. Batch should be sent to the implicit batching buffer.
  • LBM_MSG_COMPLETE_BATCH - Message constitutes a complete batch and should be sent to the implicit batching buffer.
  • LBM_MSG_FLUSH - Message is to be sent ASAP (not implicitly or explicitly batched). This also flushes waiting messages that were explicitly or implicitly batched.
  • LBM_SRC_NONBLOCK - If message could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the message is sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_hf_src_send_ex ( lbm_src_t *  src,
const char *  msg,
size_t  len,
lbm_uint_t  sqn,
int  flags,
lbm_src_send_ex_info_t exinfo 
)

The LBM source must have been created with lbm_hf_src_create and not lbm_src_create

See also:
lbm_src_send_ex
Warning:
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.

Calling this function from a context thread callback for stability and confirmation events could cause a deadlock

Parameters:
src Pointer to the LBM source to send from
msg Pointer to the data to send in this message
len Length (in bytes) of the data to send in this message
sqn The application sequence number to associate with this message.
flags Flags indicating various conditions. ORed set of values.
  • LBM_MSG_START_BATCH - Message starts a batch of messages
  • LBM_MSG_END_BATCH - Message ends a batch of messages. Batch should be sent to the implicit batching buffer.
  • LBM_MSG_COMPLETE_BATCH - Message constitutes a complete batch and should be sent to the implicit batching buffer.
  • LBM_MSG_FLUSH - Message is to be sent ASAP (not implicitly or explicitly batched). This also flushes waiting messages that were explicitly or implicitly batched.
  • LBM_SRC_NONBLOCK - If message could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the message is sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
exinfo Pointer to lbm_src_send_ex_info_t options that includes the 32 or 64 bit hot-failover sequence number to send.
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_hf_src_send_rcv_reset ( lbm_src_t *  src,
int  flags,
lbm_src_send_ex_info_t exinfo 
)

Send a message that instructs hot-failover receivers to reset their state. In, and only in, the case that hf receivers cannot be manually restarted, this function can be used to allow delivering of previously sent sequence numbers. The hot-failover receiver will deliver a message of type LBM_MSG_HF_RESET and will include the new expected sequence number. The sequence number contained with the reset will be used as the next expected sequence number to be sent. The LBM source must have been created with lbm_hf_src_create and not lbm_src_create.

NOTE: The best way to reset a hot-failover receiver's state is to restart the receiver itself. This function should be used only when that is impossible.

Parameters:
src Pointer to the LBM source to send from, must be a hot failover source
exinfo Pointer to the lbm_src_send_ex_info_t containing the hf sequence number
Returns:
-1 for Failure or 0 for Success

LBMExpDLL int lbm_hf_src_sendv ( lbm_src_t *  src,
const lbm_iovec_t iov,
int  num,
lbm_uint_t  sqn,
int  flags 
)

The LBM source must have been created with lbm_hf_src_create and not lbm_src_create. The message is specified as an array of iovecs.

NOTE: Unlike lbm_src_sendv, which by default sends N number of messages where N is the length of the iovec; lbm_hf_src_sendv will gather the elements of the array into one message.

See also:
lbm_hf_src_sendv
Warning:
It is not recommended to call this function from a context thread callback. If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Parameters:
src Pointer to the LBM source to send from.
iov Pointer to an array of iovecs that hold message information.
num Number of elements of the iov array to send.
sqn The application sequence number to associate with this message.
flags Flags indicating various conditions. ORed set of values.
  • LBM_MSG_START_BATCH - Messages start a batch of messages
  • LBM_MSG_END_BATCH - Messages end a batch of messages. Batch should be sent to the implicit batching buffer.
  • LBM_MSG_COMPLETE_BATCH - Messages constitute a complete batch and should be sent to the implicit batching buffer.
  • LBM_MSG_FLUSH - Messages are to be sent ASAP (not implicitly batched or explicitly batched).
  • LBM_SRC_NONBLOCK - If messages could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the messages are all sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_hf_src_sendv_ex ( lbm_src_t *  src,
const lbm_iovec_t iov,
int  num,
lbm_uint_t  sqn,
int  flags,
lbm_src_send_ex_info_t exinfo 
)

The LBM source must have been created with lbm_hf_src_create and not lbm_src_create. The message is specified as an array of iovecs.

NOTE: Unlike lbm_src_sendv, which by default sends N number of LBM Messages where N is the length of the iovec array; lbm_hf_src_sendv will gather the elements of the array into a single message.

See also:
lbm_hf_src_sendv_ex
Warning:
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.

Calling this function from a context thread callback for stability and confirmation events could cause a deadlock

Parameters:
src Pointer to the LBM source to send from
iov Pointer to an array of iovecs that hold message information.
num Number of elements of the iov array to send.
sqn The application sequence number to associate with this message.
flags Flags indicating various conditions. ORed set of values.
  • LBM_MSG_START_BATCH - Message starts a batch of messages
  • LBM_MSG_END_BATCH - Message ends a batch of messages. Batch should be sent to the implicit batching buffer.
  • LBM_MSG_COMPLETE_BATCH - Message constitutes a complete batch and should be sent to the implicit batching buffer.
  • LBM_MSG_FLUSH - Message is to be sent ASAP (not implicitly or explicitly batched). This also flushes waiting messages that were explicitly or implicitly batched.
  • LBM_SRC_NONBLOCK - If message could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the message is sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
exinfo Pointer to lbm_src_send_ex_info_t options which includes the 32 or 64 bit hot-failover sequence number to send.
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_hfx_attr_create ( lbm_hfx_attr_t **  attr  ) 

The attribute object is allocated and filled with the current default values that are used by lbm_hfx_t objects and may have been modified by a previously loaded configuration file.

Parameters:
attr A pointer to a pointer to a UM hfx attributes structure. Will be filled in by this function to point to the newly created lbm_hfx_attr_t object.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_hfx_attr_create_default ( lbm_hfx_attr_t **  attr  ) 

The attribute object is allocated and filled with the initial or factory default values built into LBM that are used by lbm_hfx_t objects.

Parameters:
attr A pointer to a pointer to a UM hfx attribute structure. Will be filled in by this function to point to the newly created lbm_hfx_attr_t object.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_hfx_attr_create_from_xml ( lbm_hfx_attr_t **  attr,
const char *  topicname 
)

The attribute object is allocated and filled with the current default values that are used by lbm_hfx_t objects and may have been modified by a previously loaded configuration file. Then, if an XML configuration file has been loaded, the attribute object is further filled with the defaults for the given topic name. If the topic name is not permitted by the XML configuration, -1 is returned and no attribute object is created.

Parameters:
attr A pointer to a pointer to a UM hfx attribute structure. Will be filled in by this function to point to the newly created lbm_hfx_attr_t object.
topicname The topic name used to lookup this topic in the XML configuration.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_attr_delete ( lbm_hfx_attr_t *  attr  ) 

The attribute object is cleaned up and deleted.

Parameters:
attr Pointer to a UM hfx attribute object as returned by lbm_hfx_attr_create.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_attr_dump ( lbm_hfx_attr_t *  attr,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with HFX configuration options

Parameters:
cattr The HFX attribute object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_hfx_attr_dup ( lbm_hfx_attr_t **  attr,
const lbm_hfx_attr_t *  original 
)

A new attribute object is created as a copy of an existing object.

Parameters:
attr A pointer to a pointer to a UM hfx attribute structure. Will be filled in by this function to point to the newly created lbm_hfx_attr_t object.
original Pointer to a UM hfx attribute object as returned by lbm_hfx_attr_create or lbm_hfx_attr_create_default, from which attr is initialized.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_attr_getopt ( lbm_hfx_attr_t *  attr,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM hfx attributed object.
optname String containing the option name.
optval Pointer to the option value structure to be filled. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure when passed in. Upon return, this is set to the size of the optval filled in structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_attr_option_size (  ) 

Returns:
The number of entries that are of type "hfx"

LBMExpDLL int lbm_hfx_attr_set_from_xml ( lbm_hfx_attr_t *  attr,
const char *  topicname 
)

The attribute object is filled with the default values for the given topic name, if an XML configuration file has been loaded. If the topic name is not permitted by the XML configuration, -1 is returned and no values are set.

Parameters:
attr A pointer to a UM hfx attribute structure.
topicname The topic name used to lookup this topic in the XML configuration.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_attr_setopt ( lbm_hfx_attr_t *  attr,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Used before the hfx is created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM hfx attribute object.
optname String containing the option name.
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_attr_str_getopt ( lbm_hfx_attr_t *  attr,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM hfx attributed object.
optname String containing the option name.
optval Pointer to the string to be filled in.
optlen Maximum length (in bytes) of the string when passed in. Upon return, this is set to the size of the formatted string.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_attr_str_setopt ( lbm_hfx_attr_t *  attr,
const char *  optname,
const char *  optval 
)

Used before the hfx is created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM hfx attributed object.
optname String containing the option name.
optval String containing the option value. The format of the string is specific to the option itself.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_create ( lbm_hfx_t **  hfxp,
lbm_hfx_attr_t *  cattr,
const char *  symbol,
lbm_rcv_cb_proc  proc,
lbm_event_queue_t *  evq 
)

See also:
lbm_hfx_delete()
Parameters:
hfxp A pointer to a pointer to a UM hfx object. Will be filled in by this function to point to the newly created lbm_hfx_t object.
cattr A pointer to a UM hfx attribute object. A value of NULL will use default attributes.
symbol The symbol string to be used for all hot failover receivers managed by this HFX.
proc Pointer to a function to call when messages arrive.
evq Optional Event Queue to place message events on when they arrive. If NULL, causes proc to be called from context thread.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_delete ( lbm_hfx_t *  hfx  ) 

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
hfx Pointer to a UM hfx object to delete.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_delete_ex ( lbm_hfx_t *  hfx,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

See also:
lbm_hf_rcv_delete_ex or

lbm_rcv_delete_ex, this extended callback can be used whether or not an event queue is associated with the HFX.

Warning:
It is not safe to call this function from a context thread callback.

When deleting an hfx object, wait for the delete_ex callback before deleting any of the associated contexts.

Parameters:
hfx Pointer to an LBM hfx object to delete.
cbinfo Cancellation callback information containing the (optional) event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_dump ( lbm_hfx_t *  hfx,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with HFX configuration options

Parameters:
hfx The HFX object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_hfx_getopt ( lbm_hfx_t *  hfx,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
hfx Pointer to a UM hfx object where the option is stored.
optname String containing the option name.
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen When passed, this is the max length (in bytes) of the optval structure. When returned, this is the length of the filled in optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_rcv_create ( lbm_hfx_rcv_t **  hfrcvp,
lbm_hfx_t *  hfx,
lbm_context_t *  ctx,
lbm_rcv_topic_attr_t *  rattr,
void *  clientd 
)

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
hfrcvp A pointer to a pointer to a UM hfx_rcv_t object. Will be filled in by this function to point to the newly created lbm_hfx_rcv_t object.
hfx An lbm_hfx_t object created by
See also:
lbm_hfx_create
Parameters:
ctx The lbm_context_t object on which to create the new receiver.
rattr The receiver attributes to be used when creating new hot failover receivers.
clientd Pointer to client data to be delivered when a message is received and the lbm_hfx_t object's proc is called.

LBMExpDLL int lbm_hfx_rcv_delete ( lbm_hfx_rcv_t *  hfrcv  ) 

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
hfrcv Pointer to a UM HFX receiver object to delete.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_hfx_rcv_delete_ex ( lbm_hfx_rcv_t *  hfrcv,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Delete a UM Hot Failover receiver object, with an application callback indicating when the receiver is fully cancelled. This extended version of the receiver delete function requires the configuration option queue_cancellation_callbacks_enabled to be set to 1 if an event queue is in use.

Unlike

See also:
lbm_hf_rcv_delete_ex or

lbm_rcv_delete_ex, this extended callback can be used whether or not an event queue is associated with the HFX. This allows an application to delete a receiver from a single context and be notified when any messages currently held in the order map are no longer required.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
hfrcv Pointer to a UM HFX receiver to delete.
cbinfo Cancellation callback information containing the (optional) event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_rcv_topic_dump ( lbm_hfx_rcv_t *  hfxrcv,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with receiver configuration options

Parameters:
hfxrcv The HFX receiver object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_hfx_setopt ( lbm_hfx_t *  hfx,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_hfx_attr_*().

Parameters:
hfx Pointer to a UM hfx object where the option is to be set.
optname String containing the option name.
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_str_getopt ( lbm_hfx_t *  hfx,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
hfx Pointer to a UM hfx object where the option is stored.
optname String containing the option name.
optval String to hold the option value.
optlen When passed, this is the max length (in bytes) of the string. When returned, this is the length of the filled in option value.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_hfx_str_setopt ( lbm_hfx_t *  hfx,
const char *  optname,
const char *  optval 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_hfx_attr_*().

Parameters:
hfx Pointer to a UM hfx object where the option is to be set.
optname String containing the option name.
optval String containing the option value. The format of the string is specific to the options themselves.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_is_ume_capable ( void   ) 

Returns:
1 if the library is capable of UME operations, 0 if the library is not capable of UME operations.

LBMExpDLL int lbm_is_umq_capable ( void   ) 

Returns:
1 if the library is capable of UMQ operations, 0 if the library is not capable of UMQ operations.

LBMExpDLL int lbm_license_file ( const char *  licfile  ) 

Parameters:
licfile String containing the name of a file that contains the UM license. This string is the same as that which would otherwise be specified as the value of the LBM_LICENSE_FILENAME environmental variable.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_license_str ( const char *  licstr  ) 

Parameters:
licstr String containing the UM license. This string is the same as that which would otherwise be specified as the value of the LBM_LICENSE_INFO environmental variable.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_log ( lbm_log_cb_proc  proc,
void *  clientd 
)

Parameters:
proc Function to call when a log message is generated.
clientd Client data to pass when a log message is generated.
Returns:
0 on Success and -1 for Failure

LBMExpDLL void lbm_logf ( int  level,
const char *  format,
  ... 
)

Parameters:
level Message log level (see LBM_LOG_*).
format printf style format string, followed by zero or more arguments.

LBMExpDLL int lbm_msg_delete ( lbm_msg_t msg  ) 

This should only be called if the message was previously saved via lbm_msg_retain(). Any associated lbm_response_t objects for this message are cleaned up automatically in this function.

Note:
A receive callback should never delete the message that was passed in. It should either let UM delete it when the callback returns, or it should retain it and delete it later.
Parameters:
msg Pointer to a UM message object to delete.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL lbm_ume_rcv_ack_t* lbm_msg_extract_ume_ack ( lbm_msg_t msg  ) 

See also:
lbm_ume_ack_delete
Parameters:
msg Pointer to the message object from which to extract the ack structure.
Returns:
the ack structure for Success, NULL for failure.

LBMExpDLL int lbm_msg_is_fragment ( lbm_msg_t msg  ) 

Parameters:
msg Pointer to a UM message object to retrieve fragment information from.
info Pointer to fragment information structure to fill in.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_msg_properties_clear ( lbm_msg_properties_t *  properties,
const char *  name 
)

See also:
lbm_msg_properties_create

lbm_msg_properties_set

lbm_msg_properties_get

Parameters:
properties Properties object from which the named property should be cleared.
name Property to be cleared.
Returns:
LBM_OK for success, LBM_FAILURE if the property was not present.

LBMExpDLL int lbm_msg_properties_create ( lbm_msg_properties_t **  properties  ) 

See also:
lbm_src_send_ex

lbm_msg_properties_delete

lbm_msg_properties_set

lbm_msg_properties_get

Parameters:
properties A pointer to a pointer to be filled in by this function.
Returns:
LBM_OK for success, LBM_FAILURE for failure if the memory cannot be allocated.

LBMExpDLL int lbm_msg_properties_delete ( lbm_msg_properties_t *  properties  ) 

See also:
lbm_src_send_ex

lbm_msg_properties_create

lbm_msg_properties_set

lbm_msg_properties_get

Parameters:
properties A pointer to a properties object.
Returns:
LBM_OK for success, LBM_FAILURE for failure.

LBMExpDLL int lbm_msg_properties_get ( lbm_msg_properties_t *  properties,
const char *  name,
void *  value,
int *  type,
size_t *  size 
)

See also:
lbm_src_send_ex

lbm_msg_properties_create

lbm_msg_properties_get

Parameters:
properties The properties object that the new value should be retrieved from
name The name of the property to be retrieved
value A pointer to the memory to be filled in with the value.
type A pointer to the type the value should be retrieved as. If the specified type is not compatible with the property, this field will be filled in with the required type.
size A pointer to a size_t holding the size of the memory block available to be filled in. If a block of insufficient size is specified, this field will be filled in with the required size. For string types, the block of memory must be of sufficient size to hold the string as well as the null terminator.
Returns:
LBM_OK for success, LBM_FAILURE for failure, and changes the current value of lbm_errnum() and lbm_errstr().

LBMExpDLL int lbm_msg_properties_iter_create ( lbm_msg_properties_iter_t **  iterp  ) 

See also:
lbm_msg_properties_iter_first to begin iterating over a properties object.
Parameters:
iterp A pointer to a pointer that will be filled in with the newly-created iterator object.
Returns:
LBM_OK for success, LBM_FAILURE for failure.

LBMExpDLL int lbm_msg_properties_iter_delete ( lbm_msg_properties_iter_t iter  ) 

See also:
lbm_msg_properties_iter_create
Parameters:
iter A pointer to an iterator created via
See also:
lbm_msg_properties_iter_create
Returns:
LBM_OK for success, LBM_FAILURE for failure.

LBMExpDLL int lbm_msg_properties_iter_first ( lbm_msg_properties_iter_t iter,
lbm_msg_properties_t *  properties 
)

See also:
lbm_msg_properties_t object, starting at the first element. Calling lbm_msg_properties_iter_first associates an iterator with a properties object, and sets its current position to the first property available. An iterator can be used to iterate over more than one properties object as long as lbm_msg_properties_iter_first is called to associate it with each new properties object.

lbm_msg_properties_iter_next

Parameters:
iter An iterator object allocated via
See also:
lbm_msg_properties_iter_create
Parameters:
properties A properties object, either retrieved from an lbm_msg_t, or created via
See also:
lbm_msg_properties_create
Returns:
LBM_OK for success, LBM_FAILURE if there are no elements contained in the properties object.

LBMExpDLL int lbm_msg_properties_iter_next ( lbm_msg_properties_iter_t iter  ) 

See also:
lbm_msg_properties_t object.

lbm_msg_properties_iter_first

lbm_msg_properties_iter_prev

Parameters:
iter Iterate to the next element in the currently associated lbm_msg_properties_t object.
Returns:
LBM_OK for success, LBM_FAILURE if the iterator already points to the last element.

LBMExpDLL int lbm_msg_properties_set ( lbm_msg_properties_t *  properties,
const char *  name,
const void *  value,
int  type,
size_t  size 
)

See also:
lbm_src_send_ex

lbm_msg_properties_create

lbm_msg_properties_get

Parameters:
properties The properties object that the new value should be set on
name The name of the property to be set
value The value to set.
type The type of value being specified.
size The size of the value being specified. For string types, the specified number of bytes will be copied, and a null terminator will be appended.
Returns:
LBM_OK for success, LBM_FAILURE for failure, and changes the current value of lbm_errnum() and lbm_errstr().

LBMExpDLL int lbm_msg_retain ( lbm_msg_t msg  ) 

This function should be called from inside a receiver callback function to prevent UM from automatically deleting the message when the callback function returns (LBM's normal behavior).

Once retained, the application has the responsibility to dispose of the message when it is finished with it by calling lbm_msg_delete().

Parameters:
msg Pointer to a UM message object to retain.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_msg_retrieve_fragment_info ( lbm_msg_t msg,
lbm_msg_fragment_info_t info 
)

Parameters:
msg Pointer to a UM message object
Returns:
1 for Success and 0 for Failure.

LBMExpDLL int lbm_msg_retrieve_gateway_info ( lbm_msg_t msg,
lbm_msg_gateway_info_t info 
)

Parameters:
msg Pointer to a UM message object to retrieve gateway information from.
info Pointer to gateway information structure to fill in.
Returns:
0 for Success and -1 for Failure.
Deprecated:

LBMExpDLL int lbm_msg_retrieve_msgid ( lbm_msg_t msg,
lbm_umq_msgid_t id 
)

Parameters:
msg Pointer to a UM message object to retrieve UMQ Message ID info from.
id Pointer to UMQ Message ID structure to fill in.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_msg_retrieve_umq_index ( lbm_msg_t msg,
lbm_umq_index_info_t info 
)

Parameters:
msg Pointer to a UM message object to retrieve UMQ index info from.
info Pointer to UMQ index structure to fill in.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_msg_ume_can_send_explicit_ack ( lbm_msg_t msg  ) 

Parameters:
msg Pointer to a UM message object to acknowledge up to.
Returns:
1 for true and 0 for False.

LBMExpDLL int lbm_msg_ume_send_explicit_ack ( lbm_msg_t msg  ) 

This function causes a UMP Explicit ACK to be sent that acknowledges previous messages since the last UMP Explicit ACK for the source was performed.

Parameters:
msg Pointer to a UM message object to acknowledge up to.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_msg_umq_reassign ( lbm_msg_t msg,
int  flags 
)

Parameters:
msg Pointer to a UM message to request to be reassigned.
flags Flags indicating various conditions. ORed set of values.
  • LBM_MSG_UMQ_REASSIGN_FLAG_DISCARD - Message should be discarded instead of being assigned.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_multicast_immediate_message ( lbm_context_t *  ctx,
const char *  topic,
const char *  data,
size_t  len,
int  flags 
)

Warning:
Multicast immediate messages are NOT guaranteed to maintain order. A loss-recovery event can lead to messages received out of order.
Parameters:
ctx Pointer to UM context to send from
topic Topic name to send message to or NULL for non-topic. Topic names should be limited to 246 characters (not including the final null).
data Pointer to the data to send in this message
len Length (in bytes) of the data to send in this message. Multicast immediate messages must be 7866 bytes or less in length.
flags Flags indicating various conditions. ORed set of values.
  • LBM_SRC_NONBLOCK - If message could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the message is sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
  • LBM_MSG_FLUSH - Messages are to be sent ASAP (not implicitly batched).
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_multicast_immediate_request ( lbm_request_t **  reqp,
lbm_context_t *  ctx,
const char *  topic,
const char *  data,
size_t  len,
lbm_request_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq,
int  flags 
)

Warning:
Multicast immediate messages are NOT guaranteed to maintain order. A loss-recovery event can lead to messages received out of order.
Parameters:
reqp A pointer to a pointer for the lbm_request_t object created to be stored.
ctx Pointer to UM context to send from.
topic Topic name to send message to or NULL for non-topic. Topic names should be limited to 246 characters (not including the final null).
data Buffer to be included as data in the request.
len Length (in bytes) of the data to send in this message. Multicast immediate messages must be 7866 bytes or less in length.
proc Pointer to function to call when responses come in for this request.
clientd Client data returned in the callback proc proc.
evq Optional Event Queue to place message events on when they occur. If NULL causes proc to be called from context thread.
flags Flags used to instruct UM how to handle this message. See lbm_multicast_immediate_message for more information.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_queue_immediate_message ( lbm_context_t *  ctx,
const char *  qname,
const char *  topic,
const char *  data,
size_t  len,
int  flags,
lbm_src_send_ex_info_t info 
)

Parameters:
ctx Pointer to UM context to submit from.
qname Queue to submit message to. Queue names should be limited to 246 bytes characters (not including the final NULL).
topic Topic name to send message to. Topic names should be limited to 246 characters (not including the final NULL).
data Pointer to the data to send in this message
len Length (in bytes) of the data to send in this message.
flags Flags used to instruct UM how to handle this message. See lbm_unicast_immediate_message for more information.
info Pointer to lbm_src_send_ex_info_t options
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_create ( lbm_rcv_t **  rcvp,
lbm_context_t *  ctx,
lbm_topic_t *  topic,
lbm_rcv_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq 
)

The callback proc will be called to deliver data sent to the topics that the receiver has requested.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
rcvp A pointer to a pointer to a UM receiver object. Will be filled in by this function to point to the newly created lbm_rcv_t object.
ctx Pointer to the UM context object associated with the receiver.
topic Pointer to the UM topic object associated with the desired receiver topic.
Warning:
Topic references should not be reused. Each lbm_rcv_create() call should be preceded by a call to lbm_rcv_topic_lookup().
Parameters:
proc Pointer to a function to call when messages arrive.
clientd Pointer to client data that is passed when data arrives and proc is called.
evq Optional Event Queue to place message events on when they arrive. If NULL causes proc to be called from context thread.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_delete ( lbm_rcv_t *  rcv  ) 

Delete a UM receiver object. Note that there are rare circumstances where this function can return while the receiver callback may still be executing. This would only occur if receiver events are being delivered via an event queue. If the application needs to know when all possible processing on the receiver is complete, it must use lbm_rcv_delete_ex().

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
rcv Pointer to a UM receiver object to delete.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_delete_ex ( lbm_rcv_t *  rcv,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Delete a UM receiver object, with an application callback indicating when the receiver is fully canceled. This extended version of the receiver delete function requires the configuration option queue_cancellation_callbacks_enabled be set to 1.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
rcv Pointer to a UM receiver object to delete.
cbinfo Cancellation callback information, containing the event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL lbm_rcv_t* lbm_rcv_from_hf_rcv ( lbm_hf_rcv_t *  hfrcv  ) 

Parameters:
hfrcv Pointer to a UM HF receiver object.
Returns:
Pointer to a UM receiver for the LBM HF receiver object.

LBMExpDLL lbm_rcv_t* lbm_rcv_from_hfx_rcv ( lbm_hfx_rcv_t *  hfxrcv  ) 

Parameters:
hfxrcv A pointer to a UM hfx_rcv_t object.

LBMExpDLL int lbm_rcv_getopt ( lbm_rcv_t *  rcv,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
rcv Pointer to a UM receiver object where the option is stored
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen When passed, this is the max length (in bytes) of the optval structure. When returned, this is the length of the filled in optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_msg_source_clientd ( lbm_rcv_t *  rcv,
const char *  source,
void *  source_clientd 
)

Parameters:
rcv Pointer to the UM receiver to look for the source on.
source String version of the source to look for.
source_clientd Pointer value to set in subsequent messages delivered.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_rcv_reset_all_transport_stats ( lbm_rcv_t *  rcv  ) 

Parameters:
rcv Pointer to the UM receiver to reset statistics for.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_rcv_reset_transport_stats ( lbm_rcv_t *  rcv,
const char *  source 
)

Parameters:
rcv Pointer to the UM receiver to reset statistics for.
source String version of the source to reset statistics for.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_rcv_retrieve_all_transport_stats ( lbm_rcv_t *  rcv,
int *  num,
lbm_rcv_transport_stats_t stats 
)

Parameters:
rcv Pointer to the UM receiver to retrieve statistics for.
num Pointer to an integer that must hold the maximum number of elements in the stats array when passed in. Upon return, this value is set to the number of sources filled in.
stats Array of lbm_rcv_transport_stats_t objects to fill in transport stats for.
Returns:
-1 for Failure and 0 for Success.
Note:
If -1 is returned, and lbm_errnum() returns LBM_EINVAL, then *num may contain a larger number than the value originally passed into this function. This return value represents the number of lbm_rcv_transport_stats_t objects required in the stats array and can be used to dynamically determine how many entries are needed.

LBMExpDLL int lbm_rcv_retrieve_transport_stats ( lbm_rcv_t *  rcv,
const char *  source,
lbm_rcv_transport_stats_t stats 
)

Parameters:
rcv Pointer to the UM receiver to retrieve statistics for.
source String version of the source to retrieve stats for.
stats Pointer to a stats structure to fill in.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_rcv_setopt ( lbm_rcv_t *  rcv,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_rcv_topic_attr_*().

Parameters:
rcv Pointer to a UM receiver object where the option is to be set
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_str_getopt ( lbm_rcv_t *  rcv,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
rcv Pointer to a UM receiver object where the option is stored
optname String containing the option name
optval String to be filled in with the option value.
optlen When passed, this is the max length (in bytes) of the string. When returned, this is the length of the filled in with the option value.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_str_setopt ( lbm_rcv_t *  rcv,
const char *  optname,
const char *  optval 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_rcv_topic_attr_*().

Parameters:
rcv Pointer to a UM receiver object where the option is to be set
optname String containing the option name
optval String containing the option value. The format of the string is specific to the options themselves.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_subscribe_channel ( lbm_rcv_t *  rcv,
lbm_uint32_t  channel,
lbm_rcv_cb_proc  proc,
void *  clientd 
)

The callback proc will be called to deliver messages sent with the specified channel number. If NULL is specified for the proc, messages with the specified channel number will be delivered to the receiver's normal callback. If NULL is specified for the proc, any argument passed in for clientd will be ignored.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
rcv A pointer to a UM receiver object.
channel A channel number to subscribe to.
proc Pointer to a function to call when messages arrive.
clientd Pointer to clientd data that is passed when data arrives and proc is called.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_rcv_topic_attr_create ( lbm_rcv_topic_attr_t **  attr  ) 

The attribute object is allocated and filled with the current default values that are used by lbm_topic_t objects that concern receivers and may have been modified by a previously loaded configuration file.

Parameters:
attr A pointer to a pointer to a UM receiver topic attribute structure. Will be filled in by this function to point to the newly created lbm_rcv_topic_attr_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_topic_attr_create_default ( lbm_rcv_topic_attr_t **  attr  ) 

The attribute object is allocated and filled with the initial or factory default values built into LBM that are used by lbm_topic_t objects that concern receivers.

Parameters:
attr A pointer to a pointer to a UM receiver topic attribute structure. Will be filled in by this function to point to the newly created lbm_rcv_topic_attr_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_topic_attr_create_from_xml ( lbm_rcv_topic_attr_t **  attr,
const char *  context_name,
const char *  topicname 
)

The attribute object is allocated and filled with the current default values that are used by lbm_topic_t objects that concern receivers and may have been modified by a previously loaded configuration file. If an XML configuration file has been loaded, the attribute object is further filled with the defaults for the given context name and receiver topic name. If the context name or receiver topic name are not permitted by the XML configuration, -1 is returned and no attribute object is created.

Parameters:
attr A pointer to a pointer to a UM receiver topic attribute structure. Will be filled in by this function to point to the newly created lbm_rcv_topic_attr_t object.
context_name The context name used to lookup the receiver topic in the XML configuration. A NULL value is permitted, and will match unnamed contexts defined in the XML.
topicname The topic name used to lookup the receiver topic in the XML configuration. A NULL value is *not* permitted and will result in an error.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_topic_attr_delete ( lbm_rcv_topic_attr_t *  attr  ) 

The attribute object is cleaned up and deleted.

Parameters:
attr Pointer to a UM source topic attribute object as returned by lbm_rcv_topic_attr_create.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_topic_attr_dump ( lbm_rcv_topic_attr_t *  rattr,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with source topic configuration options

Parameters:
rcv The receiver topic attribute object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_rcv_topic_attr_dup ( lbm_rcv_topic_attr_t **  attr,
const lbm_rcv_topic_attr_t *  original 
)

A new attribute object is created as a copy of an existing object.

Parameters:
attr A pointer to a pointer to a UM receiver topic attribute structure. Will be filled in by this function to point to the newly created lbm_rcv_topic_attr_t object.
original Pointer to a UM receiver topic attribute object as returned by lbm_rcv_topic_attr_create or lbm_rcv_topic_attr_create_default, from which attr is initialized.

LBMExpDLL int lbm_rcv_topic_attr_getopt ( lbm_rcv_topic_attr_t *  attr,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM receiver topic attribute object where the option is stored
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen When passed, this is the max length (in bytes) of the optval structure. When returned, this is the length of the filled in optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_topic_attr_option_size (  ) 

The function returns the number of entries that are of type "source topic"

Returns:
The number of entries that are of type "source topic"

LBMExpDLL int lbm_rcv_topic_attr_set_from_xml ( lbm_rcv_topic_attr_t *  attr,
const char *  context_name,
const char *  topicname 
)

The attribute object is filled with the defaults for the given context name and receiver topic name, if an XML configuration file has been loaded. If the context name or receiver topic name are not permitted by the XML configuration, -1 is returned and the attribute object is not written to.

Parameters:
attr A pointer to a UM receiver topic attribute structure.
context_name The context name used to lookup the receiver topic in the XML configuration. A NULL value is permitted, and will match unnamed contexts defined in the XML.
topicname The topic name used to lookup the receiver topic in the XML configuration. A NULL value is *not* permitted and will result in an error.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_topic_attr_setopt ( lbm_rcv_topic_attr_t *  attr,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Used before the topic is looked up and the receiver created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM receiver topic attribute object where the option is to be set.
optname String containing the option name.
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_topic_attr_str_getopt ( lbm_rcv_topic_attr_t *  attr,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM receiver topic attribute object where the option is stored
optname String containing the option name
optval String to be filled in with the option value.
optlen When passed, this is the max length (in bytes) of the string. When returned, this is the length of the filled in option value.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_topic_attr_str_setopt ( lbm_rcv_topic_attr_t *  attr,
const char *  optname,
const char *  optval 
)

Used before the topic is looked up and the receiver created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM receiver topic attribute object where the option is to be set.
optname String containing the option name.
optval String containing the option value. The format of the string is specific to the options themselves.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_topic_dump ( lbm_rcv_t *  rcv,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with source topic configuration options

Parameters:
rcv The receiver object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_rcv_topic_lookup ( lbm_topic_t **  topicp,
lbm_context_t *  ctx,
const char *  symbol,
const lbm_rcv_topic_attr_t *  attr 
)

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
topicp A pointer to a pointer to a UM topic object. Will be filled in by this function to point to an lbm_topic_t object.
NOTE: Topic objects are cached. If a previously created topic object is found, it will be returned instead of a new object.
Parameters:
ctx Context object for topic
symbol The topic string. Topic strings should be limited in length to 246 characters (not including the final null).
attr Pointer to a receiver topic attributes object for passing in options
Note:
Setting attributes is only possible when a topic object is first created. This parameter will be ignored on subsequent lookups.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_ume_deregister ( lbm_rcv_t *  rcv  ) 

This function causes a UMP deregistration request to be sent to all stores the receiver is currently registered to, and disallows any future registrations.

Parameters:
rcv Pointer to an UM receiver object
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_rcv_umq_deregister ( lbm_rcv_t *  rcv,
const char *  queue_name 
)

Parameters:
rcv Pointer to receiver object to de-register.
queue_name Name of the queue or ULB source to deregister from. A NULL means de-register from all UMQ queues and ULB sources.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_umq_index_release ( lbm_rcv_t *  rcv,
const char *  queue_name,
lbm_umq_index_info_t index_info 
)

This function causes the UMQ indices to be assigned to another receiver.

Parameters:
rcv Pointer to receiver object that wishes to release the index.
queue_name Name of the queue to reassign the index. A NULL means reassign the index for all UMQ queues.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_umq_index_reserve ( lbm_rcv_t *  rcv,
const char *  queue_name,
lbm_umq_index_info_t index_info 
)

This function causes the UMQ queue(s) or ULB sources to assign the specified index to this receiver if the queue ever happens to see a message sent on the specified index. If the index is already assigned, an error is returned as a LBM_MSG_UMQ_INDEX_ASSIGNMENT_ERROR receiver event. Otherwise, if the reservation is successful, the receiver will get a LBM_MSG_UMQ_INDEX_ASSIGNED_EX event.

Parameters:
rcv Pointer to receiver object that wishes to release the index.
queue_name Name of the queue(s) at which to reserve the index. A NULL means reassign the index for all UMQ queues.
index_info Index to reserve, or NULL to reserve a random unused numeric index.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_umq_index_start_assignment ( lbm_rcv_t *  rcv,
const char *  queue_name 
)

Parameters:
rcv Pointer to receiver object to start assignment for.
queue_name Name of the queue to start assignment from. A NULL means start assignment from all UMQ queues.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_umq_index_stop_assignment ( lbm_rcv_t *  rcv,
const char *  queue_name 
)

This function causes new UMQ indices to not be assigned to the given receiver from the given UMQ queue(s). Messages with previously assigned UMQ indices may continue to be delivered to the given receiver from the given UMQ queue(s).

Parameters:
rcv Pointer to receiver object to stop assignment for.
queue_name Name of the queue to stop assignment from. A NULL means stop assignment from all UMQ queues.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_rcv_umq_queue_msg_list ( lbm_rcv_t *  rcv,
const char *  queue_name,
lbm_umq_msg_selector_t *  selector,
lbm_async_operation_func_t async_opfunc 
)

Results are valid once the asynchronous operation callback is called with the LBM_ASYNC_OP_STATUS_COMPLETE status. An array of lbm_umq_queue_msg_status_t objects is returned, each with its msgid field set to a valid UMQ message ID of a message that is currently in the queue within the application set to which the observer receiver belongs. All message IDs of all currently enqueued messages are returned. NOTE: The only valid field of each lbm_umq_queue_msg_status_t object will be the msgid field; all other fields will be NULL or 0 and should not be relied upon to be accurate.

Parameters:
rcv Pointer to observer receiver object
queue_name Name of the queue to retrieve the list of messages from.
selector Not currently supported; please pass NULL.
async_opfunc The asynchronous operation callback the topic list will be delivered to.

LBMExpDLL int lbm_rcv_umq_queue_msg_retrieve ( lbm_rcv_t *  rcv,
const char *  queue_name,
lbm_umq_msgid_t msgids,
int  num_msgids,
lbm_async_operation_func_t async_opfunc 
)

Results are valid once the asynchronous operation callback is called with the LBM_ASYNC_OP_STATUS_COMPLETE status. An array of lbm_umq_queue_msg_status_t objects is returned; the size of the array returned will match the size of the msgids array originally passed in. Each returned lbm_umq_queue_msg_status_t object contains state information (LBM_UMQ_QUEUE_MSG_STATUS_UNASSIGNED, LBM_UMQ_QUEUE_MSG_STATUS_CONSUMED, etc.), and possibly message data, for each requested message. If message data was available, the msg field of the lbm_umq_queue_msg_status_t object will be non-NULL; otherwise it will be NULL. Message data is not always still available for a given message ID (in the case of a message that has been fully consumed across all configured application sets in the queue, for example).

See also:
LBM_UMQ_QUEUE_MSG_STATUS_UNKNOWN

LBM_UMQ_QUEUE_MSG_STATUS_UNASSIGNED

LBM_UMQ_QUEUE_MSG_STATUS_ASSIGNED

LBM_UMQ_QUEUE_MSG_STATUS_REASSIGNING

LBM_UMQ_QUEUE_MSG_STATUS_CONSUMED

Parameters:
rcv Pointer to observer receiver object
queue_name Name of the queue to retrieve the messages from.
msgids Array of UMQ message IDs to retrieve.
num_msgids Length of message ID array.
async_opfunc The asynchronous operation callback the retrieved messages will be delivered to.

LBMExpDLL int lbm_rcv_unsubscribe_channel ( lbm_rcv_t *  rcv,
lbm_uint32_t  channel 
)

Remove a subscription to a channel previously subscribed to with

See also:
lbm_rcv_subscribe_channel.
Parameters:
rcv A pointer to a UM receiver object.
channel The channel number for the channel subscription to be removed.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_rcv_unsubscribe_channel_ex ( lbm_rcv_t *  rcv,
lbm_uint32_t  channel,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Parameters:
rcv A pointer to a UM receiver object.
channel The channel number for the channel subscription to be removed.
cbinfo Cancellation callback information, containing the event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_register_fd ( lbm_context_t *  ctx,
lbm_handle_t  handle,
lbm_fd_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq,
lbm_ulong_t  ev 
)

This registers a file descriptor/socket event that will call the function proc at a later time passing in specified data when the event occurs. NOTE: this functionality is not available for Windows-based contexts where completion ports are specified. See configuration option "context fd_management_type".

See also:
lbm_cancel_fd
Warning:
It is not recommended to call this function from a context thread callback.
Parameters:
ctx Pointer to the UM context object
handle file descriptor/socket of interest for event.
proc Pointer to the function to call when the event occurs
clientd Pointer to client data that is passed when the event occurs.
evq Optional Event Queue to place events on when they occur. If NULL causes proc to be called from context thread.
ev One or more of LBM_FD_EVENT_* (ORed to together). Mask of events of interest.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_request_delete ( lbm_request_t *  req  ) 

Delete a UM request object. When this function is used, subsequent responses for this given request object will be ignored. Note that this function can return while the callback may still be executing if request events are being delivered via an event queue. If the application needs to know when all possible processing on the request is complete, it must use lbm_request_delete_ex().

Parameters:
req A pointer to an lbm_request_t object returned by lbm_send_request.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_request_delete_ex ( lbm_request_t *  req,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Delete a UM request object, with an application callback indicating when the request is fully canceled. When this function is used, any more responses for this given request object will be ignored. This extended version of the request cancel function requires the configuration option queue_cancellation_callbacks_enabled be set to 1.

Parameters:
req A pointer to an lbm_request_t object returned by lbm_send_request.
cbinfo Cancellation callback information, containing the event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_response_delete ( lbm_response_t *  resp  ) 

When an application receives a request, the message object lbm_msg_t contains a response object response which is used by lbm_send_response(). Normally, when the receive callback returns, both the message and the response object are deleted by UM. However the receive callback can optionally save the response object and set msg->response=NULL to prevent UM from deleting it when the receive callback returns. It then becomes the application's responsibility to delete the response when appropriate.

See also:
lbm_msg_t, lbm_msg_delete
Parameters:
resp A pointer to an lbm_response_t object given in a lbm_msg_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_schedule_timer ( lbm_context_t *  ctx,
lbm_timer_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq,
lbm_ulong_t  delay 
)

This schedules a timer that will call the function proc at a later time passing in specified data. This is a one-shot timer. To implement a recurring timer, the callback function should call lbm_schedule_timer() again.

A zero duration timer is legal and causes the associated callback to be called as soon as possible on the context thread or to be enqueued as an event on the associated event queue. In this case, the event queue dispatching thread calls the associated callback after all currently pending events have been dispatched.

See also:
lbm_cancel_timer
Parameters:
ctx Pointer to the UM context object
proc Pointer to the function to call when the timer expires.
clientd Pointer to client data that is passed when the timer expires.
evq Optional Event Queue to place timer events on when they occur. If NULL causes proc to be called from context thread.
delay Delay until proc should be called (in milliseconds).
Returns:
An identifier for the timer that may be used to cancel it or -1 for Failure.

LBMExpDLL int lbm_schedule_timer_recurring ( lbm_context_t *  ctx,
lbm_timer_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq,
lbm_ulong_t  delay 
)

This schedules a recurring timer that calls the function proc at the given time interval passing in the specified data. The timer will reschedule itself each time it expires and must be explicitly canceled to stop the timer. Caution should be exercised with the delay since timer events will build up if the application can not process the events fast enough.

See also:
lbm_cancel_timer
Parameters:
ctx Pointer to the UM context object
proc Pointer to the function to call when the timer expires.
clientd Pointer to client data that is passed when the timer expires.
evq Optional Event Queue to place timer events on when they occur. If NULL causes proc to be called from context thread.
delay Delay until proc should be called (in milliseconds).
Returns:
An identifier for the timer that may be used to cancel it or -1 for Failure.

LBMExpDLL int lbm_send_request ( lbm_request_t **  reqp,
lbm_src_t *  src,
const char *  data,
size_t  len,
lbm_request_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq,
int  send_flags 
)

This function creates a request object reqp which is used by UM to route responses to the desired application callback proc and must be retained until all responses are received. When the requestor does not expect any additional responses, it deletes the request object using lbm_request_delete().

See also:
lbm_src_send
Warning:
It is not recommended to call this function from a context thread callback. If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Parameters:
reqp A pointer to a pointer for the lbm_request_t object created to be stored.
src The UM source to send the request out.
data Buffer to be included as data in the request.
len Length (in bytes) of the data included with the request.
proc Pointer to function to call when responses come in for this request.
clientd Client data returned in the callback proc proc.
evq Optional Event Queue to place message events on when they occur. If NULL causes proc to be called from context thread.
send_flags Flags used to instruct UM how to handle this message. See lbm_src_send() for more information.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_send_request_ex ( lbm_request_t **  reqp,
lbm_src_t *  src,
const char *  data,
size_t  len,
lbm_request_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq,
int  send_flags,
lbm_src_send_ex_info_t exinfo 
)

This function creates a request object reqp which is used by UM to route responses to the desired application callback proc and must be retained until all responses are received. When the requestor does not expect any additional responses, it deletes the request object using lbm_request_delete().

See also:
lbm_src_send
Warning:
It is not recommended to call this function from a context thread callback. If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Parameters:
reqp A pointer to a pointer for the lbm_request_t object created to be stored.
src The UM source to send the request out.
data Buffer to be included as data in the request.
len Length (in bytes) of the data included with the request.
proc Pointer to function to call when responses come in for this request.
clientd Client data returned in the callback proc proc.
evq Optional Event Queue to place message events on when they occur. If NULL causes proc to be called from context thread.
send_flags Flags used to instruct UM how to handle this message. See lbm_src_send() for more information.
exinfo Pointer to lbm_src_send_ex_info_t options
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_send_response ( lbm_response_t *  resp,
const char *  data,
size_t  len,
int  flags 
)

Parameters:
resp A pointer to an lbm_response_t object given in a lbm_msg_t object.
data Buffer to send as the response data.
len Length (in bytes) of the data to send as the response data.
flags Flags indicating various conditions. ORed set of values.
  • LBM_SRC_NONBLOCK - If messages could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the message is sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
Returns:
-1 for Failure or the number of bytes sent if Successful.

LBMExpDLL lbm_serialized_response_t* lbm_serialize_response ( lbm_response_t *  resp  ) 

An UM response object (lbm_response_t) may be serialized to allow applications other than the one originally receiving a request to respond to that request.

Parameters:
resp A pointer to an lbm_response_t object.
Returns:
A pointer to an lbm_serialized_response_t object.

LBMExpDLL int lbm_serialized_response_delete ( lbm_serialized_response_t serialized_response  ) 

After a serialized UM response object has been copied or used, it is the application's responsibility to delete the serialized response object.

Parameters:
serialized_response A pointer to an lbm_serialized_response_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL void lbm_set_lbtrm_loss_rate ( int  rate  ) 

Set the LBT-RM loss rate. This is equivalent to setting the environment variable LBTRM_LOSS_RATE, but allows the loss rate to be changed under program control.

Parameters:
rate Loss rate (from 0 to 100).

LBMExpDLL void lbm_set_lbtrm_src_loss_rate ( int  rate  ) 

Set the LBT-RM source loss rate. This is equivalent to setting the environment variable LBTRM_SRC_LOSS_RATE, but allows the loss rate to be changed under program control.

Parameters:
rate Loss rate (from 0 to 100).

LBMExpDLL void lbm_set_lbtru_loss_rate ( int  rate  ) 

Set the LBT-RU loss rate. This is equivalent to setting the environment variable LBTRU_LOSS_RATE, but allows the loss rate to be changed under program control.

Parameters:
rate Loss rate (from 0 to 100).

LBMExpDLL void lbm_set_lbtru_src_loss_rate ( int  rate  ) 

Set the LBT-RU source loss rate. This is equivalent to setting the environment variable LBTRU_SRC_LOSS_RATE, but allows the loss rate to be changed under program control.

Parameters:
rate Loss rate (from 0 to 100).

LBMExpDLL int lbm_set_umm_info ( lbm_umm_info_t info  ) 

In order to be effective, this function *must* be called before any other LBM API function.

See also:
lbm_umm_info_t
Parameters:
info lbm_umm_info_t struct specifying options for connecting to a UMM daemon.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_channel_create ( lbm_src_channel_info_t **  chnp,
lbm_src_t *  src,
lbm_uint32_t  channel_num 
)

Parameters:
chnp A pointer to a pointer to a UM channel info object. Will be filled in by this function to point to the newly created lbm_src_channel_info_t object.
src Pointer to the UM source the channel info object will be used with.
channel_num A channel number in the range 0-4294967295
See also:
lbm_src_send_ex lbm_src_sendv_ex
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_src_channel_delete ( lbm_src_channel_info_t *  chn  ) 

Parameters:
chn A pointer to a channel info object allocated with lbm_src_channel_create.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_src_create ( lbm_src_t **  srcp,
lbm_context_t *  ctx,
lbm_topic_t *  topic,
lbm_src_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq 
)

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
srcp A pointer to a pointer to a UM source object. Will be filled in by this function to point to the newly created lbm_src_t object.
ctx Pointer to the UM context object associated with the sender.
topic Pointer to the UM topic object associated with the destination of messages sent by the source.
proc Pointer to a function to call when events occur related to the source. If NULL, then events are not delivered to the source.
clientd Pointer to client data that is passed when proc is called.
evq Optional Event Queue to place events on when they occur. If NULL causes proc to be called from context thread.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_delete ( lbm_src_t *  src  ) 

Delete a UM source object. Note that this function can return while the source callback may still be executing if source events are being delivered via an event queue. If the application needs to know when all possible processing on the source is complete, it must use lbm_src_delete_ex().

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
src Pointer to a UM source object to delete.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_delete_ex ( lbm_src_t *  src,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Delete a UM source object with an application callback indicating when the source is fully canceled. This extended version of the source delete function requires the configuration option queue_cancellation_callbacks_enabled be set to 1.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
src Pointer to a UM source object to delete.
cbinfo Cancellation callback information, containing the event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_flush ( lbm_src_t *  src  ) 

Warning:
Calling this function from a context thread callback for stability and confirmation events could cause a deadlock
Parameters:
src Pointer to the UM source to send from
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_src_get_inflight ( lbm_src_t *  src,
int  type,
int *  inflight,
lbm_flight_size_set_inflight_cb_proc  proc,
void *  clientd 
)

See also:
lbm_flight_size_set_inflight_cb_proc
Parameters:
src Pointer to the source.
type Type of flight size.
  • LBM_FLIGHT_SIZE_TYPE_UME - Specifies a UM flight size
  • LBM_FLIGHT_SIZE_TYPE_ULB - Specifies a ULB flight size
  • LBM_FLIGHT_SIZE_TYPE_UMQ - Specifies a UMQ flight size
inflight Pointer to an int whose value will be filled in to reflect the current inflight.
proc Optional callback that allows an application to set the current inflight.
clientd Optional client data passed into the proc.
Returns:
0 for Success, -1 for failure if the proc returns a negative value.

LBMExpDLL int lbm_src_get_inflight_ex ( lbm_src_t *  src,
int  type,
lbm_flight_size_inflight_t inflight,
lbm_flight_size_set_inflight_ex_cb_proc  proc,
void *  clientd 
)

See also:
lbm_flight_size_set_inflight_cb_proc
Parameters:
src Pointer to the source.
type Type of flight size.
  • LBM_FLIGHT_SIZE_TYPE_UME - Specifies a UM flight size
  • LBM_FLIGHT_SIZE_TYPE_ULB - Specifies a ULB flight size
  • LBM_FLIGHT_SIZE_TYPE_UMQ - Specifies a UMQ flight size
inflight Pointer to a structure to be filled in with the current inflight values.
proc Optional callback that allows an application to set the current inflight.
clientd Optional client data passed into the proc.
Returns:
0 for Success, -1 for failure if the proc returns a negative value.

LBMExpDLL int lbm_src_getopt ( lbm_src_t *  src,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
src Pointer to a UM source object where the option is stored
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen When passed, this is the max length (in bytes) of the optval structure. When returned, this is the length of the filled in optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_reset_transport_stats ( lbm_src_t *  src  ) 

Parameters:
src Pointer to the UM source to reset statistics for.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_src_retrieve_transport_stats ( lbm_src_t *  src,
lbm_src_transport_stats_t stats 
)

Parameters:
src Pointer to the UM source to retrieve statistics for.
stats Pointer to a stats structure to fill in.
Returns:
-1 for Failure and 0 for Success.

LBMExpDLL int lbm_src_send ( lbm_src_t *  src,
const char *  msg,
size_t  len,
int  flags 
)

Warning:
It is not recommended to call this function from a context thread callback. If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.

Calling this function from a context thread callback for stability and confirmation events could cause a deadlock.

Parameters:
src Pointer to the UM source to send from
msg Pointer to the data to send in this message
len Length (in bytes) of the data to send in this message
flags Flags indicating various conditions. ORed set of values.
  • LBM_MSG_START_BATCH - Message starts a batch of messages
  • LBM_MSG_END_BATCH - Message ends a batch of messages. Batch should be sent to the implicit batching buffer.
  • LBM_MSG_COMPLETE_BATCH - Message constitutes a complete batch and should be sent to the implicit batching buffer.
  • LBM_MSG_FLUSH - Message is to be sent ASAP (not implicitly or explicitly batched). This also flushes waiting messages that were explicitly or implicitly batched.
  • LBM_SRC_NONBLOCK - If message could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the message is sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_src_send_ex ( lbm_src_t *  src,
const char *  msg,
size_t  len,
int  flags,
lbm_src_send_ex_info_t info 
)

Warning:
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.

Calling this function from a context thread callback for stability and confirmation events could cause a deadlock

Parameters:
src Pointer to the UM source to send from
msg Pointer to the data to send in this message
len Length (in bytes) of the data to send in this message
flags Flags indicating various conditions. ORed set of values.
  • LBM_MSG_START_BATCH - Message starts a batch of messages
  • LBM_MSG_END_BATCH - Message ends a batch of messages. Batch should be sent to the implicit batching buffer.
  • LBM_MSG_COMPLETE_BATCH - Message constitutes a complete batch and should be sent to the implicit batching buffer.
  • LBM_MSG_FLUSH - Message is to be sent ASAP (not implicitly or explicitly batched). This also flushes waiting messages that were explicitly or implicitly batched.
  • LBM_SRC_NONBLOCK - If message could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the message is sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
info Pointer to lbm_src_send_ex_info_t options
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_src_sendv ( lbm_src_t *  src,
const lbm_iovec_t iov,
int  num,
int  flags 
)

The messages are specified as an array of iovecs. Be aware that each iovec element is considered as a full application message unless LBM_MSG_IOV_GATHER is used in the flags field. In that case, the elements of the array are gathered together into a single message.

Warning:
It is not recommended to call this function from a context thread callback. If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Parameters:
src Pointer to the UM source to send from.
iov Pointer to an array of iovecs that hold message information.
num Number of elements of the iov array to send.
flags Flags indicating various conditions. ORed set of values.
  • LBM_MSG_START_BATCH - Messages start a batch of messages
  • LBM_MSG_END_BATCH - Messages end a batch of messages. Batch should be sent to the implicit batching buffer.
  • LBM_MSG_COMPLETE_BATCH - Messages constitute a complete batch and should be sent to the implicit batching buffer.
  • LBM_MSG_FLUSH - Messages are to be sent ASAP (not implicitly batched or explicitly batched).
  • LBM_SRC_NONBLOCK - If messages could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the messages are all sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
  • LBM_MSG_IOV_GATHER - iovec elements should be gather into a single message.
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_src_sendv_ex ( lbm_src_t *  src,
const lbm_iovec_t iov,
int  num,
int  flags,
lbm_src_send_ex_info_t info 
)

The messages are specified as an array of iovecs. The elements of the array are gathered together into a single message.

Warning:
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.

Calling this function from a context thread callback for stability and confirmation events could cause a deadlock

Parameters:
src Pointer to the UM source to send from
iov Pointer to an array of iovecs that hold message information.
num Number of elements of the iov array to send.
flags Flags indicating various conditions. ORed set of values.
  • LBM_MSG_START_BATCH - Message starts a batch of messages
  • LBM_MSG_END_BATCH - Message ends a batch of messages. Batch should be sent to the implicit batching buffer.
  • LBM_MSG_COMPLETE_BATCH - Message constitutes a complete batch and should be sent to the implicit batching buffer.
  • LBM_MSG_FLUSH - Message is to be sent ASAP (not implicitly or explicitly batched). This also flushes waiting messages that were explicitly or implicitly batched.
  • LBM_SRC_NONBLOCK - If message could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the message is sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
info Pointer to lbm_src_send_ex_info_t options
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_src_setopt ( lbm_src_t *  src,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_src_topic_attr_*().

Parameters:
src Pointer to a UM source object where the option is to be set
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_str_getopt ( lbm_src_t *  src,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
src Pointer to a UM source object where the option is stored
optname String containing the option name
optval String to be filled in with the option value.
optlen When passed, this is the max length (in bytes) of the string. When returned, this is the length of the filled in option value.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_str_setopt ( lbm_src_t *  src,
const char *  optname,
const char *  optval 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_src_topic_attr_*().

Parameters:
src Pointer to a UM source object where the option is to be set
optname String containing the option name
optval String containing the option value. The format of the string is specific to the options themselves.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_alloc ( lbm_topic_t **  topicp,
lbm_context_t *  ctx,
const char *  symbol,
const lbm_src_topic_attr_t *  attr 
)

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
topicp A pointer to a pointer to a UM topic object. Will be filled in by this function to point to the newly created lbm_topic_t object.
ctx Context object for Topic
symbol The Topic string. Topic strings should be limited in length to 246 characters (not including the final null).
attr Pointer to a Src Topic attribute object for passing in options
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_attr_create ( lbm_src_topic_attr_t **  attr  ) 

The attribute object is filled with the current default values that are used by lbm_topic_t objects that concern sources and may have been modified by a previously loaded configuration file.

Parameters:
attr A pointer to a pointer to a UM source topic attribute structure. Will be filled in by this function to point to the newly created lbm_src_topic_attr_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_attr_create_default ( lbm_src_topic_attr_t **  attr  ) 

The attribute object is allocated and filled with the initial or factory default values built into LBM that are used by lbm_topic_t objects that concern sources.

Parameters:
attr A pointer to a pointer to a UM source topic attribute structure. Will be filled in by this function to point to the newly created lbm_src_topic_attr_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_attr_create_from_xml ( lbm_src_topic_attr_t **  attr,
const char *  context_name,
const char *  topicname 
)

The attribute object is allocated and filled with the current default values that are used by lbm_topic_t objects that concern sources and may have been modified by a previously loaded configuration file. If an XML configuration file has been loaded, the attribute object is further filled with the defaults for the given context name and source topic name. If the context name or source topic name are not permitted by the XML configuration, -1 is returned and no attribute object is created.

Parameters:
attr A pointer to a pointer to a UM source topic attribute structure. Will be filled in by this function to point to the newly created lbm_src_topic_attr_t object.
context_name The context name used to lookup the source topic in the XML configuration. A NULL value is permitted, and will match unnamed contexts defined in the XML.
topicname The topic name used to lookup the source topic in the XML configuration. A NULL value is *not* permitted and will result in an error.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_attr_delete ( lbm_src_topic_attr_t *  attr  ) 

The attribute object is cleaned up and deleted.

Parameters:
attr Pointer to a UM source topic attribute object as returned by lbm_src_topic_attr_create.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_attr_dump ( lbm_src_topic_attr_t *  sattr,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with source topic configuration options

Parameters:
src The source topic attribute object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_src_topic_attr_dup ( lbm_src_topic_attr_t **  attr,
const lbm_src_topic_attr_t *  original 
)

A new attribute object is created as a copy of an existing object.

Parameters:
attr A pointer to a pointer to a UM source topic attribute structure. Will be filled in by this function to point to the newly created lbm_src_topic_attr_t object.
original Pointer to a UM source topic attribute object as returned by lbm_src_topic_attr_create or lbm_src_topic_attr_create_default, from which attr is initialized.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_attr_getopt ( lbm_src_topic_attr_t *  attr,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM source topic attribute object where the option is stored
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen When passed, this is the max length (in bytes) of the optval structure. When returned, this is the length of the filled in optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_attr_option_size (  ) 

The function returns the number of entries that are of type "topic"

Returns:
The number of entries that are of type "topic"

LBMExpDLL int lbm_src_topic_attr_set_from_xml ( lbm_src_topic_attr_t *  attr,
const char *  context_name,
const char *  topicname 
)

The attribute object is filled with the defaults for the given context name and source topic name, if an XML configuration file has been loaded. If the context name or source topic name are not permitted by the XML configuration, -1 is returned and the attribute object is not written to.

Parameters:
attr A pointer to a UM source topic attribute structure.
context_name The context name used to lookup the source topic in the XML configuration. A NULL value is permitted, and will match unnamed contexts defined in the XML.
topicname The topic name used to lookup the source topic in the XML configuration. A NULL value is *not* permitted and will result in an error.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_attr_setopt ( lbm_src_topic_attr_t *  attr,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Used before the topic is allocated and the source created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM source topic attribute object where the option is to be set
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_attr_str_getopt ( lbm_src_topic_attr_t *  attr,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM source topic attribute object where the option is stored
optname String containing the option name
optval String to be filled in with the option value.
optlen When passed, this is the max length (in bytes) of the string. When returned, this is the length of the filled in option value.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_attr_str_setopt ( lbm_src_topic_attr_t *  attr,
const char *  optname,
const char *  optval 
)

Used before the topic is allocated and the source created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM source topic attribute object where the option is to be set
optname String containing the option name
optval String containing the option value. The format of the string is specific to the options themselves.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_src_topic_dump ( lbm_src_t *  src,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with source topic configuration options

Parameters:
src The source object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_src_ume_deregister ( lbm_src_t *  src  ) 

This function causes a UMP deregistration to be sent to all stores the source is currently registered to, and disallows any future registrations from taking place.

Parameters:
src Pointer to a UM source object
Returns:
0 for Success and -1 for Failure.

LBMExpDLL lbm_topic_t* lbm_topic_from_src ( lbm_src_t *  src  ) 

Parameters:
src Pointer to a UM source object.
Returns:
A pointer to the UM topic object associated with the UM source object.

LBMExpDLL int lbm_transport_source_format ( const lbm_transport_source_info_t info,
size_t  infosize,
char *  source,
size_t *  size 
)

Parameters:
info Pointer to a transport source info structure containing the transport source components.
infosize Size (in bytes) of info.
source Pointer to a buffer to receive the formatted transport source string.
size Size of source in bytes.
Returns:
0 for success, -1 for failure.

LBMExpDLL int lbm_transport_source_parse ( const char *  source,
lbm_transport_source_info_t info,
size_t  infosize 
)

Parameters:
source Source string.
info Pointer to a transport source info structure into which the components are parsed.
infosize Size (in bytes) of info.
Returns:
0 for success, -1 for failure.

LBMExpDLL int lbm_ume_ack_delete ( lbm_ume_rcv_ack_t *  ack  ) 

See also:
lbm_msg_extract_ume_ack.
Parameters:
ack Pointer to the ack structure to be deleted.
Returns:
0 for Success, -1 for failure.

LBMExpDLL int lbm_ume_ack_send_explicit_ack ( lbm_ume_rcv_ack_t *  ack,
lbm_uint_t  sqn 
)

See also:
lbm_msg_extract_ume_ack.
Parameters:
ack Pointer to the previously extracted ack structure of a message on the same stream that is currently being explicitly acked.
sqn The sequence number up to which to send the explicit ack.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_ume_src_msg_stable ( lbm_src_t *  src,
lbm_uint32_t  sqn 
)

Parameters:
src Pointer to the source.
sqn Sqn of the fragment to mark stable.
Returns:
0 for Success, -1 for failure if sqn is not found or sqn is already stable

LBMExpDLL int lbm_umq_ctx_msg_stable ( lbm_context_t *  ctx,
const char *  qname,
lbm_umq_msgid_t msg_id 
)

Parameters:
ctx Pointer to the context.
qname Name of the queue.
msg_id Msg_id of the message to mark stable.
Returns:
0 for Success, -1 for failure if msg_id is not found or msg_id is already stable

LBMExpDLL int lbm_umq_msg_selector_create ( lbm_umq_msg_selector_t **  selector,
char *  str,
lbm_uint16_t  len 
)

Parameters:
selector Pointer to a pointer to an lbm_umq_msg_selector_t structure to be filled in
str Pointer to the charactor string of the message selector.
len Length of the above charactor string.
Returns:
the length of message selector string for Success and negative values for Failure.

LBMExpDLL int lbm_umq_msg_selector_delete ( lbm_umq_msg_selector_t *  selector  ) 

Parameters:
selector Pointer to lbm_umq_msg_selector_t object.

LBMExpDLL int lbm_unicast_immediate_message ( lbm_context_t *  ctx,
const char *  target,
const char *  topic,
const char *  data,
size_t  len,
int  flags 
)

Parameters:
ctx Pointer to UM context to send from
target Target address of the receiver of the form "TCP:ip:port"
topic Topic name to send message to or NULL for non-topic. Topic names should be limited to 246 characters (not including the final null).
data Pointer to the data to send in this message
len Length (in bytes) of the data to send in this message. Unicast immediate messages must be 65281 bytes or less in length.
flags Flags indicating various conditions. ORed set of values.
  • LBM_SRC_NONBLOCK - If message could not be sent immediately return and error and signal LBM_EWOULDBLOCK.
  • LBM_SRC_BLOCK - Block the caller indefinitely until the message is sent. (This behavior is the default if neither LBM_SRC_NONBLOCK nor LBM_SRC_BLOCK are supplied.)
Returns:
-1 for Failure or 0 for Success.

LBMExpDLL int lbm_unicast_immediate_request ( lbm_request_t **  reqp,
lbm_context_t *  ctx,
const char *  target,
const char *  topic,
const char *  data,
size_t  len,
lbm_request_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq,
int  flags 
)

Parameters:
reqp A pointer to a pointer for the lbm_request_t object created to be stored.
ctx Pointer to UM context to send from.
target Target address of the receiver of the form "TCP:ip:port"
topic Topic name to send message to or NULL for non-topic. Topic names should be limited to 246 characters (not including the final null).
data Buffer to be included as data in the request.
len Length (in bytes) of the data to send in this message. Unicast immediate messages must be 65281 bytes or less in length.
proc Pointer to function to call when responses come in for this request.
clientd Client data returned in the callback proc proc.
evq optional Event Queue to place message events on when they occur. If NULL causes proc to be called from context thread.
flags Flags used to instruct UM how to handle this message. See lbm_unicast_immediate_message for more information.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL const char* lbm_version ( void   ) 

Returns:
String containing version information for UM.

LBMExpDLL int lbm_wildcard_rcv_attr_create ( lbm_wildcard_rcv_attr_t **  attr  ) 

The attribute object is allocated and filled with the current default values that are used by lbm_wildcard_rcv_t objects and may have been modified by a previously loaded configuration file.

Parameters:
attr A pointer to a pointer to a UM wildcard receiver attribute structure. Will be filled in by this function to point to the newly created lbm_wildcard_rcv_attr_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_attr_create_default ( lbm_wildcard_rcv_attr_t **  attr  ) 

The attribute object is allocated and filled with the initial or factory default values built into LBM that are used by lbm_wildcard_rcv_t.

Parameters:
attr A pointer to a pointer to a UM wildcard receiver attribute structure. Will be filled in by this function to point to the newly created lbm_wildcard_rcv_attr_t object.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_attr_create_from_xml ( lbm_wildcard_rcv_attr_t **  attr,
const char *  context_name,
const char *  pattern,
int  pattern_type 
)

The attribute object is allocated and filled with the current default values that are used by lbm_topic_t objects that concern receivers and may have been modified by a previously loaded configuration file. If an XML configuration file has been loaded, the attribute object is further filled with the defaults for the given context name and wildcard receiver pattern. If the context name or wildcard receiver pattern are not permitted by the XML configuration, -1 is returned and no attribute object is created.

Parameters:
attr A pointer to a pointer to a UM wildcard receiver attribute structure. Will be filled in by this function to point to the newly created lbm_wildcard_rcv_attr_t object.
context_name The context name used to lookup the wildcard receiver pattern in the XML configuration. A NULL value is permitted, and will match unnamed contexts defined in the XML.
pattern The pattern used to lookup the wildcard receiver in the XML configuration. A NULL value is *not* permitted and will result in an error.
pattern_type They type of pattern. Both pattern_type and pattern must match in XML configuration.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_attr_delete ( lbm_wildcard_rcv_attr_t *  attr  ) 

The attribute object is cleaned up and deleted.

Parameters:
attr Pointer to a UM wildcard receiver attribute object as returned by lbm_wildcard_rcv_attr_create.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_attr_dump ( lbm_wildcard_rcv_attr_t *  wattr,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with wildcard receiver configuration options

Parameters:
wattr The wildcard receiver attribute object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_wildcard_rcv_attr_dup ( lbm_wildcard_rcv_attr_t **  attr,
const lbm_wildcard_rcv_attr_t *  original 
)

A new attribute object is created as a copy of an existing object.

Parameters:
attr A pointer to a pointer to a UM wildcard receiver attribute structure. Will be filled in by this function to point to the newly created lbm_wildcard_rcv_attr_t object.
original Pointer to a UM wildcard receiver attribute object as returned by lbm_wildcard_rcv_attr_create or lbm_wildcard_rcv_attr_create_default, from which attr is initialized.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_attr_getopt ( lbm_wildcard_rcv_attr_t *  attr,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM wildcard receiver attribute object where the option is stored
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen When passed, this is the max length (in bytes) of the optval structure. When returned, this is the length of the filled in optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_attr_option_size (  ) 

The function returns the number of entries that are of type "wildcard receiver"

Returns:
The number of entries that are of type "wildcard receiver"

LBMExpDLL int lbm_wildcard_rcv_attr_set_from_xml ( lbm_wildcard_rcv_attr_t *  attr,
const char *  context_name,
const char *  pattern,
int  pattern_type 
)

The attribute object is filled with the defaults for the given context name, wildcard pattern, and pattern_type, if an XML configuration file has been loaded. If the context name or pattern and pattern_type combination are are not permitted by the XML configuration, -1 is returned and the attribute object is not written to.

Parameters:
attr A pointer to a UM wildcard receiver attribute structure.
context_name The context name used to lookup the wildcard receiver pattern in the XML configuration. A NULL value is permitted, and will match unnamed contexts defined in the XML.
pattern The pattern used to lookup the wildcard receiver in the XML configuration. A NULL value is *not* permitted and will result in an error.
pattern_type They type of pattern. Both pattern_type and pattern must match in XML configuration.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_attr_setopt ( lbm_wildcard_rcv_attr_t *  attr,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Used before the wildcard receiver is created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM wildcard receiver attribute object where the option is to be set
optname String containing the option name
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_attr_str_getopt ( lbm_wildcard_rcv_attr_t *  attr,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
attr Pointer to a UM wildcard receiver attribute object where the option is stored
optname String containing the option name
optval String to be filled in with the option value.
optlen When passed, this is the max length (in bytes) of the string. When returned, this is the length of the filled in option value.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_attr_str_setopt ( lbm_wildcard_rcv_attr_t *  attr,
const char *  optname,
const char *  optval 
)

Used before the wildcard receiver is created. NOTE: the attribute object must first be initialized with the corresponding _attr_create() function.

Parameters:
attr Pointer to a UM wildcard receiver attribute object where the option is to be set
optname String containing the option name
optval String containing the option value. The format of the string is specific to the options themselves.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_create ( lbm_wildcard_rcv_t **  wrcvp,
lbm_context_t *  ctx,
const char *  pattern,
const lbm_rcv_topic_attr_t *  tattr,
const lbm_wildcard_rcv_attr_t *  wattr,
lbm_rcv_cb_proc  proc,
void *  clientd,
lbm_event_queue_t *  evq 
)

The callback proc will be called to deliver data sent to the topics that the receiver has requested.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
wrcvp A pointer to a pointer to a UM wildcard receiver object. Will be filled in by this function to point to the newly created lbm_wildcard_rcv_t object.
ctx Pointer to the LBM context object associated with the wildcard receiver.
pattern Pattern to match the topic strings on for this wildcard. This is by default a regular expression. But more options may be supported.
tattr Pointer to a UM receive topic attribute structure used for specifying attributes for topics created for this wildcard receiver.
wattr Pointer to a UM wildcard receiver attribute structure specifying the options for this wildcard receiver.
proc Pointer to a function to call when messages arrive.
clientd Pointer to client data that is passed when data arrives and proc is called.
evq Optional Event Queue to place message events on when they arrive. If NULL causes proc to be called from context thread.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_delete ( lbm_wildcard_rcv_t *  wrcv  ) 

Delete a UM wildcard receiver object. Note that this function can return while the receiver callback may still be executing if receiver events are being delivered via an event queue. If the application needs to know when all possible processing on the receiver is complete, it must use lbm_wildcard_rcv_delete_ex().

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
wrcv Pointer to a UM wildcard receiver object to delete.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_delete_ex ( lbm_wildcard_rcv_t *  wrcv,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Delete a UM wildcard receiver object, with an application callback indicating when the receiver is fully canceled. This extended version of the receiver delete function requires the configuration option queue_cancellation_callbacks_enabled be set to 1.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
wrcv Pointer to a UM wildcard receiver object to delete.
cbinfo Cancellation callback information, containing the event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_dump ( lbm_wildcard_rcv_t *  wrcv,
int *  size,
lbm_config_option_t *  opts 
)

The config object is filled with wildcard receiver configuration options

Parameters:
wrcv The wildcard receiver object to retrieve the attributes from
size Size of the opts array. Will return the number of items that were set in opts
opts The options array to fill

LBMExpDLL int lbm_wildcard_rcv_getopt ( lbm_wildcard_rcv_t *  wrcv,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Parameters:
wrcv Pointer to a UM wildcard receiver object where the option is stored.
optname String containing the option name.
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen When passed, this is the max length (in bytes) of the optval structure. When returned, this is the length of the filled in optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_setopt ( lbm_wildcard_rcv_t *  wrcv,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_wildcard_rcv_attr_*().

Parameters:
wrcv Pointer to a UM wildcard receiver object where the option is to be set.
optname String containing the option name.
optval Pointer to the option value structure. The structure of the option values are specific to the options themselves.
optlen Length (in bytes) of the optval structure.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_str_getopt ( lbm_wildcard_rcv_t *  wrcv,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Parameters:
wrcv Pointer to a UM wildcard receiver object where the option is stored.
optname String containing the option name.
optval String to hold the option value.
optlen When passed, this is the max length (in bytes) of the string. When returned, this is the length of the filled in option value.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_str_setopt ( lbm_wildcard_rcv_t *  wrcv,
const char *  optname,
const char *  optval 
)

Only those options that can be set during operation may be specified. See "Options That May Be Set During Operation" (doc/Config/maybesetduringoperation.html) in The UM Configuration Guide. For API functions that can access any option, see lbm_wildcard_rcv_attr_*().

Parameters:
wrcv Pointer to a UM wildcard receiver object where the option is to be set.
optname String containing the option name.
optval String containing the option value. The format of the string is specific to the options themselves.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_subscribe_channel ( lbm_wildcard_rcv_t *  wrcv,
lbm_uint32_t  channel,
lbm_rcv_cb_proc  proc,
void *  clientd 
)

The callback proc will be called to deliver messages sent with the specified channel number. If NULL is specified for the proc, messages with the specified channel number will be delivered to the receiver's normal callback. If NULL is specified for the proc, any argument passed in for clientd will be ignored.

Warning:
It is not safe to call this function from a context thread callback.
Parameters:
wrcv A pointer to a UM wildcard receiver object.
channel A channel number to subscribe to.
proc Pointer to a function to call when messages arrive.
clientd Pointer to clientd data that is passed when data arrives and proc is called.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_wildcard_rcv_umq_deregister ( lbm_wildcard_rcv_t *  wrcv,
const char *  queue_name 
)

Parameters:
wrcv Pointer to wildcard receiver object to de-register.
queue_name Name of the queue to deregister from. A NULL means de-register from all UMQ queues.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_umq_index_release ( lbm_wildcard_rcv_t *  wrcv,
const char *  queue_name,
lbm_umq_index_info_t index_info 
)

This function causes the UMQ indices to be assigned to another receiver.

Parameters:
wrcv Pointer to wildcard receiver object that wishes to release the index.
queue_name Name of the queue to reassign the index. A NULL means reassign the index for all UMQ queues.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_umq_index_start_assignment ( lbm_wildcard_rcv_t *  wrcv,
const char *  queue_name 
)

Parameters:
wrcv Pointer to wildcard receiver object to start assignment for.
queue_name Name of the queue to start assignment from. A NULL means start assignment from all UMQ queues.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_umq_index_stop_assignment ( lbm_wildcard_rcv_t *  wrcv,
const char *  queue_name 
)

This function causes new UMQ indices to not be assigned to the given wildcard receiver from the given UMQ queue(s). Messages with previously assigned UMQ indices may continue to be delivered to the given wildcard receiver from the given UMQ queue(s).

Parameters:
wrcv Pointer to wildcard receiver object to stop assignment for.
queue_name Name of the queue to stop assignment from. A NULL means stop assignment from all UMQ queues.
Returns:
0 for Success and -1 for Failure.

LBMExpDLL int lbm_wildcard_rcv_unsubscribe_channel ( lbm_wildcard_rcv_t *  wrcv,
lbm_uint32_t  channel 
)

Remove a subscription to a channel previously subscribed to with

See also:
lbm_wildcard_rcv_subscribe_channel.
Parameters:
wrcv A pointer to a UM wildcard receiver object.
channel The channel number for the channel subscription to be removed.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_wildcard_rcv_unsubscribe_channel_ex ( lbm_wildcard_rcv_t *  wrcv,
lbm_uint32_t  channel,
lbm_event_queue_cancel_cb_info_t cbinfo 
)

Parameters:
rcv A pointer to a UM wildcard receiver object.
channel The channel number for the channel subscription to be removed.
cbinfo Cancellation callback information, containing the event queue, function pointer, and client data for the callback.
Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_win32_static_thread_attach ( void   ) 

This function sets up UM Thread Local Storage used for handling error information on a per thread basis. This function only needs to be called when using the static version of the UM library on Windows.

Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_win32_static_thread_detach ( void   ) 

This function frees up UM Thread Local Storage used for handling error information on a per thread basis. This function only needs to be called when using the static version of the UM library on Windows.

Returns:
0 for Success and -1 for Failure

LBMExpDLL int lbm_wrcv_ume_deregister ( lbm_wildcard_rcv_t *  wrcv  ) 

This function causes a UMP deregistration request to be sent to all stores the wildcard receiver is currently registered to, and disallows any future registrations.

Parameters:
wrcv Pointer to a UM wildcard receiver object
Returns:
0 for Success and -1 for Failure


Generated on Thu Mar 6 13:11:10 2014 for LBM API by  doxygen 1.5.2