UM C API  6.16
lbm.h File Reference

Ultra Messaging (UM) Core API. The "lbm.h" header file defines the main APIs to use Ultra Messaging. For many applications, this is the only header file needed. The binary code is contained in the "lbm" library (dynamic on Unix: "liblbm.so", static on Unix: "liblbm.a", dynamic only on Windows: "lbm.dll"). See UM C API for general information on the C API. See Fundamental Concepts for an introduction to Ultra Messaging. More...

#include <inttypes.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_timespec_t_stct
 Structure that holds seconds and nanoseconds 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
 DEPRECATED, do not use. 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_src_event_timestamp_info_t_stct
 Structure that holds the High Resolution Timestamp and sequence number associated with the sent message. More...
 
struct  lbm_msg_ume_registration_t_stct
 DEPRECATED, NOT USED. More...
 
struct  lbm_msg_ume_registration_ex_t_stct
 Structure that holds Store registration information for the UM persistent receiver after a successful registration. 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 after a successful deregistration. 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 See lbm_flight_size_inflight_t_stct for field definitions. 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 queuing receivers when an index stops. More...
 
struct  lbm_msg_umq_index_assigned_ex_t_stct
 Structure that holds beginning-of-index information for queuing receivers. More...
 
struct  lbm_msg_umq_index_released_ex_t_stct
 Structure that holds end-of-index information for queuing receivers. More...
 
struct  lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t_stct
 Structure that holds index assignment information for queuing receivers to indicate the start of index assignment. 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
 Structure for defining a UMQ application set. More...
 
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_resolver_event_info_t_stct
 Resolver event structure (for UM internal use only). More...
 
struct  lbm_resolver_event_advertisement_t_stct
 Advertisement event structure (for UM internal use only). More...
 
struct  lbm_resolver_event_func_t_stct
 Resolver event function (for UM internal use only). More...
 
struct  lbm_mem_mgt_callbacks_t_stct
 Structure that holds the application function to configure Smart Source memory management. More...
 
struct  lbm_process_events_info_t_stct
 Structure that holds information for the extended Process Events calls. 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. More...
 
struct  lbm_ssrc_send_ex_info_t_stct
 Structure that holds information for the extended smart source send calls. 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 queue information for queuing 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 queuing 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_datagram_acceleration_recv_info_t_stct
 Information returned from lbm_datagram_acceleration_recvfrom_function_t function. More...
 
struct  lbm_datagram_acceleration_func_t_stct
 A structure used to hold functions to configure datagram acceleration implementation callbacks. More...
 
struct  lbm_str_hash_func_t_stct
 Structure that holds the hash function callback information. More...
 
struct  lbm_str_hash_func_ex_t_stct
 Structure that holds the extended hash function callback information. More...
 
struct  lbm_src_notify_func_t_stct
 Structure that holds the context application function to configure the callback when new sources are discovered. More...
 
struct  lbm_rcv_batch_notify_func_t_stct
 UM internal use only. DO NOT USE. More...
 
struct  lbm_wildcard_rcv_compare_func_t_stct
 Structure that holds the application callback function to configure "appcb" type wildcard pattern type. More...
 
struct  lbm_ume_rcv_regid_func_t_stct
 Structure that holds the application function to configure the callback for registration ID setting. More...
 
struct  lbm_ume_rcv_regid_ex_func_t_stct
 Structure that holds the application function to configure the callback for registration ID setting, extended form. More...
 
struct  lbm_ume_src_force_reclaim_func_t_stct
 Structure that holds the application function to configure the forced reclamation notification callback. 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 function to configure the callback for recovery sequence number information, extended form. More...
 
struct  lbm_ume_store_entry_t_stct
 Structure that holds information to configure a persistent Store. More...
 
struct  lbm_ucast_resolver_entry_t_stct
 Structure that holds information to configure a unicast resolver daemon. More...
 
struct  lbm_resolver_service_entry_t_stct
 Structure that holds information to configure a Resolver Service. More...
 
struct  lbm_transport_broker_entry_t_stct
 Structure that holds IP and Port to configure the broker. More...
 
struct  lbm_ume_store_name_entry_t_stct
 Structure that holds information to configure a persistent Store. More...
 
struct  lbm_ume_store_group_entry_t_stct
 Structure that holds information to configure a Persistent Store group. More...
 
struct  lbm_rcv_src_notification_func_t_stct
 Structure that holds the receiver application functions when configuring callbacks when sources are subscribed or unsubscribed. 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 queue registration information to configure a queuing broker. More...
 
struct  lbm_umq_ulb_receiver_type_entry_t_stct
 Structure that holds ULB queue information to configure an application set. More...
 
struct  lbm_umq_ulb_application_set_attr_t_stct
 Structure that holds information to configure any of several ULB source's application set attributes. The attribute being set is determined by the configuration option. More...
 
struct  lbm_umq_ulb_receiver_type_attr_t_stct
 Structure that holds information to configure any of several ULB source's receiver type attributes. The attribute being set is determined by the configuration option. More...
 
struct  lbm_context_src_event_func_t_stct
 Structure that holds the application callback to configure context-level source events. More...
 
struct  lbm_context_event_func_t_stct
 Structure that holds the application function to configure the 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
 DEPRECATED, do not use. More...
 
struct  lbm_msg_channel_info_t_stct
 Structure that represents UMS Spectrum channel information. More...
 
struct  lbm_msg_t_stct
 Information structure for receive events delivered to receiver callback lbm_rcv_cb_proc. More...
 
struct  lbm_context_rcv_immediate_msgs_func_t_stct
 Structure that holds the application function to configure a callback for receiving certain immediate mode messages (UIM). More...
 
struct  lbm_transport_source_info_t_stct
 Structure that holds parsed transport source strings. More...
 
struct  lbm_src_cost_func_t_stct
 Structure that holds the source_cost_evaluation_function (context) context option. More...
 
struct  lbm_config_option_stct_t
 Config option structure holding the option name and value via string types. More...
 
struct  lbm_wildcard_rcv_create_func_t_stct
 Structure that holds the receiver creation function to configure the wildcard receiver create callback. More...
 
struct  lbm_wildcard_rcv_delete_func_t_stct
 Structure that holds the receiver deletion function information to configure the wildcard receiver delete callback. 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
 DEPRECATED, do not use. 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_lbtsmx_t_stct
 Structure that holds datagram statistics for source LBT-SMX transports. More...
 
struct  lbm_src_transport_stats_lbtrdma_t_stct
 DEPRECATED, do not use. lbt-rdma is no longer supported. More...
 
struct  lbm_src_transport_stats_broker_t_stct
 Structure that holds datagram statistics for source BROKER 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
 DEPRECATED, do not use. 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_lbtsmx_t_stct
 Structure that holds datagram statistics for receiver LBT-SMX transports. More...
 
struct  lbm_rcv_transport_stats_lbtrdma_t_stct
 DEPRECATED, do not use. LBT-RDMA is no longer supported. More...
 
struct  lbm_rcv_transport_stats_broker_t_stct
 Structure that holds message statistics for receiver BROKER 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_rcv_topic_stats_t_stct
 Structure that holds statistics for a receiver topic. More...
 
struct  lbm_wildcard_rcv_stats_t_stct
 Structure that holds statistics for a wildcard receiver. 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. The iterator is used to access the fields of a property. More...
 
struct  lbm_umm_info_t_stct
 Structure for specifying UMM daemon connection options. More...
 
struct  lbm_xsp_zero_transports_func_t_stct
 Structure that holds the XSP zero transports function. More...
 
struct  lbm_new_transport_info_t_stct
 Structure that holds information about a transport session that we're about to join. More...
 
struct  lbm_transport_mapping_func_t_stct
 Structure that holds the application function to configure the XSP transport mapping function callback. More...
 

Macros

#define LBM_VERS_MAJOR   6
 
#define LBM_VERS_MINOR   16
 
#define LBM_VERS_MAINT   0
 
#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
 Value returned by lbm_errnum() indicating an invalid argument was passed.
 
#define LBM_EWOULDBLOCK   2
 Value returned by lbm_errnum() indicating send function would have blocked, but send was LBM_SRC_NONBLOCK. More...
 
#define LBM_ENOMEM   3
 Value returned by lbm_errnum() indicating operation could not be completed due to memory allocation error.
 
#define LBM_EOP   4
 Value returned by lbm_errnum() indicating operation was invalid due to error in internal processing.
 
#define LBM_EOS   5
 Value returned by lbm_errnum() indicating operation failed due to unrecoverable OS system call error.
 
#define LBM_ETIMEDOUT   6
 Value returned by lbm_errnum() indicating operation timed out waiting to complete.
 
#define LBM_EDAEMONCONN   7
 Value returned by lbm_errnum() indicating UM daemon connection not connected.
 
#define LBM_EUMENOREG   8
 Value returned by lbm_errnum() indicating registration not completed.
 
#define LBM_EOPNOTSUPP   9
 Value returned by lbm_errnum() indicating operation is not supported.
 
#define LBM_EINPROGRESS   10
 Value returned by lbm_errnum() indicating operation in progress.
 
#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_EMSG_SELECTOR   14
 lbm_errnum() Error parsing message selector.
 
#define LBM_MSG_DATA   0
 Value for lbm_msg_t::type indicating reception of a Data message, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_EOS   1
 Value for lbm_msg_t::type indicating End of Transport Session, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_REQUEST   2
 Value for lbm_msg_t::type indicating reception of a Request message, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_RESPONSE   3
 Value for lbm_msg_t::type indicating reception of a Response message, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UNRECOVERABLE_LOSS   4
 Value for lbm_msg_t::type indicating that a lost message could not be recovered within the configured parameters, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UNRECOVERABLE_LOSS_BURST   5
 Value for lbm_msg_t::type indicating that a series of consecutive lost messages exceeded the configured limit delivery_control_maximum_burst_loss (receiver), delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_NO_SOURCE_NOTIFICATION   6
 Value for lbm_msg_t::type indicating that no source has yet been found for the requested topic for a time exceeding the configured limit, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UME_REGISTRATION_ERROR   7
 Value for lbm_msg_t::type indicating that the persistent Store has rejected the receiver's registration, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UME_REGISTRATION_SUCCESS   8
 Value for lbm_msg_t::type. DEPRECATED, do not use. More...
 
#define LBM_MSG_UME_REGISTRATION_CHANGE   9
 Value for lbm_msg_t::type indicating a change in the receiver's registration status, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX   10
 Value for lbm_msg_t::type indicating that a persistent Store has accepted the receiver's changed registration, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX   11
 Value for lbm_msg_t::type indicating successful persistent receiver registration with a quorum of Stores, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX   12
 Value for lbm_msg_t::type indicating successful persistent receiver deregistration from one Store, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UME_DEREGISTRATION_COMPLETE_EX   13
 Value for lbm_msg_t::type indicating successful persistent receiver deregistration from all Stores, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UMQ_REGISTRATION_ERROR   16
 Value for lbm_msg_t::type indicating that the queue has rejected the receiver's registration, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX   18
 Value for lbm_msg_t::type indicating queuing receiver registration, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX   19
 Value for lbm_msg_t::type indicating successful queuing receiver deregistration, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_BOS   20
 Value for lbm_msg_t::type indicating the beginning of a receive-side transport session, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_ERROR   21
 Value for lbm_msg_t::type indicating an error while attempting to start or stop a queuing message assignment, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX   22
 Value for lbm_msg_t::type indicating the start of index assignment eligibility or index assignment, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX   23
 Value for lbm_msg_t::type indicating the end of index assignment eligibility or index assignment, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UMQ_INDEX_ASSIGNED_EX   24
 Value for lbm_msg_t::type indicating the start of index, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UMQ_INDEX_RELEASED_EX   25
 Value for lbm_msg_t::type indicating the end of an index, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ERROR   26
 Value for lbm_msg_t::type indicating an error assigning an index, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_HF_RESET   27
 Value for lbm_msg_t::type indicating the source invoked lbm_hf_src_send_rcv_reset() to reset HF sequence numbers, delivered to receiver callback lbm_rcv_cb_proc. More...
 
#define LBM_MSG_RESERVED_1   28
 Value for lbm_msg_t::type. NOT USED. Reserved for future use.
 
#define LBM_MSG_START_BATCH   0x1
 Value passed to "flag" parameter in send call. DEPRECATED, do not use. Starts an explicit batch of messages. See Explicit Batching.
 
#define LBM_MSG_END_BATCH   0x2
 Value passed to "flag" parameter in send call. DEPRECATED, do not use. Ends an explicit batch of messages. See Explicit Batching.
 
#define LBM_MSG_COMPLETE_BATCH   0x3 /* same as START | END */
 Value passed to "flag" parameter in send call. DEPRECATED, do not use. Indicates that this message is the entire batch (both start and end). See Explicit Batching.
 
#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). More...
 
#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_BLOCK_TEMP   0x10
 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. More...
 
#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_BUFF_ALLOC   0x100
 Flag passed to the lbm source send call lbm_src_send() to indicate that the msg buffer passed was allocated with lbm_src_alloc_msg_buff() and should be sent using the Zero-Copy Send API feature. NOTE: This flag is only intended to work with lbm_src_send() call. Using it with other source send functions can cause unexpected behavior.
 
#define LBM_RCV_NONBLOCK   0x8
 reserved for future use
 
#define LBM_RCV_BLOCK_TEMP   0x10
 reserved for future use
 
#define LBM_RCV_BLOCK   0x20
 reserved for future use
 
#define LBM_MSG_FLAG_START_BATCH   0x1
 lbm_msg_t::flags. Message starts a batch.
 
#define LBM_MSG_FLAG_END_BATCH   0x2
 lbm_msg_t::flags. Message ends a batch.
 
#define LBM_MSG_FLAG_HF_PASS_THROUGH   0x4
 lbm_msg_t::flags. Message is a passed-through Hot Failover message.
 
#define LBM_MSG_FLAG_UME_RETRANSMIT   0x8
 lbm_msg_t::flags. Message is a UMP retransmission.
 
#define LBM_MSG_FLAG_RETRANSMIT   0x8
 lbm_msg_t::flags. Message is a retransmission.
 
#define LBM_MSG_FLAG_IMMEDIATE   0x10
 lbm_msg_t::flags. Message is an immediate message.
 
#define LBM_MSG_FLAG_HF_DUPLICATE   0x20
 lbm_msg_t::flags. Message is a Hot Failover duplicate message.
 
#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_FLAG_TOPICLESS   0x100
 lbm_msg_t::flags. Message has no topic.
 
#define LBM_MSG_FLAG_DELIVERY_LATENCY   0x200
 lbm_msg_t::flags. For UM internal use only.
 
#define LBM_MSG_FLAG_HF_OPTIONAL   0x400
 lbm_msg_t::flags. Message is a Hot Failover optional message.
 
#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_OTR   0x2000
 lbm_msg_t::flags. Message was recovered via OTR
 
#define LBM_MSG_FLAG_UME_SRC_REGID   0x4000
 lbm_msg_t::flags. For UM internal use only.
 
#define LBM_MSG_FLAG_NUMBERED_CHANNEL   0x1
 lbm_msg_channel_info_t::flags. Message was sent on a numbered channel
 
#define LBM_TOPIC_RES_REQUEST_GW_REMOTE_INTEREST   0x40
 Flag passed to lbm_context_topic_resolution_request() to request each Gateway to propagate remote interest.
 
#define LBM_TOPIC_RES_REQUEST_CONTEXT_QUERY   0x20
 Flag passed to lbm_context_topic_resolution_request() to request contexts to query for other contexts.
 
#define LBM_TOPIC_RES_REQUEST_CONTEXT_ADVERTISEMENT   0x10
 Flag passed to lbm_context_topic_resolution_request() to request contexts to re-advertise.
 
#define LBM_TOPIC_RES_REQUEST_RESERVED1   0x08
 reserved for UM internal use
 
#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_WILDCARD_QUERY   0x01
 Flag passed to lbm_context_topic_resolution_request() to request wildcard receivers to query for source.
 
#define LBM_SRC_EVENT_CONNECT   1
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating the first or initial receiver of a subscribing application has joined the source's transport session. The "ed" parameter of source event callback should be ignored. More...
 
#define LBM_SRC_EVENT_DISCONNECT   2
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating the last or final receiver of a subscribing application has left the source's transport session. More...
 
#define LBM_SRC_EVENT_WAKEUP   3
 Value for "event" parameter of source event callback lbm_context_src_cb_proc and lbm_src_cb_proc indicating the application can send more messages. More...
 
#define LBM_SRC_EVENT_DAEMON_CONFIRM   4
 Value for "event" parameter of source event callback lbm_src_cb_proc. More...
 
#define LBM_SRC_EVENT_UME_REGISTRATION_ERROR   5
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating persistent registration of source failed. The "ed" parameter of the source event callback should be cast to (char *), and contains an error message as a null-terminated string.
 
#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS   6
 Value for "event" parameter of source event callback lbm_src_cb_proc. More...
 
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE   7
 Value for "event" parameter of source event callback lbm_src_cb_proc. More...
 
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION   8
 Value for "event" parameter of source event callback lbm_src_cb_proc. More...
 
#define LBM_SRC_EVENT_UME_STORE_UNRESPONSIVE   9
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating a Store has not been active for the Store activity timeout (see ume_store_activity_timeout (source)). More...
 
#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED   10
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating a message is being reclaimed. This is the older form. See LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX for an expanded form of this event. More...
 
#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX   11
 Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating the source successfully registered with a Store. Note that since this represents a single Store's acceptance, this does not mean that registration is complete; see LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX. More...
 
#define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX   12
 Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating the source successfully registered with a quorum of Stores. The application can now send messages. More...
 
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX   13
 Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating that a message is stable on the Store. More...
 
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX   14
 Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating that a receiver has confirmed delivery of a message. More...
 
#define LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO   15
 Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating the assigned sequence number of a message being sent. This callback is made synchronously with a lbm_src_send_ex() call (or equivalent). More...
 
#define LBM_SRC_EVENT_UMQ_REGISTRATION_ERROR   16
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating failure to register with the queuing broker. More...
 
#define LBM_SRC_EVENT_UMQ_MESSAGE_ID_INFO   17
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating the queuing message ID being assigned to the message being sent. More...
 
#define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX   18
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating registration with the queuing broker is complete. More...
 
#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX   19
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating a message is stable on the queuing broker. More...
 
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_ASSIGNED_EX   20
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating a ULB message is has been assigned to a receiver. More...
 
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX   21
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating a ULB message is has been re-assigned to a different receiver. More...
 
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX   22
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating a ULB message has timed out and has exceeded its lifetime. The message is discarded. More...
 
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_COMPLETE_EX   23
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating that all ULB receiver application sets have confirmed that a ULB message has been received and processed. More...
 
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_CONSUMED_EX   24
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating that a ULB receiver has confirmed that a ULB message has been received and processed. More...
 
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_REGISTRATION_EX   25
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating that a ULB receiver has registered with this source. More...
 
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_DEREGISTRATION_EX   26
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating that a ULB receiver has de-registered with this source. More...
 
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_READY_EX   27
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating that a ULB receiver is ready to receive messages. More...
 
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_TIMEOUT_EX   28
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating that a ULB receiver has timed out and exceeded its lifetime. More...
 
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION   29
 Value for "event" parameter of source event callbacks lbm_src_cb_proc, lbm_ssrc_cb_proc, and lbm_context_src_cb_proc indicating that a persistent, queuing, or ULB source has changed its flight size state. More...
 
#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX   30
 Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating a message is being reclaimed. This is the newer, expanded form. See LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED for the older form. More...
 
#define LBM_SRC_EVENT_UME_DEREGISTRATION_SUCCESS_EX   31
 Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating the source successfully de-registered with a Store. Note that since this represents a single Store's deregistration, this does not mean that deregistration is complete; see LBM_SRC_EVENT_UME_DEREGISTRATION_COMPLETE_EX. More...
 
#define LBM_SRC_EVENT_UME_DEREGISTRATION_COMPLETE_EX   32
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating the source successfully de-registered with all Stores. More...
 
#define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE   33
 Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating the source gave up waiting for a quorum of Stores to acknowledge stability of a message. More...
 
#define LBM_SRC_EVENT_TIMESTAMP   34
 Value for "event" parameter of source event callback lbm_src_cb_proc indicating a high-resolution timestamp for a sent message. More...
 
#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX   1
 Value for "event" parameter of context event callback lbm_context_event_cb_proc indicating the context has successfully registered with the queue broker. More...
 
#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_SUCCESS_EX   2
 Value for "event" parameter of context event callback lbm_context_event_cb_proc indicating the context has successfully registered with the queue broker. More...
 
#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_ERROR   3
 Value for "event" parameter of context event callback lbm_context_event_cb_proc indicating the context has successfully registered with the queue broker. More...
 
#define LBM_CONTEXT_EVENT_UMQ_INSTANCE_LIST_NOTIFICATION   4
 Value for "event" parameter of context event callback lbm_context_event_cb_proc indicating a change in the list of queue instances. More...
 
#define LBM_TRANSPORT_TYPE_TCP   0x00
 Transport type TCP.
 
#define LBM_TRANSPORT_TYPE_LBTRU   0x01
 Transport type LBT-RU.
 
#define LBM_TRANSPORT_TYPE_LBTSMX   0x4
 Transport type LBT-SMX.
 
#define LBM_TRANSPORT_TYPE_LBTRM   0x10
 Transport type LBT-RM.
 
#define LBM_TRANSPORT_TYPE_LBTIPC   0x40
 Transport type LBT-IPC.
 
#define LBM_TRANSPORT_TYPE_LBTRDMA   0x20
 Transport type LBT-RDMA.
 
#define LBM_TRANSPORT_TYPE_BROKER   0x80
 Transport type BROKER.
 
#define LBM_SECURITY_PROTOCOL_NONE   0x1
 No security.
 
#define LBM_SECURITY_PROTOCOL_TLS   0x2
 TLS 1.1 and above security.
 
#define LBM_CTX_ATTR_COMPRESSION_NONE   0
 
#define LBM_CTX_ATTR_COMPRESSION_LZ4   1
 
#define LBM_CTX_ATTR_OP_EMBEDDED   1
 Value for operational_mode (context) configuration option to enable Embedded Mode.
 
#define LBM_CTX_ATTR_OP_DAEMON   2
 Value for operational_mode (context) configuration option. DEPRECATED, do not use. More...
 
#define LBM_CTX_ATTR_OP_SEQUENTIAL   3
 Value for operational_mode (context) configuration option to enable Sequential Mode.
 
#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_MON_FORMAT_CSV   1
 
#define LBM_CTX_ATTR_MON_FORMAT_PB   2
 
#define LBM_CTX_ATTR_IPC_RCV_THREAD_PEND   1
 
#define LBM_CTX_ATTR_IPC_RCV_THREAD_BUSY_WAIT   2
 
#define LBM_CTX_ATTR_FD_MANAGEMENT_BEHAVIOR_PEND   1
 
#define LBM_CTX_ATTR_FD_MANAGEMENT_BEHAVIOR_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_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_LBTSMX   LBM_TRANSPORT_TYPE_LBTSMX
 
#define LBM_SRC_TOPIC_ATTR_TRANSPORT_LBTRDMA   LBM_TRANSPORT_TYPE_LBTRDMA
 
#define LBM_SRC_TOPIC_ATTR_TRANSPORT_BROKER   LBM_TRANSPORT_TYPE_BROKER
 
#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_SSF_ULB   3
 
#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
 Configuration flag to enable delivery of the ULB source event LBM_SRC_EVENT_UMQ_ULB_MESSAGE_CONSUMED_EX. See umq_ulb_events (source).
 
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_TIMEOUT   0x2
 Configuration flag to enable delivery of the ULB source event LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX. See umq_ulb_events (source).
 
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_ASSIGNMENT   0x4
 Configuration flag to enable delivery of the ULB source event LBM_SRC_EVENT_UMQ_ULB_MESSAGE_ASSIGNED_EX. See umq_ulb_events (source).
 
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_REASSIGNMENT   0x8
 Configuration flag to enable delivery of the ULB source event LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX. See umq_ulb_events (source).
 
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_COMPLETE   0x10
 Configuration flag to enable delivery of the ULB source event LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_COMPLETE. See umq_ulb_events (source).
 
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_TIMEOUT   0x20
 Configuration flag to enable delivery of the ULB source event LBM_SRC_EVENT_UMQ_ULB_RECEIVER_TIMEOUT_EX. See umq_ulb_events (source).
 
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_REGISTRATION   0x40
 Configuration flag to enable delivery of the ULB source event LBM_SRC_EVENT_UMQ_ULB_RECEIVER_REGISTRATION_EX. See umq_ulb_events (source).
 
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_DEREGISTRATION   0x80
 Configuration flag to enable delivery of the ULB source event LBM_SRC_EVENT_UMQ_ULB_RECEIVER_DEREGISTRATION_EX. See umq_ulb_events (source).
 
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_READY   0x100
 Configuration flag to enable delivery of the ULB source event LBM_SRC_EVENT_UMQ_ULB_RECEIVER_READY_EX. See umq_ulb_events (source).
 
#define LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_ALL   0x1FF
 Configuration flag to enable delivery of all ULB source events. See umq_ulb_events (source).
 
#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_SRC_TOPIC_ATTR_SECURITY_PROTOCOL_NONE   LBM_SECURITY_PROTOCOL_NONE
 
#define LBM_SRC_TOPIC_ATTR_SECURITY_PROTOCOL_TLS   LBM_SECURITY_PROTOCOL_TLS
 
#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_RCV_TOPIC_ATTR_SECURITY_PROTOCOL_NONE   LBM_SECURITY_PROTOCOL_NONE
 
#define LBM_RCV_TOPIC_ATTR_SECURITY_PROTOCOL_TLS   LBM_SECURITY_PROTOCOL_TLS
 
#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_MAX_UME_STORES   25
 
#define LBM_MAX_UME_GROUPS   5
 
#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_MAX_GATEWAY_NAME_LEN   128
 
#define LBM_OTID_BLOCK_SZ   32
 
#define LBM_CONTEXT_INSTANCE_BLOCK_SZ   8
 
#define LBM_FLIGHT_SIZE_BEHAVIOR_NOTIFY   0x0
 
#define LBM_FLIGHT_SIZE_BEHAVIOR_BLOCK   0x1
 
#define LBM_FD_EVENT_READ   0x1
 FD event bit passed in "ev" parameter to lbm_fd_cb_proc. Indicates file descriptor/socket is readable.
 
#define LBM_FD_EVENT_WRITE   0x2
 FD event bit passed in "ev" parameter to lbm_fd_cb_proc. Indicates file descriptor/socket is writable.
 
#define LBM_FD_EVENT_EXCEPT   0x4
 FD event bit passed in "ev" parameter to lbm_fd_cb_proc. Indicates file descriptor/socket is has an exception (OOB/URG).
 
#define LBM_FD_EVENT_ACCEPT   0x8
 FD event bit passed in "ev" parameter to lbm_fd_cb_proc. Indicates TCP socket has accepted a connection.
 
#define LBM_FD_EVENT_CLOSE   0x10
 FD event bit passed in "ev" parameter to lbm_fd_cb_proc. Indicates a file descriptor or socket has closed.
 
#define LBM_FD_EVENT_CONNECT   0x20
 FD event bit passed in "ev" parameter to lbm_fd_cb_proc. Indicates a TCP socket has completed connecting to a remote socket.
 
#define LBM_FD_EVENT_ALL   0x3f
 FD event bit mask in "ev" parameter to lbm_fd_cb_proc. Or together all of the possible individual event bits.
 
#define LBM_EVENT_QUEUE_BLOCK   0xFFFFFFFF
 Timeout value passed to lbm_event_dispatch() to ask it to block.
 
#define LBM_EVENT_QUEUE_POLL   0x0
 Timeout value passed to lbm_event_dispatch() to ask it to poll.
 
#define LBM_EVENT_QUEUE_SIZE_WARNING   0x1
 event queue monitor event type passed to lbm_event_queue_monitor_proc. Warning of event queue size.
 
#define LBM_EVENT_QUEUE_DELAY_WARNING   0x2
 event queue monitor event type passed to lbm_event_queue_monitor_proc. Warning of excessive delay for event.
 
#define LBM_EVENT_QUEUE_ENQUEUE_NOTIFICATION   0x3
 event queue monitor event type passed to lbm_event_queue_monitor_proc. Notification of something being added to queue.
 
#define LBM_LOG_EMERG   1
 log level, as passed to lbm_log_cb_proc. Emergency
 
#define LBM_LOG_ALERT   2
 log level, as passed to lbm_log_cb_proc. Alert
 
#define LBM_LOG_CRIT   3
 log level, as passed to lbm_log_cb_proc. Critical
 
#define LBM_LOG_ERR   4
 log level, as passed to lbm_log_cb_proc. Error
 
#define LBM_LOG_WARNING   5
 log level, as passed to lbm_log_cb_proc. Warning
 
#define LBM_LOG_NOTICE   6
 log level, as passed to lbm_log_cb_proc. Notice
 
#define LBM_LOG_INFO   7
 log level, as passed to lbm_log_cb_proc. Informational
 
#define LBM_LOG_DEBUG   8
 log level, as passed to lbm_log_cb_proc. Debugging information
 
#define LBM_LOG_ROLLOVER_SIZE_MAX   4000
 
#define LBM_DEBUG_LOG_ROLLOVER_SIZE_MAX   0xFFFFFFFF
 
#define LBM_DAEMON_EVENT_CONNECTED   1
 UM daemon event. Connected successfully to daemon (info not valid) More...
 
#define LBM_DAEMON_EVENT_CONNECT_ERROR   2
 UM daemon event. Connected could not complete successfully (info valid) More...
 
#define LBM_DAEMON_EVENT_DISCONNECTED   3
 UM daemon event. Connection to daemon aborted (info not valid) More...
 
#define LBM_DAEMON_EVENT_CONNECT_TIMEOUT   4
 UM daemon event. Connection to daemon timed out. More...
 
#define LBM_TRANSPORT_STAT_TCP   LBM_TRANSPORT_TYPE_TCP
 Transport statistic type. TCP transport.
 
#define LBM_TRANSPORT_STAT_LBTRM   LBM_TRANSPORT_TYPE_LBTRM
 Transport statistic type. LBT-RM transport.
 
#define LBM_TRANSPORT_STAT_DAEMON   0xFF
 Transport statistic type. UM Daemon is being used.
 
#define LBM_TRANSPORT_STAT_LBTRU   LBM_TRANSPORT_TYPE_LBTRU
 Transport statistic type. LBT-RU transport.
 
#define LBM_TRANSPORT_STAT_LBTIPC   LBM_TRANSPORT_TYPE_LBTIPC
 Transport statistic type. LBT-IPC transport.
 
#define LBM_TRANSPORT_STAT_LBTSMX   LBM_TRANSPORT_TYPE_LBTSMX
 Transport statistic type. LBT-SMX transport.
 
#define LBM_TRANSPORT_STAT_LBTRDMA   LBM_TRANSPORT_TYPE_LBTRDMA
 Transport statistic type. LBT-RDMA transport.
 
#define LBM_TRANSPORT_STAT_BROKER   LBM_TRANSPORT_TYPE_BROKER
 Transport statistic type. BROKER transport.
 
#define LBM_SRS_INTEREST_REMOVE   0
 Remove interest for a topic or pattern. (for UM internal use only)
 
#define LBM_SRS_INTEREST_ADD   1
 Add interest for a topic or pattern. (for UM internal use only)
 
#define LBM_CTX_ATTR_INTEREST_MODE_FLOOD   0
 Resolver service sends SIRs to all receivers on the domain.
 
#define LBM_CTX_ATTR_INTEREST_MODE_FILTER   1
 Resolver service sends SIRs only to interested receivers.
 
#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.
 
#define LBM_WILDCARD_RCV_PATTERN_TYPE_APP_CB   3
 Application defined callback pattern type.
 
#define LBM_SYMBOL_TYPE_TOPIC   0
 symbol type is topic. (for UM internal use only)
 
#define LBM_SYMBOL_TYPE_PATTERN   LBM_WILDCARD_RCV_PATTERN_TYPE_PCRE
 symbol type is pattern, support only PCRE. (for UM internal use only)
 
#define LBM_SRC_EVENT_WAKEUP_FLAG_NORMAL   0x1
 Flag bit for "flags" element of lbm_src_event_wakeup_t_stct. Indicates the unblocked source is a normal (or hot failover) source.
 
#define LBM_SRC_EVENT_WAKEUP_FLAG_MIM   0x2
 Flag bit for "flags" element of lbm_src_event_wakeup_t_stct. Indicates the unblocked source is a context-level multicast immediate mode source.
 
#define LBM_SRC_EVENT_WAKEUP_FLAG_UIM   0x4
 Flag bit for "flags" element of lbm_src_event_wakeup_t_stct. Indicates unblocked source is a context-level unicast immediate mode source.
 
#define LBM_SRC_EVENT_WAKEUP_FLAG_REQUEST   0x8
 Flag bit for "flags" element of lbm_src_event_wakeup_t_stct. Indicates the unblocked source is a context-level request source.
 
#define LBM_SRC_EVENT_WAKEUP_FLAG_RESPONSE   0x10
 Flag bit for "flags" element of lbm_src_event_wakeup_t_stct. Indicates the unblocked source is a context-level response source.
 
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_TOTAL_LIFETIME_EXPIRED   0x1
 lbm_src_event_umq_ulb_message_info_ex_t::flags. Timeout is the result of the total lifetime expiring.
 
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX_FLAG_EXPLICIT   0x2
 lbm_src_event_umq_ulb_message_info_ex_t::flags. 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_DISCARD   0x4
 lbm_src_event_umq_ulb_message_info_ex_t::flags. 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_MAX_REASSIGNS   0x8
 lbm_src_event_umq_ulb_message_info_ex_t::flags. Timeout is the result of hitting umq_ulb_application_set_message_max_reassignments (source) number of assignments
 
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX_FLAG_EXPLICIT   0x1
 lbm_src_event_umq_ulb_message_info_ex_t::flags. Reassignment is the result of the lbm_msg_umq_reassign API being called by a receiver
 
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_UME   0x1
 Specifies a UMP flight size. See lbm_src_event_flight_size_notification_t.
 
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_ULB   0x2
 Specifies a ULB flight size. See lbm_src_event_flight_size_notification_t.
 
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_TYPE_UMQ   0x3
 Specifies a UMQ flight size. See lbm_src_event_flight_size_notification_t.
 
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_OVER   0x1
 Value for "state" field in lbm_src_event_flight_size_notification_t indicating that persisted messages in flight are now above the threshold, and the application should avoid sending additional messages until the in-flight messages drop back under the threshold. More...
 
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_UNDER   0x2
 Value for "state" field in lbm_src_event_flight_size_notification_t indicating that persisted messages in flight are now below the threshold, and the application may resume sending messages. More...
 
#define LBM_FLIGHT_SIZE_TYPE_UME   0x1
 Specify a UMP flight size.
 
#define LBM_FLIGHT_SIZE_TYPE_ULB   0x2
 Specify a ULB flight size.
 
#define LBM_FLIGHT_SIZE_TYPE_UMQ   0x3
 Specify a UMQ flight size.
 
#define LBM_SRC_SEND_EX_FLAG_UME_CLIENTD   0x1
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to indicate the UMP client data pointer is valid, in lbm_src_send_ex_info_t::ume_msg_clientd.
 
#define LBM_SRC_SEND_EX_FLAG_UMQ_CLIENTD   0x1
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to indicate the UMQ client data pointer is valid, in lbm_src_send_ex_info_t::ume_msg_clientd.
 
#define LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO   0x2
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to inform application of the sequence numbers used for message. See LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO.
 
#define LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY   0x4
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to inform application of the sequence numbers used for message (fragmented messages only) See LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO.
 
#define LBM_SRC_SEND_EX_FLAG_APPHDR_CHAIN   0x8
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to send messages using an appheader chain, in lbm_src_send_ex_info_t::apphdr_chain.
 
#define LBM_SRC_SEND_EX_FLAG_UMQ_MESSAGE_ID_INFO   0x10
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to inform application of the UMQ Message ID used for the message.
 
#define LBM_SRC_SEND_EX_FLAG_CHANNEL   0x20
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to send messages using supplied channel information, in lbm_src_send_ex_info_t::channel_info.
 
#define LBM_SRC_SEND_EX_FLAG_UMQ_INDEX   0x40
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to send messages associating them with the supplied UMQ Index, in lbm_src_send_ex_info_t::umq_index.
 
#define LBM_SRC_SEND_EX_FLAG_UMQ_TOTAL_LIFETIME   0x80
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to indicate the total UMQ lifetime is valid, in lbm_src_send_ex_info_t::umq_total_lifetime.
 
#define LBM_SRC_SEND_EX_FLAG_HF_OPTIONAL   0x100
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to send messages marked as an optional message for Hot Failover.
 
#define LBM_SRC_SEND_EX_FLAG_PROPERTIES   0x200
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to send message with the supplied messages properties, in lbm_src_send_ex_info_t::properties. See Message Properties.
 
#define LBM_SRC_SEND_EX_FLAG_HF_32   0x400
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to send message with the supplied 32 bit hot failover sequence number, in lbm_src_send_ex_info_t::hf_sqn.
 
#define LBM_SRC_SEND_EX_FLAG_HF_64   0x800
 Bit in lbm_src_send_ex_info_t::flags (passed to lbm_src_send_ex()) to send message with the supplied 64 bit hot failover sequence number, in lbm_src_send_ex_info_t::hf_sqn.
 
#define LBM_SSRC_SEND_EX_FLAG_UME_CLIENTD   0x1
 Bit in lbm_ssrc_send_ex_info_t::flags (passed to lbm_ssrc_send_ex()) to send message with the supplied UMP client data pointer, in lbm_ssrc_send_ex_info_t::ume_msg_clientd. See Smart Sources.
 
#define LBM_SSRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO   0x2
 Bit in lbm_ssrc_send_ex_info_t::flags (passed to lbm_ssrc_send_ex()) to inform application of the sequence numbers used for message. See Smart Sources.
 
#define LBM_SSRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY   0x4
 Bit in lbm_ssrc_send_ex_info_t::flags (passed to lbm_ssrc_send_ex()) to inform application of the sequence numbers used for message (fragmented messages only). See Smart Sources.
 
#define LBM_SSRC_SEND_EX_FLAG_CHANNEL   0x20
 Bit in lbm_ssrc_send_ex_info_t::flags (passed to lbm_ssrc_send_ex()) to send messages using the supplied Spectrum channel information, in lbm_ssrc_send_ex_info_t::channel. See Smart Sources and Spectrum and Smart Sources.
 
#define LBM_SSRC_SEND_EX_FLAG_PROPERTIES   0x200
 Bit in lbm_ssrc_send_ex_info_t::flags (passed to lbm_ssrc_send_ex()) to send message with the supplied messages properties, in lbm_ssrc_send_ex_info_t::mprop_int_cnt, mprop_int_keys, and mprop_int_vals. See Smart Sources and Message Properties, Message Properties, and Smart Sources.
 
#define LBM_SSRC_SEND_EX_FLAG_REBUILD_BUFFER   0x1000
 Bit in lbm_ssrc_send_ex_info_t::flags (passed to lbm_ssrc_send_ex()) to rebuild buffer before sending message. See Smart Source Message Properties Usage and Smart Sources.
 
#define LBM_SSRC_SEND_EX_FLAG_UPDATE_CHANNEL   0x2000
 Bit in lbm_ssrc_send_ex_info_t::flags (passed to lbm_ssrc_send_ex()) to update Spectrum Channel number before sending message. See Smart Sources and Spectrum, Spectrum, Smart Sources.
 
#define LBM_SSRC_SEND_EX_FLAG_UPDATE_PROPERTY_VALUES   0x4000
 Bit in lbm_ssrc_send_ex_info_t::flags (passed to lbm_ssrc_send_ex()) to update message property values before sending message. See Smart Sources and Message Properties, Message Properties, and Smart Sources.
 
#define LBM_SSRC_SEND_EX_FLAG_USER_SUPPLIED_BUFFER   0x8000
 Bit in lbm_ssrc_send_ex_info_t::flags (passed to lbm_ssrc_send_ex()) to send message with the User supplied buffer pointer, in lbm_ssrc_send_ex_info_t::usr_supplied_buffer. See Smart Source Message Buffers and Smart Sources.
 
#define SSRC_DEFAULT_MAX_MSG_LEN   368
 Default Smart Source max message length. See smart_src_max_message_length (source).
 
#define LBM_MSG_PROPERTY_NONE   0x0
 Message property with no type (used to indicate an iterator has reached the last element). See Message Properties.
 
#define LBM_MSG_PROPERTY_BOOLEAN   0x1
 Message property of boolean type. Expects a "char" variable. See Message Properties.
 
#define LBM_MSG_PROPERTY_BYTE   0x2
 Message property of byte type. Expects a "char" variable. See Message Properties.
 
#define LBM_MSG_PROPERTY_SHORT   0x3
 Message property of short type (2 bytes). Expects a "lbm_uint16_t" variable. See Message Properties.
 
#define LBM_MSG_PROPERTY_INT   0x4
 Message property of int type (4 bytes). Expects a "lbm_uint32_t" variable. See Message Properties.
 
#define LBM_MSG_PROPERTY_LONG   0x5
 Message property of long type (8 bytes). Expects a "lbm_int64_t" variable. See Message Properties.
 
#define LBM_MSG_PROPERTY_FLOAT   0x6
 Message property of float type. Expects a "float" variable. See Message Properties.
 
#define LBM_MSG_PROPERTY_DOUBLE   0x7
 Message property of double type. Expects a "double" variable. See Message Properties.
 
#define LBM_MSG_PROPERTY_STRING   0x8
 Message property of string type. Expects a "char" array. See Message Properties.
 
#define LBM_MSG_PROPERTIES_MAX_NAMELEN   250
 Maximum size for the name of a message property. See Message Properties.
 
#define LBM_CHAIN_ELEM_CHANNEL_NUMBER   0x1
 Element is a channel number in network byte order. Internal use only.
 
#define LBM_CHAIN_ELEM_HF_SQN   0x2
 Element is a hot-failover sequence number in network byte order. Internal use only.
 
#define LBM_CHAIN_ELEM_GW_INFO   0x3
 Element is gateway information. Internal use only.
 
#define LBM_CHAIN_ELEM_APPHDR   0x4
 Element is a non-chain app header. Internal use only.
 
#define LBM_CHAIN_ELEM_USER_DATA   0x5
 Element is user data with no byte-order transformation applied.
 
#define LBM_CHAIN_ELEM_PROPERTIES_LENGTH   0x6
 Element is the offset of a serialized properties object within an LBM message. Internal use only.
 
#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX_FLAG_OLD   0x1
 Bit in lbm_src_event_ume_registration_ex_t::flags. 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_NOACKS   0x2
 Bit in lbm_src_event_ume_registration_ex_t::flags. 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_RPP   0x4
 Bit in lbm_src_event_ume_registration_ex_t::flags. Registration was flagged as coming from a Store that allows and has accepted RPP persistent topics.
 
#define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1
 Bit in lbm_src_event_ume_registration_complete_ex_t. Registration completed with only quorum reached.
 
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_INTRAGROUP_STABLE   0x1
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Message stable for intragroup stability.
 
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_INTERGROUP_STABLE   0x2
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Message stable for intergroup stability.
 
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_STABLE   0x4
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Message is stable according to behavior desired.
 
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_STORE   0x8
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Message stable information has active Store information.
 
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_WHOLE_MESSAGE_STABLE   0x10
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Whole message (each fragment) is stable.
 
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX_FLAG_USER   0x20
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Message stabilized via lbm_ume_src_msg_stable API.
 
#define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE_FLAG_STORE   0x8
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Message not stable information has Store information.
 
#define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE_FLAG_LOSS   0x40
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Message not stable due to explicitly reported unrecoverable loss at the Store or receiver.
 
#define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE_FLAG_TIMEOUT   0x80
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Message not stable due to stability lifetime timeout.
 
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_UNIQUEACKS   0x1
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Confirmation received for specified number of unique ACKs.
 
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_UREGID   0x2
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Confirmation received with User Specified Rcv Registration ID flagged.
 
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_OOD   0x4
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Confirmation received with Out-of-Order Delivery (OOD) flagged.
 
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_EXACK   0x8
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Confirmation received with Explicit ACK (EXACK) flagged.
 
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX_FLAG_WHOLE_MESSAGE_CONFIRMED   0x10
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Whole message (each fragment) has been confirmed.
 
#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX_FLAG_FORCED   0x1
 Bit in lbm_src_event_ume_ack_ex_info_t::flags. Reclaim notification is the result of a forced reclaim.
 
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_OLD   0x1
 Bit in lbm_src_event_umq_ulb_message_info_ex_t::flags. 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_NOCACHE   0x2
 Bit in lbm_src_event_umq_ulb_message_info_ex_t::flags. Registration was flagged as coming from a Store that is configured to not cache data.
 
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP   0x4
 Bit in lbm_src_event_umq_ulb_message_info_ex_t::flags. Registration was flagged as coming from a Store that has allowed a RPP receiver.
 
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_SRC_SID   0x8
 Bit in lbm_src_event_umq_ulb_message_info_ex_t::flags. The src_session_id field of the lbm_msg_ume_registration_ex_t structure is valid.
 
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_RPP_IS_NON_BLOCKING   0x10
 Bit in lbm_src_event_umq_ulb_message_info_ex_t::flags. Registration was flagged as coming from a Store that has allowed a non-blocking RPP receiver.
 
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_PROACTIVE_KEEPALIVE   0x20
 Bit in lbm_src_event_umq_ulb_message_info_ex_t::flags. Registration was flagged as coming from a Store that has allowed a proactive keepalive receiver.
 
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX_FLAG_RANGED_RXREQ   0x40
 Bit in lbm_src_event_umq_ulb_message_info_ex_t::flags. Registration was flagged as coming from a Store that supports ranged retransmit requests.
 
#define LBM_UME_RCV_RECOVERY_INFO_EX_FLAG_SRC_SID   0x1
 The src_session_id field of the lbm_ume_rcv_recovery_info_ex_func_info_t is valid.
 
#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1
 Bit in lbm_msg_ume_registration_complete_ex_t::flags that indicates Registration completed with only quorum reached.
 
#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_RXREQMAX   0x2
 Bit in lbm_msg_ume_registration_complete_ex_t::flags that indicates registration completed with RX REQ maximum used.
 
#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX_FLAG_SRC_SID   0x4
 Bit in lbm_msg_ume_registration_complete_ex_t::flags that indicates lbm_msg_ume_registration_complete_ex_t::src_session_id is set.
 
#define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX_FLAG_RPP   0x1
 Bit in lbm_msg_ume_deregistration_ex_t::flags that indicates the deregistration was flagged as coming from a RPP Store.
 
#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1
 Bit in lbm_context_event_umq_registration_complete_ex_t::flags that indicates registration completed with only quorum reached.
 
#define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1
 Bit in lbm_src_event_umq_registration_complete_ex_t::flags that indicates registration completed with only quorum reached.
 
#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_INTRAGROUP_STABLE   0x1
 Bit in lbm_src_event_umq_stability_ack_info_ex_t::flags. Message stable for intragroup stability.
 
#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_INTERGROUP_STABLE   0x2
 Bit in lbm_src_event_umq_stability_ack_info_ex_t::flags. Message stable for intergroup stability.
 
#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_STABLE   0x4
 Bit in lbm_src_event_umq_stability_ack_info_ex_t::flags. Message is stable according to behavior desired.
 
#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX_FLAG_USER   0x8
 Bit in lbm_src_event_umq_stability_ack_info_ex_t::flags. Message stabilized via the lbm_umq_ctx_msg_stable API.
 
#define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX_FLAG_QUORUM   0x1
 Bit in lbm_src_event_umq_stability_ack_info_ex_t::flags. Registration completed with only quorum reached.
 
#define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX_FLAG_ULB   0x2
 Bit in lbm_msg_umq_registration_complete_ex_t::flags. Registration completed for UMQ ULB source.
 
#define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX_FLAG_ULB   0x1
 Bit in lbm_msg_umq_deregistration_complete_ex_t::flags. Deregistration completed for UMQ ULB source.
 
#define LBM_MSG_UMQ_INDEX_ASSIGNED_EX_FLAG_ULB   0x1
 Bit in lbm_msg_umq_index_assigned_ex_t::flags. Beginning of index from ULB source.
 
#define LBM_MSG_UMQ_INDEX_ASSIGNED_EX_FLAG_REQUESTED   0x2
 Bit in lbm_msg_umq_index_assigned_ex_t::flags. Beginning of index assignment that was requested by receiver.
 
#define LBM_MSG_UMQ_INDEX_RELEASED_EX_FLAG_ULB   0x1
 Bit in lbm_msg_umq_index_released_ex_t::flags. End of index from ULB source.
 
#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_ELIGIBILITY_START_COMPLETE_EX_FLAG_ULB   0x1
 Bit in lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t::flags. Index assignment started for ULB source.
 
#define LBM_MSG_UMQ_REASSIGN_FLAG_DISCARD   0x1
 Deprecated. Do not use.
 
#define LBM_UME_LIVENESS_RECEIVER_UNRESPONSIVE_FLAG_TMO   0x1
 Bit in ume_liveness_receiving_context_t::flag. The source context has not heard from a given receiver for a specified amount of time and is therefore declared "dead".
 
#define LBM_UME_LIVENESS_RECEIVER_UNRESPONSIVE_FLAG_EOF   0x2
 Bit in ume_liveness_receiving_context_t::flag. The receiver context has closed the response socket and the source context declares the receiver "dead".
 
#define LBM_UMM_INFO_FLAGS_USE_SSL   0x1
 Bit in lbm_umm_info_t::flags. Use SSL for UMM daemon connections.
 
#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   "JMS_UM_MessageType"
 
#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
 Bit in lbm_umq_index_info_t::flags. Index is a 64-bit unsigned integer.
 
#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
 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_OP_STATUS_IN_PROGRESS   1
 Asynchronous operation status code. Overall operation is still in progress.
 
#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_CANCELED   130
 Asynchronous operation status code. Overall operation has been successfully canceled. This is a terminal status code.
 
#define LBM_ASYNC_OP_INVALID_HANDLE   0
 Invalid asynchronous operation handle.
 
#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_RESOLVER_EVENT_ADVERTISEMENT_TYPE   0x01
 
#define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_LJ   0x00000001
 Bits related to topic resolution advertisements. For UM internal use only.
 
#define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_UME   0x00000002
 Bits related to topic resolution advertisements. For UM internal use only.
 
#define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_UMQ   0x00000004
 Bits related to topic resolution advertisements. For UM internal use only.
 
#define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_ULB   0x00000008
 Bits related to topic resolution advertisements. For UM internal use only.
 
#define LBM_RESOLVER_EVENT_ADVERTISEMENT_FLAGS_EVC   0x00000010 /* Eviction Notice */
 Bits related to topic resolution advertisements. For UM internal use only.
 
#define LBM_PROC_EVENT_EX_FLAG_USER_TIME   0x0001
 Bit in lbm_process_events_info_t::flags. See lbm_context_process_events_ex(). User must supply a valid time of day in the time_val field when this bit is set.
 
#define LBM_PROC_EVENT_EX_FLAG_NO_MAIN_LOOP_MUTEX   0x0002
 Bit in lbm_process_events_info_t::flags. See lbm_context_process_events_ex(). Suppresses UM from taking certain Mutex locks.
 
#define LBM_RESOLVER_EVENT_INFO_CAPABILITY_VERSION_FLAG_UME   0x1
 
#define LBM_RESOLVER_EVENT_INFO_CAPABILITY_VERSION_FLAG_UMQ   0x2
 
#define LBM_RESOLVER_EVENT_INFO_INFO_DOMAIN_ID_PRESENT_FLAG   0x1ULL
 
#define LBM_RESOLVER_EVENT_INFO_INFO_SOURCE_ID_PRESENT_FLAG   0x2ULL
 
#define LBM_RESOLVER_EVENT_INFO_INFO_SOURCE_ID_TYPE_PRESENT_FLAG   0x4ULL
 
#define LBM_RESOLVER_EVENT_INFO_INFO_VERSION_PRESENT_FLAG   0x8ULL
 
#define LBMR_RESOLVER_EVENT_INFO_SRC_TYPE_APPLICATION   0
 
#define LBMR_RESOLVER_EVENT_INFO_SRC_TYPE_TNWGD   1
 
#define LBMR_RESOLVER_EVENT_INFO_SRC_TYPE_STORE   2
 
#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_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_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_SRC_COST_FUNCTION_REJECT   0xffffffff
 Source cost function return value to indicate this source should be permanently rejected.
 
#define LBM_CONFIG_OPTIONS_STR_LEN   128
 Size allocation of string buffers in lbm_config_option_t.
 
#define LBM_RCV_TOPIC_STATS_FLAG_NO_SOURCE   0x0
 Receiver topic stats structure with source information.
 
#define LBM_RCV_TOPIC_STATS_FLAG_SRC_CREATED   0x1
 
#define LBM_RCV_TOPIC_STATS_FLAG_SRC_DELETED   0x2
 
#define LBM_RCV_TOPIC_STATS_FLAG_SRC_VALID   LBM_RCV_TOPIC_STATS_FLAG_SRC_CREATED
 
#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
 For portability.
 
typedef unsigned long int lbm_ulong_t
 For portability.
 
typedef unsigned short int lbm_ushort_t
 For portability.
 
typedef unsigned char lbm_uchar_t
 For portability.
 
typedef uint8_t lbm_uint8_t
 For portability.
 
typedef uint16_t lbm_uint16_t
 For portability.
 
typedef uint32_t lbm_uint32_t
 For portability.
 
typedef int32_t lbm_int32_t
 For portability.
 
typedef uint64_t lbm_uint64_t
 For portability.
 
typedef int64_t lbm_int64_t
 For portability.
 
typedef int lbm_handle_t
 Portable type across Unix and Windows for network socket (fd).
 
typedef struct lbm_context_t_stct lbm_context_t
 Context object (opaque) for UM. See Context Object.
 
typedef struct lbm_iovec_t_stct lbm_iovec_t
 Structure, struct iovec compatible, that holds information about buffers used for vectored sends. More...
 
typedef struct lbm_ipv4_address_mask_t_stct lbm_ipv4_address_mask_t
 Structure that holds an IPv4 address and a CIDR style netmask. More...
 
typedef struct lbm_timeval_t_stct lbm_timeval_t
 Structure that holds seconds and microseconds since midnight, Jan 1, 1970 UTC. More...
 
typedef struct lbm_timespec_t_stct lbm_timespec_t
 Structure that holds seconds and nanoseconds since midnight, Jan 1, 1970 UTC. More...
 
typedef struct lbm_src_event_wakeup_t_stct lbm_src_event_wakeup_t
 Structure that holds source wakeup event data. More...
 
typedef struct lbm_src_event_flight_size_notification_t_stct lbm_src_event_flight_size_notification_t
 Structure that holds flight size notification event data. More...
 
typedef struct lbm_src_event_ume_registration_t_stct lbm_src_event_ume_registration_t
 DEPRECATED, do not use. More...
 
typedef struct 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. More...
 
typedef struct 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. More...
 
typedef struct 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. More...
 
typedef struct lbm_src_event_timestamp_info_t_stct lbm_src_event_timestamp_info_t
 Structure that holds the High Resolution Timestamp and sequence number associated with the sent message. More...
 
typedef struct lbm_msg_ume_registration_t_stct lbm_msg_ume_registration_t
 DEPRECATED, NOT USED. More...
 
typedef struct lbm_msg_ume_registration_ex_t_stct lbm_msg_ume_registration_ex_t
 Structure that holds Store registration information for the UM persistent receiver after a successful registration. More...
 
typedef struct 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. More...
 
typedef struct lbm_msg_ume_deregistration_ex_t_stct lbm_msg_ume_deregistration_ex_t
 Structure that holds Store deregistration information for the UM receiver after a successful deregistration. More...
 
typedef struct lbm_src_event_ume_ack_info_t_stct lbm_src_event_ume_ack_info_t
 Structure that holds ACK information for a given message. More...
 
typedef struct 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. More...
 
typedef struct lbm_flight_size_inflight_t_stct lbm_flight_size_inflight_t
 Structure that holds information for source total inflight messages and bytes See lbm_flight_size_inflight_t_stct for field definitions.
 
typedef struct lbm_src_channel_info_t_stct lbm_src_channel_info_t
 Opaque structure that holds information used for sending on channels.
 
typedef struct lbm_umq_index_info_t_stct lbm_umq_index_info_t
 Structure that holds information used for sending and receiving messages with UMQ indices. More...
 
typedef struct 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 queuing receivers when an index stops. More...
 
typedef struct lbm_msg_umq_index_assigned_ex_t_stct lbm_msg_umq_index_assigned_ex_t
 Structure that holds beginning-of-index information for queuing receivers. More...
 
typedef struct lbm_msg_umq_index_released_ex_t_stct lbm_msg_umq_index_released_ex_t
 Structure that holds end-of-index information for queuing receivers. More...
 
typedef struct 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 queuing receivers to indicate the start of index assignment. More...
 
typedef struct lbm_apphdr_chain_t_stct lbm_apphdr_chain_t
 Opaque structure used for sending messages with app header chains.
 
typedef struct lbm_umq_msg_total_lifetime_info_t_stct lbm_umq_msg_total_lifetime_info_t
 Structure that holds UMQ message total lifetime information. More...
 
typedef union 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
 Registration ID used for UMQ contexts for both sources and receivers.
 
typedef struct lbm_umq_msgid_t_stct lbm_umq_msgid_t
 Structure that holds information for UMQ messages that allows the message to be identified uniquely. More...
 
typedef struct lbm_umq_queue_application_set_t_stct lbm_umq_queue_application_set_t
 Structure for defining a UMQ application set. More...
 
typedef struct 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. More...
 
typedef struct lbm_msg_t_stct lbm_msg_t
 Information structure for receive events delivered to receiver callback lbm_rcv_cb_proc. See Message Object. More...
 
typedef struct lbm_event_queue_t_stct lbm_event_queue_t
 Opaque structure that designates a UM event queue object. See Event Queue Object.
 
typedef lbm_uint64_t lbm_async_operation_handle_t
 Opaque handle to an asynchronous operation.
 
typedef struct lbm_resolver_event_info_t_stct lbm_resolver_event_info_t
 Resolver event structure (for UM internal use only). More...
 
typedef lbm_uint32_t(* lbm_resolver_event_cb_func) (lbm_context_t *ctx, int event, const void *ed, const lbm_resolver_event_info_t *info, void *clientd)
 Resolver event callback signature (for UM internal use only).
 
typedef struct lbm_resolver_event_advertisement_t_stct lbm_resolver_event_advertisement_t
 Advertisement event structure (for UM internal use only).
 
typedef struct lbm_resolver_event_func_t_stct lbm_resolver_event_func_t
 Resolver event function (for UM internal use only).
 
typedef void *(* lbm_mem_mgt_malloc_cb_func) (size_t size, void *clientd)
 Application callback to malloc memory using application specific function. More...
 
typedef void *(* lbm_mem_mgt_realloc_cb_func) (void *ptr, size_t size, void *clientd)
 Application callback to reallocate memory using application specific function. More...
 
typedef void(* lbm_mem_mgt_free_cb_func) (void *ptr, void *clientd)
 Application callback to free memory using application specific function. More...
 
typedef struct lbm_mem_mgt_callbacks_t_stct lbm_mem_mgt_callbacks_t
 Structure that holds the application function to configure Smart Source memory management. More...
 
typedef struct lbm_process_events_info_t_stct lbm_process_events_info_t
 Structure that holds information for the extended Process Events calls. More...
 
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. More...
 
typedef struct lbm_msg_properties_t_stct lbm_msg_properties_t
 A struct that holds information used for messages with properties. (opaque) More...
 
typedef struct lbm_src_send_ex_info_t_stct lbm_src_send_ex_info_t
 Structure that holds information for the extended send calls. More...
 
typedef struct lbm_ssrc_send_ex_info_t_stct lbm_ssrc_send_ex_info_t
 Structure that holds information for the extended smart source send calls. More...
 
typedef struct 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. More...
 
typedef struct 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. More...
 
typedef struct 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. More...
 
typedef struct 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. More...
 
typedef struct 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. More...
 
typedef struct 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. More...
 
typedef struct 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. More...
 
typedef struct lbm_msg_umq_registration_complete_ex_t_stct lbm_msg_umq_registration_complete_ex_t
 Structure that holds queue information for queuing receivers after registration is complete to all involved queue instances. More...
 
typedef struct 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. More...
 
typedef struct lbm_msg_umq_deregistration_complete_ex_t_stct lbm_msg_umq_deregistration_complete_ex_t
 Structure that holds information for queuing receivers after they de-register from a queue. More...
 
typedef struct 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. More...
 
typedef struct 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. More...
 
typedef struct lbm_datagram_acceleration_recv_info_t_stct lbm_datagram_acceleration_recv_info_t
 Information returned from lbm_datagram_acceleration_recvfrom_function_t function. More...
 
typedef int(* lbm_datagram_acceleration_init_function_t) (uint16_t api_version)
 Application callback function to implement datagram acceleration initialization. More...
 
typedef int(* lbm_datagram_acceleration_open_function_t) (struct in_addr *interface_addr, int flags, void **device_out)
 Application callback function to implement datagram acceleration open. More...
 
typedef int(* lbm_datagram_acceleration_close_function_t) (void *device)
 Application callback function to implement datagram acceleration close. More...
 
typedef int(* lbm_datagram_acceleration_bind_function_t) (void *device, int flags, int port, void *context, void **handle_out)
 Application callback function to implement datagram acceleration bind. More...
 
typedef int(* lbm_datagram_acceleration_unbind_function_t) (void *handle)
 Application callback function to implement datagram acceleration unbind. More...
 
typedef int(* lbm_datagram_acceleration_mcast_join_function_t) (void *handle, struct in_addr *mcast_addr)
 Application callback function to implement datagram acceleration multicast join. More...
 
typedef int(* lbm_datagram_acceleration_mcast_leave_function_t) (void *handle, struct in_addr *mcast_addr)
 Application callback function to implement datagram acceleration multicast leave. More...
 
typedef int(* lbm_datagram_acceleration_recvfrom_function_t) (void *device, int mode, char *buffer, size_t length, struct sockaddr_in *sin_from, struct sockaddr_in *sin_to, lbm_datagram_acceleration_recv_info_t *info)
 Application callback function to implement datagram acceleration receive from. More...
 
typedef int(* lbm_datagram_acceleration_send_connect_function_t) (void *handle, const struct sockaddr_in *dest_sin, int flags, int ttl, void **send_handle_out)
 Application callback function to implement datagram acceleration send connect. More...
 
typedef int(* lbm_datagram_acceleration_send_disconnect_function_t) (void *send_handle)
 Application callback function to implement datagram acceleration send disconnect. More...
 
typedef int(* lbm_datagram_acceleration_send_function_t) (void *send_handle, const void *buffer, size_t length, int flags)
 Application callback function to implement datagram acceleration send. More...
 
typedef int(* lbm_datagram_acceleration_sendto_function_t) (void *device, struct sockaddr_in *sin, const void *buffer, size_t length, int flags)
 Application callback function to implement datagram acceleration send to. More...
 
typedef int(* lbm_datagram_acceleration_getaddr_function_t) (void *device, struct sockaddr_in *sin)
 Application callback function to implement datagram acceleration get address. More...
 
typedef struct lbm_datagram_acceleration_func_t_stct lbm_datagram_acceleration_func_t
 A structure used to hold functions to configure datagram acceleration implementation callbacks. More...
 
typedef lbm_ulong_t(* lbm_str_hash_function_cb) (const char *str)
 Application callback for user-supplied topic hash function. More...
 
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. More...
 
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. More...
 
typedef int(* lbm_wildcard_rcv_compare_function_cb) (const char *topic_str, void *clientd)
 Application callback for application-supplied wildcard matching. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
typedef struct lbm_str_hash_func_t_stct lbm_str_hash_func_t
 Structure that holds the hash function callback information. More...
 
typedef struct lbm_str_hash_func_ex_t_stct lbm_str_hash_func_ex_t
 Structure that holds the extended hash function callback information. More...
 
typedef struct lbm_src_notify_func_t_stct lbm_src_notify_func_t
 Structure that holds the context application function to configure the callback when new sources are discovered. More...
 
typedef void *(* lbm_rcv_batch_notify_func_start_cb) (void *clientd)
 UM internal use only. DO NOT USE.
 
typedef void(* lbm_rcv_batch_notify_func_end_cb) (void *per_batch_clientd, void *clientd)
 UM internal use only. DO NOT USE.
 
typedef struct lbm_rcv_batch_notify_func_t_stct lbm_rcv_batch_notify_func_t
 UM internal use only. DO NOT USE.
 
typedef struct lbm_wildcard_rcv_compare_func_t_stct lbm_wildcard_rcv_compare_func_t
 Structure that holds the application callback function to configure "appcb" type wildcard pattern type. More...
 
typedef struct lbm_ume_rcv_regid_func_t_stct lbm_ume_rcv_regid_func_t
 Structure that holds the application function to configure the callback for registration ID setting. More...
 
typedef struct lbm_ume_rcv_regid_ex_func_t_stct lbm_ume_rcv_regid_ex_func_t
 Structure that holds the application function to configure the callback for registration ID setting, extended form. More...
 
typedef struct lbm_ume_src_force_reclaim_func_t_stct lbm_ume_src_force_reclaim_func_t
 Structure that holds the application function to configure the forced reclamation notification callback. More...
 
typedef struct lbm_mim_unrecloss_func_t_stct lbm_mim_unrecloss_func_t
 Structure that holds the application callback for multicast immediate message unrecoverable loss notification. More...
 
typedef struct lbm_ume_rcv_recovery_info_ex_func_t_stct lbm_ume_rcv_recovery_info_ex_func_t
 Structure that holds the application function to configure the callback for recovery sequence number information, extended form. More...
 
typedef struct lbm_ume_store_entry_t_stct lbm_ume_store_entry_t
 Structure that holds information to configure a persistent Store. More...
 
typedef struct lbm_ucast_resolver_entry_t_stct lbm_ucast_resolver_entry_t
 Structure that holds information to configure a unicast resolver daemon. More...
 
typedef struct lbm_resolver_service_entry_t_stct lbm_resolver_service_entry_t
 Structure that holds information to configure a Resolver Service. More...
 
typedef struct lbm_transport_broker_entry_t_stct lbm_transport_broker_entry_t
 Structure that holds IP and Port to configure the broker. More...
 
typedef struct lbm_ume_store_name_entry_t_stct lbm_ume_store_name_entry_t
 Structure that holds information to configure a persistent Store. More...
 
typedef struct lbm_ume_store_group_entry_t_stct lbm_ume_store_group_entry_t
 Structure that holds information to configure a Persistent Store group. More...
 
typedef struct lbm_rcv_src_notification_func_t_stct lbm_rcv_src_notification_func_t
 Structure that holds the receiver application functions when configuring callbacks when sources are subscribed or unsubscribed. More...
 
typedef struct ume_liveness_receiving_context_t_stct ume_liveness_receiving_context_t
 Structure that holds the information about a receiving context. More...
 
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. More...
 
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. More...
 
typedef struct 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. More...
 
typedef struct lbm_umq_queue_entry_t_stct lbm_umq_queue_entry_t
 Structure that holds queue registration information to configure a queuing broker. More...
 
typedef struct lbm_umq_ulb_receiver_type_entry_t_stct lbm_umq_ulb_receiver_type_entry_t
 Structure that holds ULB queue information to configure an application set. More...
 
typedef struct lbm_umq_ulb_application_set_attr_t_stct lbm_umq_ulb_application_set_attr_t
 Structure that holds information to configure any of several ULB source's application set attributes. The attribute being set is determined by the configuration option. More...
 
typedef struct lbm_umq_ulb_receiver_type_attr_t_stct lbm_umq_ulb_receiver_type_attr_t
 Structure that holds information to configure any of several ULB source's receiver type attributes. The attribute being set is determined by the configuration option. More...
 
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). More...
 
typedef struct lbm_context_src_event_func_t_stct lbm_context_src_event_func_t
 Structure that holds the application callback to configure context-level source events. More...
 
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. More...
 
typedef struct lbm_context_event_func_t_stct lbm_context_event_func_t
 Structure that holds the application function to configure the callback for context-level events. More...
 
typedef struct lbm_serialized_response_t_stct lbm_serialized_response_t
 Structure that holds a serialized UM response object. More...
 
typedef struct lbm_buff_t_stct lbm_buff_t
 UM internal use only. DO NOT USE.
 
typedef struct lbm_wildcard_rcv_t_stct lbm_wildcard_rcv_t
 Opaque structure that designates a UM wildcard receiver object. See UM Wildcard Receivers.
 
typedef struct lbm_hf_rcv_t_stct lbm_hf_rcv_t
 Opaque structure that designates a UM Hot Failover receiver object.
 
typedef struct lbm_hfx_attr_t_stct lbm_hfx_attr_t
 Opaque structure that designates HFX configuration options.
 
typedef struct lbm_hfx_t_stct lbm_hfx_t
 Opaque structure that designates an HFX object (for hot failover receivers across multiple contexts)
 
typedef struct lbm_hfx_rcv_t_stct lbm_hfx_rcv_t
 Opaque structure that designates an HFX receiver.
 
typedef struct lbm_topic_t_stct lbm_topic_t
 Opaque structure that designates a Topic. See Topic Object.
 
typedef struct lbm_src_t_stct lbm_src_t
 Opaque structure that designates a UM source. See Source Object.
 
typedef struct lbm_ssrc_t_stct lbm_ssrc_t
 Opaque structure that designates a UM Smart Source. More...
 
typedef struct lbm_rcv_t_stct lbm_rcv_t
 Opaque structure that designates a UM receiver. See Receiver Object.
 
typedef struct lbm_request_t_stct lbm_request_t
 Opaque structure that designates a UM request object. More...
 
typedef struct lbm_response_t_stct lbm_response_t
 Opaque structure that designates a UM response object.
 
typedef struct lbm_msg_fragment_info_t_stct lbm_msg_fragment_info_t
 Structure that holds fragment information for UM messages when appropriate. More...
 
typedef struct lbm_msg_gateway_info_t_stct lbm_msg_gateway_info_t
 DEPRECATED, do not use. More...
 
typedef struct lbm_msg_channel_info_t_stct lbm_msg_channel_info_t
 Structure that represents UMS Spectrum channel information. More...
 
typedef struct lbm_ume_rcv_ack_t_stct lbm_ume_rcv_ack_t
 Opaque structure that designates a UMP ack object.
 
typedef int(* lbm_immediate_msg_cb_proc) (lbm_context_t *ctx, lbm_msg_t *msg, void *clientd)
 Application callback for topicless immediate-mode received messages. More...
 
typedef struct lbm_context_rcv_immediate_msgs_func_t_stct lbm_context_rcv_immediate_msgs_func_t
 Structure that holds the application function to configure a callback for receiving certain immediate mode messages (UIM). More...
 
typedef struct lbm_transport_source_info_t_stct lbm_transport_source_info_t
 Structure that holds parsed transport source strings. More...
 
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. More...
 
typedef struct lbm_src_cost_func_t_stct lbm_src_cost_func_t
 Structure that holds the source_cost_evaluation_function (context) context option.
 
typedef struct lbm_context_attr_t_stct lbm_context_attr_t
 Structure used to hold configuration options for contexts. More...
 
typedef struct lbm_config_option_stct_t lbm_config_option_t
 Config option structure holding the option name and value via string types.
 
typedef struct lbm_src_topic_attr_t_stct lbm_src_topic_attr_t
 Opaque structure that holds configuration options for source topics.
 
typedef struct lbm_rcv_topic_attr_t_stct lbm_rcv_topic_attr_t
 Opaque structure that holds configuration options for receiver topics.
 
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. More...
 
typedef struct lbm_wildcard_rcv_create_func_t_stct lbm_wildcard_rcv_create_func_t
 Structure that holds the receiver creation function to configure the wildcard receiver create callback. More...
 
typedef int(* lbm_wildcard_rcv_delete_function_cb) (const char *topic_str, void *clientd)
 Application callback for wildcard receiver deletion. More...
 
typedef struct lbm_wildcard_rcv_delete_func_t_stct lbm_wildcard_rcv_delete_func_t
 Structure that holds the receiver deletion function information to configure the wildcard receiver delete callback. More...
 
typedef struct lbm_wildcard_rcv_attr_t_stct lbm_wildcard_rcv_attr_t
 Opaque structure that holds configuration options for wildcard receivers.
 
typedef struct lbm_src_transport_stats_tcp_t_stct lbm_src_transport_stats_tcp_t
 Structure that holds datagram statistics for source TCP transports. More...
 
typedef struct lbm_src_transport_stats_lbtrm_t_stct lbm_src_transport_stats_lbtrm_t
 Structure that holds datagram statistics for source LBT-RM transports. More...
 
typedef struct lbm_src_transport_stats_daemon_t_stct lbm_src_transport_stats_daemon_t
 DEPRECATED, do not use. More...
 
typedef struct lbm_src_transport_stats_lbtru_t_stct lbm_src_transport_stats_lbtru_t
 Structure that holds datagram statistics for source LBT-RU transports. More...
 
typedef struct lbm_src_transport_stats_lbtipc_t_stct lbm_src_transport_stats_lbtipc_t
 Structure that holds datagram statistics for source LBT-IPC transports. More...
 
typedef struct lbm_src_transport_stats_lbtsmx_t_stct lbm_src_transport_stats_lbtsmx_t
 Structure that holds datagram statistics for source LBT-SMX transports. More...
 
typedef struct lbm_src_transport_stats_lbtrdma_t_stct lbm_src_transport_stats_lbtrdma_t
 DEPRECATED, do not use. lbt-rdma is no longer supported. More...
 
typedef struct lbm_src_transport_stats_broker_t_stct lbm_src_transport_stats_broker_t
 Structure that holds datagram statistics for source BROKER transports. More...
 
typedef struct lbm_src_transport_stats_t_stct lbm_src_transport_stats_t
 Structure that holds statistics for source transports. More...
 
typedef struct lbm_rcv_transport_stats_tcp_t_stct lbm_rcv_transport_stats_tcp_t
 Structure that holds datagram statistics for receiver TCP transports. More...
 
typedef struct lbm_rcv_transport_stats_lbtrm_t_stct lbm_rcv_transport_stats_lbtrm_t
 Structure that holds datagram statistics for receiver LBT-RM transports. More...
 
typedef struct lbm_rcv_transport_stats_daemon_t_stct lbm_rcv_transport_stats_daemon_t
 DEPRECATED, do not use. More...
 
typedef struct lbm_rcv_transport_stats_lbtru_t_stct lbm_rcv_transport_stats_lbtru_t
 Structure that holds datagram statistics for receiver LBT-RU transports. More...
 
typedef struct lbm_rcv_transport_stats_lbtipc_t_stct lbm_rcv_transport_stats_lbtipc_t
 Structure that holds datagram statistics for receiver LBT-IPC transports. More...
 
typedef struct lbm_rcv_transport_stats_lbtsmx_t_stct lbm_rcv_transport_stats_lbtsmx_t
 Structure that holds datagram statistics for receiver LBT-SMX transports. More...
 
typedef struct lbm_rcv_transport_stats_lbtrdma_t_stct lbm_rcv_transport_stats_lbtrdma_t
 DEPRECATED, do not use. LBT-RDMA is no longer supported. More...
 
typedef struct lbm_rcv_transport_stats_broker_t_stct lbm_rcv_transport_stats_broker_t
 Structure that holds message statistics for receiver BROKER transports. More...
 
typedef struct lbm_rcv_transport_stats_t_stct lbm_rcv_transport_stats_t
 Structure that holds statistics for receiver transports. More...
 
typedef struct lbm_event_queue_attr_t_stct lbm_event_queue_attr_t
 Opaque structure that holds configuration options for event queue objects.
 
typedef struct lbm_event_queue_stats_t_stct lbm_event_queue_stats_t
 Structure that holds statistics for an event queue. More...
 
typedef struct lbm_context_stats_t_stct lbm_context_stats_t
 Structure that holds statistics for a context. More...
 
typedef struct lbm_rcv_topic_stats_t_stct lbm_rcv_topic_stats_t
 Structure that holds statistics for a receiver topic. More...
 
typedef struct lbm_wildcard_rcv_stats_t_stct lbm_wildcard_rcv_stats_t
 Structure that holds statistics for a wildcard receiver. More...
 
typedef int(* lbm_timer_cb_proc) (lbm_context_t *ctx, const void *clientd)
 Application callback for timer events. More...
 
typedef int(* lbm_rcv_cb_proc) (lbm_rcv_t *rcv, lbm_msg_t *msg, void *clientd)
 Application callback for receiver events. More...
 
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. More...
 
typedef int(* lbm_src_cb_proc) (lbm_src_t *src, int event, void *ed, void *clientd)
 Application callback for events associated with a source. More...
 
typedef int(* lbm_ssrc_cb_proc) (lbm_ssrc_t *ssrc, int event, void *ed, void *clientd)
 Application callback for source events associated with a UM Smart Source. More...
 
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. More...
 
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. More...
 
typedef int(* lbm_log_cb_proc) (int level, const char *message, void *clientd)
 Application callback for message logging. More...
 
typedef int(* lbm_daemon_event_cb_proc) (lbm_context_t *ctx, int event, const char *info, void *clientd)
 Application callback for daemon events. DO NOT USE. More...
 
typedef void(* lbm_event_queue_cancel_cb_proc) (int dispatch_thrd, void *clientd)
 Application callback for a wide variety of object delete or operation cancellation functions that use an event queue. The application is called after all events associated with the deleted object or cancelled operation are deleted, cancelled, or completed. More...
 
typedef struct 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. More...
 
typedef int(* lbm_flight_size_set_inflight_cb_proc) (int inflight, void *clientd)
 Application callback used to override the Store's stability ACKs and force inflight message count to a specific value. More...
 
typedef void(* lbm_flight_size_set_inflight_ex_cb_proc) (lbm_flight_size_inflight_t *inflight, void *clientd)
 Application callback used to override the Store's stability ACKs and force inflight message and byte counts to specific values. More...
 
typedef struct lbm_apphdr_chain_iter_t_stct lbm_apphdr_chain_iter_t
 An iterator (opaque) used to iterate over elements of an app header chain.
 
typedef struct lbm_apphdr_chain_elem_t_stct lbm_apphdr_chain_elem_t
 Structure that represents an element in an app header chain. More...
 
typedef struct 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. The iterator is used to access the fields of a property. More...
 
typedef struct lbm_umq_msg_selector_t_stct lbm_umq_msg_selector_t
 Opaque handle to a message selector.
 
typedef int(* lbm_cred_callback_fn) (const char *name, size_t name_len, const char *passwd, size_t passwd_len, void *clientd)
 DEPRECATED, DOES NOT FUNCTION.
 
typedef struct lbm_umm_info_t_stct lbm_umm_info_t
 Structure for specifying UMM daemon connection options. More...
 
typedef struct lbm_xsp_t_stct lbm_xsp_t
 XSP object (opaque) for UM. More...
 
typedef struct lbm_xsp_attr_t_stct lbm_xsp_attr_t
 Structure used to hold attributes for XSPs. More...
 
typedef int(* lbm_xsp_zero_transports_cb_proc) (lbm_xsp_t *xsp, void *clientd)
 Application callback to indicate that the number of transports associated with the given XSP has fallen to zero. More...
 
typedef struct lbm_xsp_zero_transports_func_t_stct lbm_xsp_zero_transports_func_t
 Structure that holds the XSP zero transports function. More...
 
typedef struct lbm_new_transport_info_t_stct lbm_new_transport_info_t
 Structure that holds information about a transport session that we're about to join. More...
 
typedef lbm_xsp_t *(* lbm_transport_mapping_cb_proc) (lbm_context_t *ctx, lbm_new_transport_info_t *info, void *clientd)
 Application callback to provide the user an opportunity to map a new transport session to an XSP. More...
 
typedef struct lbm_transport_mapping_func_t_stct lbm_transport_mapping_func_t
 Structure that holds the application function to configure the XSP transport mapping function callback. More...
 

Enumerations

enum  
 

Functions

LBMExpDLL const char * lbm_version (void)
 return the version string compiled into UM. More...
 
LBMExpDLL int lbm_context_dump (lbm_context_t *ctx, int *size, lbm_config_option_t *opts)
 Retrieves all context configuration option values. More...
 
LBMExpDLL int lbm_context_attr_dump (lbm_context_attr_t *cattr, int *size, lbm_config_option_t *opts)
 Retrieves all context configuration options. More...
 
LBMExpDLL int lbm_context_attr_option_size (void)
 Retrieves the number of options that are of type "context". More...
 
LBMExpDLL int lbm_context_attr_create (lbm_context_attr_t **attr)
 Create and fill a UM context attribute object with the current default values. Note: Informatica recommends the use of XML Configuration Files, for which lbm_context_attr_create_from_xml() should be used. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_context_attr_delete (lbm_context_attr_t *attr)
 Delete a UM context attribute object. More...
 
LBMExpDLL int lbm_context_attr_dup (lbm_context_attr_t **attr, const lbm_context_attr_t *original)
 Duplicate a UM context attribute object. More...
 
LBMExpDLL int lbm_context_attr_setopt (lbm_context_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied context attribute object. More...
 
LBMExpDLL int lbm_context_attr_str_setopt (lbm_context_attr_t *attr, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied context attribute object. More...
 
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 object. More...
 
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 object. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_context_delete (lbm_context_t *ctx)
 Delete a UM context object. More...
 
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 (event_queue) be set to 1. More...
 
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 options, 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. More...
 
LBMExpDLL int lbm_context_setopt (lbm_context_t *ctx, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied context. More...
 
LBMExpDLL int lbm_context_str_setopt (lbm_context_t *ctx, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied context. More...
 
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. More...
 
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. More...
 
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 topicless immediate messages. More...
 
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. More...
 
LBMExpDLL int lbm_context_set_name (lbm_context_t *ctx, const char *name)
 DEPRECATED, DOES NOT FUNCTION. More...
 
LBMExpDLL int lbm_context_get_name (lbm_context_t *ctx, char *name, size_t *size)
 DEPRECATED, DOES NOT FUNCTION! More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_license_ummnm_valid (void)
 Determine is the UMM product is licensed. More...
 
LBMExpDLL int lbm_license_vds_valid (void)
 Determine is the VDS product is licensed. More...
 
LBMExpDLL int lbm_config (const char *fname)
 Set one or more options from the contents of a disk file. More...
 
LBMExpDLL int lbm_config_xml_file (const char *url, const char *application_name)
 Load a UM XML configuration file. More...
 
LBMExpDLL int lbm_config_xml_string (const char *xml_data, const char *application_name)
 Load UM XML configuration data. More...
 
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.). More...
 
LBMExpDLL void lbm_logf (int level, const char *format,...)
 Log a message. This is an entry to the UM logging mechanism. More...
 
LBMExpDLL const char * lbm_errmsg (void)
 Return an ASCII string containing the error message last encountered by this thread. More...
 
LBMExpDLL int lbm_errnum (void)
 Return the error number last encountered by this thread. More...
 
LBMExpDLL int lbm_win32_static_thread_attach (void)
 Instructs UM that a new thread will be calling UM functions. More...
 
LBMExpDLL int lbm_win32_static_thread_detach (void)
 Instructs UM that a new thread is done calling UM functions. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_cancel_timer (lbm_context_t *ctx, int id, void **clientdp)
 Cancel a previously scheduled timer identified by id. More...
 
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. More...
 
LBMExpDLL int lbm_context_process_events (lbm_context_t *ctx, lbm_ulong_t msec)
 Process internal events in the given UM context object. More...
 
LBMExpDLL int lbm_context_process_events_ex (lbm_context_t *ctx, lbm_ulong_t msec, lbm_process_events_info_t *info)
 Extended process internal events in the given UM context object. More...
 
LBMExpDLL int lbm_context_unblock (lbm_context_t *ctx)
 Unblock a sequential mode UM context. More...
 
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. More...
 
LBMExpDLL int lbm_context_lbtipc_unblock (lbm_context_t *ctx)
 Unblock a sequential mode LBT-IPC processing loop. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_src_topic_dump (lbm_src_t *src, int *size, lbm_config_option_t *opts)
 Retrieves all source topic configuration options. More...
 
LBMExpDLL int lbm_ssrc_topic_dump (lbm_ssrc_t *ssrc, int *size, lbm_config_option_t *opts)
 Retrieves all smart source topic configuration options. More...
 
LBMExpDLL int lbm_src_topic_attr_dump (lbm_src_topic_attr_t *sattr, int *size, lbm_config_option_t *opts)
 Retrieves all source topic configuration options. More...
 
LBMExpDLL int lbm_src_topic_attr_option_size (void)
 Retrieves the number of options that are of type "topic". More...
 
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. More...
 
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. Note: Informatica recommends the use of XML Configuration Files, for which lbm_src_topic_attr_create_from_xml() should be used. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_src_topic_attr_delete (lbm_src_topic_attr_t *attr)
 Delete a source topic attribute object. More...
 
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. More...
 
LBMExpDLL int lbm_src_topic_attr_setopt (lbm_src_topic_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied source topic attribute object. More...
 
LBMExpDLL int lbm_src_topic_attr_str_setopt (lbm_src_topic_attr_t *attr, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied source topic attribute object. More...
 
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 object. More...
 
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 object. More...
 
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. More...
 
LBMExpDLL int lbm_rcv_topic_dump (lbm_rcv_t *rcv, int *size, lbm_config_option_t *opts)
 Retrieves all receiver topic configuration options. More...
 
LBMExpDLL int lbm_rcv_topic_attr_dump (lbm_rcv_topic_attr_t *rattr, int *size, lbm_config_option_t *opts)
 Retrieves all receiver topic configuration options. More...
 
LBMExpDLL int lbm_rcv_topic_attr_option_size (void)
 Retrieves the number of options that are of type "source topic". More...
 
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. Note: Informatica recommends the use of XML Configuration Files, for which lbm_rcv_topic_attr_create_from_xml() should be used. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_rcv_topic_attr_delete (lbm_rcv_topic_attr_t *attr)
 Delete a receiver topic attribute object. More...
 
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. More...
 
LBMExpDLL int lbm_rcv_topic_attr_setopt (lbm_rcv_topic_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied receiver topic attribute object. More...
 
LBMExpDLL int lbm_rcv_topic_attr_str_setopt (lbm_rcv_topic_attr_t *attr, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied receiver topic attribute object. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_src_channel_delete (lbm_src_channel_info_t *chn)
 Release the resources associated with a source channel. More...
 
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. More...
 
LBMExpDLL int lbm_ssrc_create (lbm_ssrc_t **ssrcp, lbm_context_t *ctx, lbm_topic_t *topic, lbm_ssrc_cb_proc proc, void *clientd, lbm_event_queue_t *evq)
 Create a UM Smart Source that will send messages to the given topic. More...
 
LBMExpDLL int lbm_event_queue_dump (lbm_event_queue_t *evq, int *size, lbm_config_option_t *opts)
 Retrieves all event queue attribute options. More...
 
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. More...
 
LBMExpDLL int lbm_event_queue_attr_option_size (void)
 Retrieves the number of options that are of type "event queue". More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_rcv_unsubscribe_channel (lbm_rcv_t *rcv, lbm_uint32_t channel)
 Discontinue an existing channel subscription. More...
 
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 (event_queue) be set to 1. More...
 
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. More...
 
LBMExpDLL int lbm_wildcard_rcv_unsubscribe_channel (lbm_wildcard_rcv_t *wrcv, lbm_uint32_t channel)
 Discontinue an existing channel subscription. More...
 
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. More...
 
LBMExpDLL int lbm_src_delete (lbm_src_t *src)
 Delete a UM source object. More...
 
LBMExpDLL int lbm_ssrc_delete (lbm_ssrc_t *ssrc)
 Delete a UM Smart Source object. More...
 
LBMExpDLL int lbm_src_delete_ex (lbm_src_t *src, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended delete a UM source object. More...
 
LBMExpDLL int lbm_ssrc_get_available_data_space (lbm_ssrc_t *ssrc, int *length)
 Retrieve the length of available data space after lbm_ssrc_create(). More...
 
LBMExpDLL lbm_context_tlbm_context_from_src (lbm_src_t *src)
 Retrieve the UM context object associated with a UM source object. More...
 
LBMExpDLL lbm_topic_tlbm_topic_from_src (lbm_src_t *src)
 Retrieve the UM topic object associated with a UM source object. More...
 
LBMExpDLL lbm_event_queue_tlbm_event_queue_from_src (lbm_src_t *src)
 Retrieve the UM event queue object associated with a UM source object. See Event Queue Object. More...
 
LBMExpDLL int lbm_rcv_delete (lbm_rcv_t *rcv)
 Delete a UM receiver object. More...
 
LBMExpDLL int lbm_rcv_delete_ex (lbm_rcv_t *rcv, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended delete a UM receiver object. More...
 
LBMExpDLL lbm_context_tlbm_context_from_rcv (lbm_rcv_t *rcv)
 Retrieve the UM context object associated with a UM receiver object. More...
 
LBMExpDLL lbm_event_queue_tlbm_event_queue_from_rcv (lbm_rcv_t *rcv)
 Retrieve the UM event queue object associated with a UM receiver object. See Event Queue Object. More...
 
LBMExpDLL int lbm_src_setopt (lbm_src_t *src, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied source. More...
 
LBMExpDLL int lbm_src_str_setopt (lbm_src_t *src, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied source. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_rcv_setopt (lbm_rcv_t *rcv, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied receiver. More...
 
LBMExpDLL int lbm_rcv_str_setopt (lbm_rcv_t *rcv, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied receiver. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_ssrc_send_ex (lbm_ssrc_t *ssrc, const char *usr_bufp, size_t len, int flags, lbm_ssrc_send_ex_info_t *info)
 Extended send of a message using a pre-allocated buffer to the topic associated with a UM Smart Source. More...
 
LBMExpDLL int lbm_src_flush (lbm_src_t *src)
 Send messages from both the explicit and implicit batches ASAP. More...
 
LBMExpDLL int lbm_flush_all (lbm_context_t *ctx)
 FOR UM INTERNAL USE ONLY, not for use by user applications. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_src_send_lbmmon_stats (lbm_src_t *src, char *msg, size_t len, int lbmmon_type)
 Send a PB serialized buffer as an LBMMON message using a UM source. More...
 
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. More...
 
LBMExpDLL int lbm_ssrc_retrieve_transport_stats (lbm_ssrc_t *ssrc, lbm_src_transport_stats_t *stats)
 Retrieve the transport statistics for the transport used by the given smart source. More...
 
LBMExpDLL int lbm_src_reset_transport_stats (lbm_src_t *src)
 Reset the transport statistics for the transport used by the given source. More...
 
LBMExpDLL int lbm_ssrc_reset_transport_stats (lbm_ssrc_t *ssrc)
 Reset the transport statistics for the transport used by the given smart source. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_rcv_retrieve_all_transport_stats_ex (lbm_rcv_t *rcv, int *num, int size, lbm_rcv_transport_stats_t *stats)
 Retrieve the transport stats for all the sources seen by the given receiver. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_context_retrieve_rcv_transport_stats_ex (lbm_context_t *ctx, int *num, int size, lbm_rcv_transport_stats_t *stats)
 Retrieve the transport stats for all receivers in a given context. More...
 
LBMExpDLL int lbm_context_reset_rcv_transport_stats (lbm_context_t *ctx)
 Reset the transport stats for all receivers in a given context. More...
 
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. More...
 
LBMExpDLL int lbm_context_retrieve_src_transport_stats_ex (lbm_context_t *ctx, int *num, int size, lbm_src_transport_stats_t *stats)
 Retrieve the transport stats for all the sources in a given context. More...
 
LBMExpDLL int lbm_context_reset_src_transport_stats (lbm_context_t *ctx)
 Reset the transport stats for all the sources in a given context. More...
 
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. More...
 
LBMExpDLL int lbm_event_queue_reset_stats (lbm_event_queue_t *evq)
 Reset the stats for an event queue. More...
 
LBMExpDLL int lbm_context_retrieve_stats (lbm_context_t *ctx, lbm_context_stats_t *stats)
 Retrieve the stats for a context. More...
 
LBMExpDLL int lbm_context_reset_stats (lbm_context_t *ctx)
 Reset the stats for a context. More...
 
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. More...
 
LBMExpDLL int lbm_context_reset_im_src_transport_stats (lbm_context_t *ctx)
 Reset the IM source stats for a context. More...
 
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. More...
 
LBMExpDLL int lbm_context_reset_im_rcv_transport_stats (lbm_context_t *ctx)
 Reset the IM receiver stats for a context. More...
 
LBMExpDLL int lbm_msg_retain (lbm_msg_t *msg)
 Inform UM that the application is going to retain ownership of a UM message object after the receiver callback returns. More...
 
LBMExpDLL int lbm_msg_is_fragment (lbm_msg_t *msg)
 Determine if the current message is a single fragment of a larger, multi-fragment message. More...
 
LBMExpDLL int lbm_msg_retrieve_fragment_info (lbm_msg_t *msg, lbm_msg_fragment_info_t *info)
 Retrieves fragment information from a message. More...
 
LBMExpDLL int lbm_msg_retrieve_gateway_info (lbm_msg_t *msg, lbm_msg_gateway_info_t *info)
 DEPRECATED. Retrieve gateway information from a UM message. More...
 
LBMExpDLL int lbm_msg_retrieve_msgid (lbm_msg_t *msg, lbm_umq_msgid_t *id)
 Retrieve UMQ Message ID information from a UM message. More...
 
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. More...
 
LBMExpDLL int lbm_msg_retrieve_delivery_latency (lbm_msg_t *msg, lbm_int64_t *latency_nsecs)
 UM internal use only. DO NOT USE.
 
LBMExpDLL int lbm_msg_delete (lbm_msg_t *msg)
 Delete a UM message object. More...
 
LBMExpDLL int lbm_msg_ume_send_explicit_ack (lbm_msg_t *msg)
 Send a consumption acknowledgement to the persistent Store. More...
 
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. More...
 
LBMExpDLL int lbm_src_ume_deregister (lbm_src_t *src)
 Deregister a source from the UMP Stores. More...
 
LBMExpDLL int lbm_ssrc_ume_deregister (lbm_ssrc_t *ssrc)
 Deregister a smart source from the UMP Stores. More...
 
LBMExpDLL int lbm_rcv_ume_deregister (lbm_rcv_t *rcv)
 Deregister a receiver from all known UMP Stores. More...
 
LBMExpDLL int lbm_wrcv_ume_deregister (lbm_wildcard_rcv_t *wrcv)
 Deregister a wildcard receiver from all known UMP Stores. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_response_delete (lbm_response_t *resp)
 Delete a UM response object. More...
 
LBMExpDLL int lbm_serialized_response_delete (lbm_serialized_response_t *serialized_response)
 Delete a UM serialized response object. More...
 
LBMExpDLL lbm_serialized_response_tlbm_serialize_response (lbm_response_t *resp)
 Serialize a UM response object. More...
 
LBMExpDLL lbm_response_tlbm_deserialize_response (lbm_context_t *ctx, lbm_serialized_response_t *serialized_response)
 De-serialize a UM response object. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_ssrc_send_request_ex (lbm_request_t **reqp, lbm_ssrc_t *ssrc, const char *usr_bufp, size_t len, lbm_request_cb_proc proc, void *clientd, lbm_event_queue_t *evq, int send_flags, lbm_ssrc_send_ex_info_t *exinfo)
 Send a request on the given Smart Source that contains the given data. More...
 
LBMExpDLL int lbm_request_delete (lbm_request_t *req)
 Delete a UM request object. More...
 
LBMExpDLL int lbm_request_delete_ex (lbm_request_t *req, lbm_event_queue_cancel_cb_info_t *cbinfo)
 Extended delete a UM request object. More...
 
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. More...
 
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. Note: Informatica recommends the use of XML Configuration Files, for which lbm_event_queue_attr_create_from_xml() should be used. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_event_queue_attr_delete (lbm_event_queue_attr_t *attr)
 Delete an event queue attribute object. More...
 
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. More...
 
LBMExpDLL int lbm_event_queue_attr_setopt (lbm_event_queue_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied event queue attribute object. More...
 
LBMExpDLL int lbm_event_queue_attr_str_setopt (lbm_event_queue_attr_t *attr, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied event queue attribute object. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_event_queue_setopt (lbm_event_queue_t *evq, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied event queue. More...
 
LBMExpDLL int lbm_event_queue_str_setopt (lbm_event_queue_t *evq, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied event queue. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_event_dispatch (lbm_event_queue_t *evq, lbm_ulong_t tmo)
 Dispatch waiting events to appropriate callback functions. More...
 
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. More...
 
LBMExpDLL int lbm_event_queue_size (lbm_event_queue_t *evq)
 Determine the number of queued events in the event queue. More...
 
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. More...
 
LBMExpDLL int lbm_event_queue_delete (lbm_event_queue_t *evq)
 Delete a given UM event queue object. More...
 
LBMExpDLL int lbm_unicast_immediate_message (lbm_context_t *ctx, const char *target, const char *topic, const char *data, size_t len, int flags)
 Send a unicast immediate message to the target and optional topic. More...
 
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 message to the target and topic. More...
 
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)
 DEPRECATED, do not use. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_wildcard_rcv_dump (lbm_wildcard_rcv_t *wrcv, int *size, lbm_config_option_t *opts)
 Retrieves all wildcard receiver attribute options. More...
 
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. More...
 
LBMExpDLL int lbm_wildcard_rcv_attr_option_size (void)
 Retrieves the number of options that are of type "wildcard receiver". More...
 
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. Note: Informatica recommends the use of XML Configuration Files, for which lbm_wildcard_rcv_attr_create_from_xml() should be used. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_wildcard_rcv_attr_delete (lbm_wildcard_rcv_attr_t *attr)
 Delete a wildcard receiver attribute object. More...
 
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. More...
 
LBMExpDLL int lbm_wildcard_rcv_attr_setopt (lbm_wildcard_rcv_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied wildcard receiver attribute object. More...
 
LBMExpDLL int lbm_wildcard_rcv_attr_str_setopt (lbm_wildcard_rcv_attr_t *attr, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied wildcard receiver attribute object. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_wildcard_rcv_setopt (lbm_wildcard_rcv_t *wrcv, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied wildcard receiver. More...
 
LBMExpDLL int lbm_wildcard_rcv_str_setopt (lbm_wildcard_rcv_t *wrcv, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied wildcard receiver. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_wildcard_rcv_delete (lbm_wildcard_rcv_t *wrcv)
 Delete a UM wildcard receiver object. More...
 
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. More...
 
LBMExpDLL lbm_context_tlbm_context_from_wildcard_rcv (lbm_wildcard_rcv_t *wcrcv)
 Retrieve the LBM context object associated with a UM wildcard receiver object. More...
 
LBMExpDLL lbm_event_queue_tlbm_event_queue_from_wildcard_rcv (lbm_wildcard_rcv_t *wcrcv)
 Retrieve the LBM event queue object associated with a UM wildcard receiver object. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL lbm_hf_rcv_tlbm_hf_rcv_from_rcv (lbm_rcv_t *rcv)
 Return the LBM Hot Failover (HF) receiver object (if any) from a UM receiver object. More...
 
LBMExpDLL lbm_rcv_tlbm_rcv_from_hf_rcv (lbm_hf_rcv_t *hfrcv)
 Return the LBM receiver object associated with a UM Hot Failover (HF) receiver object. More...
 
LBMExpDLL int lbm_hfx_dump (lbm_hfx_t *hfx, int *size, lbm_config_option_t *opts)
 Retrieves all HFX attribute options. More...
 
LBMExpDLL int lbm_hfx_attr_dump (lbm_hfx_attr_t *attr, int *size, lbm_config_option_t *opts)
 Retrieves all HFX attribute options. More...
 
LBMExpDLL int lbm_hfx_attr_option_size (void)
 Retrieves the number of options that are of type "hfx". More...
 
LBMExpDLL int lbm_hfx_attr_create (lbm_hfx_attr_t **attr)
 Create and fill a UM HFX attribute object with the current default values. Note: Informatica recommends the use of XML Configuration Files, for which lbm_hfx_attr_create_from_xml() should be used. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_hfx_attr_delete (lbm_hfx_attr_t *attr)
 Delete a UM HFX attribute object. More...
 
LBMExpDLL int lbm_hfx_attr_setopt (lbm_hfx_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied HFX attribute object. More...
 
LBMExpDLL int lbm_hfx_attr_str_setopt (lbm_hfx_attr_t *attr, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied HFX attribute object. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_hfx_setopt (lbm_hfx_t *hfx, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied HFX. More...
 
LBMExpDLL int lbm_hfx_str_setopt (lbm_hfx_t *hfx, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied HFX. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL int lbm_hfx_delete (lbm_hfx_t *hfx)
 Delete a UM HFX object. More...
 
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. More...
 
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. More...
 
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. More...
 
LBMExpDLL lbm_rcv_tlbm_rcv_from_hfx_rcv (lbm_hfx_rcv_t *hfxrcv)
 Retrieve the underlying receiver from an lbm_hfx_rcv_t. More...
 
LBMExpDLL int lbm_hfx_rcv_delete (lbm_hfx_rcv_t *hfrcv)
 Delete a HFX receiver. More...
 
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. More...
 
LBMExpDLL void lbm_debug_filename (const char *filename)
 Set the file to receive LBM debug log entries. More...
 
LBMExpDLL void lbm_debug_mask (lbm_uint64_t mask)
 Set the debug mask for LBM debug log entries. More...
 
LBMExpDLL void lbm_debugfile_maxsize (lbm_uint64_t size)
 This function for UM internal use only. More...
 
LBMExpDLL void lbm_debugfile_max_rollover (lbm_uint32_t size)
 This function for UM internal use only. More...
 
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 void lbm_log_debug (int on)
 Enable logging of debug messages to the application logging callback set by lbm_log(). More...
 
LBMExpDLL int lbm_debug_dump (const char *filename, int append)
 Dump a running rollback debug log to the given filename. More...
 
LBMExpDLL void lbm_debug_ring_buffer (size_t maxsz)
 Set debug ring buffer size. More...
 
LBMExpDLL void lbm_debug_ring_buffer_walltime (int use)
 Stamp messages with wall time. More...
 
LBMExpDLL void lbm_set_uim_loss_rate (int rate)
 Dynamically set the UIM loss rate. More...
 
LBMExpDLL void lbm_set_lbtrm_loss_rate (int rate)
 Dynamically set the LBT-RM loss rate. More...
 
LBMExpDLL void lbm_set_lbtrm_src_loss_rate (int rate)
 Dynamically set the LBT-RM source loss rate. More...
 
LBMExpDLL void lbm_set_lbtru_loss_rate (int rate)
 Dynamically set the LBT-RU loss rate. More...
 
LBMExpDLL void lbm_set_lbtru_src_loss_rate (int rate)
 Dynamically set the LBT-RU source loss rate. More...
 
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. See Source String. More...
 
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. See Source String. More...
 
LBMExpDLL int lbm_apphdr_chain_create (lbm_apphdr_chain_t **chain)
 DEPRECATED. Create a new app header chain that can be used to include metadata with a message. More...
 
LBMExpDLL int lbm_apphdr_chain_delete (lbm_apphdr_chain_t *chain)
 DEPRECATED. Delete an app header chain previously created with lbm_apphdr_chain_create. More...
 
LBMExpDLL int lbm_apphdr_chain_append_elem (lbm_apphdr_chain_t *chain, lbm_apphdr_chain_elem_t *elem)
 DEPRECATED. Appends a user-created app header to an app header chain. More...
 
LBMExpDLL int lbm_apphdr_chain_iter_create (lbm_apphdr_chain_iter_t **chain_iter, lbm_apphdr_chain_t *chain)
 DEPRECATED. Create an iterator (lbm_apphdr_chain_iter_t) to point to the first element in an apphdr chain. More...
 
LBMExpDLL int lbm_apphdr_chain_iter_create_from_msg (lbm_apphdr_chain_iter_t **chain_iter, lbm_msg_t *msg)
 DEPRECATED. Create an iterator (lbm_apphdr_chain_iter_t) to point to the first element in an apphdr chain associated with a UM message. More...
 
LBMExpDLL int lbm_apphdr_chain_iter_delete (lbm_apphdr_chain_iter_t *chain_iter)
 DEPRECATED. Delete an iterator allocated by one of the lbm_apphdr_chain_iter functions. More...
 
LBMExpDLL int lbm_apphdr_chain_iter_first (lbm_apphdr_chain_iter_t **chain_iter)
 DEPRECATED. Initializes an app header chain iterator to the first element in the chain. More...
 
LBMExpDLL int lbm_apphdr_chain_iter_done (lbm_apphdr_chain_iter_t **chain_iter)
 DEPRECATED. Tests an lbm_apphdr_chain_iter_t iterator to see if more elements in the chain remain. More...
 
LBMExpDLL int lbm_apphdr_chain_iter_next (lbm_apphdr_chain_iter_t **chain_iter)
 DEPRECATED. Advances the iterator to the next element in an app header chain, if any. More...
 
LBMExpDLL lbm_apphdr_chain_elem_tlbm_apphdr_chain_iter_current (lbm_apphdr_chain_iter_t **chain_iter)
 DEPRECATED. Returns the current element of an app header chain pointed to by an lbm_apphdr_chain_iter_t iterator. More...
 
LBMExpDLL int lbm_msg_properties_create (lbm_msg_properties_t **properties)
 Creates a new properties object, used for sending messages with properties. Send a message with properties with lbm_src_send_ex_info_t::properties to one of the extended send APIs, like lbm_src_send_ex(). See Message Properties. More...
 
LBMExpDLL int lbm_msg_properties_delete (lbm_msg_properties_t *properties)
 Deletes a properties object. See Message Properties. More...
 
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. See Message Properties. More...
 
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 See Message Properties. More...
 
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, type, and size. Note that this function performs a linear search through the list of properties to find the desired property. If you are going to be retrieving most or all of a large number of stored properties, it will be more efficient to use lbm_msg_properties_iter_create() to iterate once through the list. See Message Properties. More...
 
LBMExpDLL int lbm_msg_properties_iter_create (lbm_msg_properties_iter_t **iterp)
 Creates a new msg properties iterator. An iterator is used to sequentially access each property in a properties object. Properties objects normally come from lbm_msg_properties_create() or lbm_msg_t::properties via a receiver callback (lbm_rcv_cb_proc). The newly created iterator is not associated with any properties object. Use lbm_msg_properties_iter_first() to begin iterating over a properties object. See Message Properties. More...
 
LBMExpDLL int lbm_msg_properties_iter_delete (lbm_msg_properties_iter_t *iter)
 Deletes an lbm_msg_properties_iterator See Message Properties. More...
 
LBMExpDLL int lbm_msg_properties_iter_first (lbm_msg_properties_iter_t *iter, lbm_msg_properties_t *properties)
 Begin iterating over an 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. See Message Properties. More...
 
LBMExpDLL int lbm_msg_properties_iter_next (lbm_msg_properties_iter_t *iter)
 Iterate to the next property in an lbm_msg_properties_t object. See Message Properties. More...
 
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 a given source. More...
 
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 inflight message and byte counts of a given type from a given source. More...
 
LBMExpDLL int lbm_ssrc_get_inflight (lbm_ssrc_t *ssrc, 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 a given smart source. More...
 
LBMExpDLL int lbm_ssrc_get_inflight_ex (lbm_ssrc_t *ssrc, int type, lbm_flight_size_inflight_t *inflight, lbm_flight_size_set_inflight_ex_cb_proc proc, void *clientd)
 Retrieves the current inflight message and byte counts of a given type from a given smart source. More...
 
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)
 DEPRECATED. Retrieves the current number of inflight UMQ messages from the ctx pointed to by lbm_context_t *ctx. More...
 
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. More...
 
LBMExpDLL int lbm_umq_ctx_msg_stable (lbm_context_t *ctx, const char *qname, lbm_umq_msgid_t *msg_id)
 DEPRECATED. 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. More...
 
LBMExpDLL lbm_ume_rcv_ack_tlbm_msg_extract_ume_ack (lbm_msg_t *msg)
 Retrieves the ack structure from a UMP message. This is used to do explicit ACKs without having to retain the entire received message. More...
 
LBMExpDLL int lbm_ume_ack_delete (lbm_ume_rcv_ack_t *ack)
 Deletes an ACK structure that was allocated via lbm_msg_extract_ume_ack(). More...
 
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 by the supplied ACK structure. This ACK structure is obtained via lbm_msg_extract_ume_ack(), and is deleted via lbm_ume_ack_delete(). More...
 
LBMExpDLL int lbm_ume_ack_mark_not_outstanding (lbm_ume_rcv_ack_t *ack, lbm_uint_t sqn)
 Updates the internal acking state up to the sequence number provided for throttled recovery (max outstanding requests) without acking anything. More...
 
LBMExpDLL int lbm_ctx_umq_queue_topic_list (lbm_context_t *ctx, const char *queue_name, lbm_async_operation_func_t *async_opfunc)
 DEPRECATED. Retrieves a list of currently available topics from a queue (asynchronous operation) More...
 
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). More...
 
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. More...
 
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)
 DEPRECATED. Retrieves a list of all currently-queued messages from a queue (asynchronous operation). More...
 
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)
 DEPRECATED. Retrieves a set of queued messages from the queue (asynchronous operation). More...
 
LBMExpDLL int lbm_async_operation_status (lbm_async_operation_handle_t handle, int flags)
 Query the current status of an outstanding asynchronous operation. More...
 
LBMExpDLL int lbm_async_operation_cancel (lbm_async_operation_handle_t handle, int flags)
 Cancel an outstanding asynchronous operation. More...
 
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)
 DEPRECATED, DOES NOT FUNCTION. More...
 
LBMExpDLL int lbm_authstorage_open_storage_xml (char *filename)
 Create the storage object from XML password file. More...
 
LBMExpDLL void lbm_authstorage_close_storage_xml (void)
 Release the storage object. More...
 
LBMExpDLL int lbm_authstorage_checkpermission (char *username, char *command)
 Check if the user is authorized to execute the specified command. More...
 
LBMExpDLL int lbm_authstorage_addtpnam (const char *username, const char *pass, unsigned char flags)
 Add the new user credential to the password file. More...
 
LBMExpDLL int lbm_authstorage_deltpnam (const char *username)
 Delete the user credential from the password file. More...
 
LBMExpDLL int lbm_authstorage_user_add_role (const char *username, const char *role)
 Add one role entry for the user to the password file. More...
 
LBMExpDLL int lbm_authstorage_user_del_role (const char *username, const char *role)
 Delete the role entry for the user from the password file. More...
 
LBMExpDLL int lbm_authstorage_load_roletable (void)
 Load the role table from the password file. More...
 
LBMExpDLL int lbm_authstorage_unload_roletable (void)
 Unload the role table. More...
 
LBMExpDLL int lbm_authstorage_roletable_add_role_action (const char *rolename, const char *action)
 Add a new authorized action for the specified role. More...
 
LBMExpDLL int lbm_authstorage_print_roletable (void)
 Print the role table saved in the internal data object. More...
 
LBMExpDLL int lbm_set_umm_info (lbm_umm_info_t *info)
 Connect to and retrieve configuration from a UMM daemon. More...
 
LBMExpDLL int lbm_is_ume_capable (void)
 Determine if the LBM library is capable of UME operations. More...
 
LBMExpDLL int lbm_is_umq_capable (void)
 Determine if the LBM library is capable of UMQ operations. More...
 
LBMExpDLL void lbm_seterr (int eno, const char *str)
 UM internal use only. DO NOT USE.
 
LBMExpDLL void lbm_seterrf (int eno, const char *format,...)
 UM internal use only. DO NOT USE.
 
LBMExpDLL const char * lbm_strerror (void)
 UM internal use only. DO NOT USE.
 
LBMExpDLL const char * lbm_strerror_errnum (int errnum)
 UM internal use only. DO NOT USE.
 
LBMExpDLL void lbm_sock_init (void)
 UM internal use only. DO NOT USE.
 
LBMExpDLL lbm_uint64_t lbm_create_random_id (void)
 Create a random id to be used in conjunction with lbm_get_jms_msg_id() for JMS compatibility. More...
 
LBMExpDLL char * lbm_get_jms_msg_id (lbm_uint64_t source_id, lbm_uint64_t seqno_id, char *topic)
 Create JMS message ID. More...
 
LBMExpDLL int lbm_src_buff_acquire (lbm_src_t *const src, void **const bufp, const size_t len, const int flags)
 Acquires a pointer to a buffer of the specified length, to be filled in and sent later. More...
 
LBMExpDLL int lbm_src_buffs_complete (lbm_src_t *const src)
 Sends all buffers on a transport session that had been previously been acquired. More...
 
LBMExpDLL int lbm_src_buffs_complete_and_acquire (lbm_src_t *const src, void **const bufp, const size_t len, const int flags)
 First sends all buffers on a transport session that had been previously acquired, and then acquires a pointer to a buffer of the specified length, to be filled in and sent later. Equivalent to calling lbm_src_buffs_complete followed by lbm_src_buff_acquire; included for convenience. More...
 
LBMExpDLL int lbm_src_buffs_cancel (lbm_src_t *const src)
 Cancels all outstanding (not yet completed) buffers previously acquired using lbm_src_buff_acquire for this source. All such acquired-but-not-completed buffers for this source (only) will no longer be received by any receivers. More...
 
LBMExpDLL int lbm_src_alloc_msg_buff (lbm_src_t *const src, void **const usr_bufp, const size_t len, void **const lbm_hdl, const int flags)
 Allocates a zero-copy send buffer of the specified length, to be filled in and sent later (via the usr_bufp parameter). More...
 
LBMExpDLL int lbm_ssrc_buff_get (lbm_ssrc_t *const ssrc, char **const usr_bufp, const int flags)
 Get a pre-allocated user buffer associated with a UM Smart Source. More...
 
LBMExpDLL int lbm_ssrc_buff_put (lbm_ssrc_t *const ssrc, const char *usr_bufp)
 Return a pre-allocated user buffer associated with a UM Smart Source to the free list. More...
 
LBMExpDLL int lbm_xsp_attr_option_size (void)
 Retrieves the number of configuration options that are of type "xsp". More...
 
LBMExpDLL int lbm_xsp_attr_create (lbm_xsp_attr_t **attr)
 Create and fill a UM XSP attribute object with the current default values. Note: Informatica recommends the use of XML Configuration Files, for which lbm_xsp_attr_create_from_xml() should be used. More...
 
LBMExpDLL int lbm_xsp_attr_delete (lbm_xsp_attr_t *attr)
 Delete a UM XSP attribute object. More...
 
LBMExpDLL int lbm_xsp_attr_setopt (lbm_xsp_attr_t *attr, const char *optname, const void *optval, size_t optlen)
 Set the value (in binary format) of a configuration option in the supplied XSP attribute object. More...
 
LBMExpDLL int lbm_xsp_attr_str_setopt (lbm_xsp_attr_t *attr, const char *optname, const char *optval)
 Set the value (in string format) of a configuration option in the supplied XSP attribute object. More...
 
LBMExpDLL int lbm_xsp_attr_getopt (lbm_xsp_attr_t *attr, const char *optname, void *optval, size_t *optlen)
 Retrieve the value of a configuration option for the given UM XSP attribute. More...
 
LBMExpDLL int lbm_xsp_attr_str_getopt (lbm_xsp_attr_t *attr, const char *optname, char *optval, size_t *optlen)
 Retrieve the textual value of a configuration option for the given UM XSP attribute. More...
 
LBMExpDLL int lbm_xsp_create (lbm_xsp_t **xspp, lbm_context_t *ctx, lbm_context_attr_t *cattr, lbm_xsp_attr_t *attr)
 Create a UM XSP object. More...
 
LBMExpDLL int lbm_xsp_delete (lbm_xsp_t *xsp)
 Delete a UM XSP object. More...
 
LBMExpDLL int lbm_xsp_process_events (lbm_xsp_t *xsp, lbm_ulong_t msec)
 Process internal events in the given XSP object. More...
 
LBMExpDLL int lbm_xsp_unblock (lbm_xsp_t *xsp)
 Unblock a sequential mode XSP. More...
 
LBMExpDLL int lbm_xsp_register_fd (lbm_xsp_t *xsp, 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 on the given XSP for events that calls proc when a given event occurs. More...
 
LBMExpDLL int lbm_xsp_cancel_fd (lbm_xsp_t *xsp, lbm_handle_t handle, lbm_ulong_t ev)
 Cancel a previously registered file descriptor/socket event on the given XSP. More...
 
LBMExpDLL void lbm_set_benign_error_flag (void)
 UM internal use only. DO NOT USE.
 
LBMExpDLL void lbm_clr_benign_error_flag (void)
 UM internal use only. DO NOT USE.
 
LBMExpDLL int lbm_get_benign_error_flag (void)
 UM internal use only. DO NOT USE.
 

Detailed Description

Ultra Messaging (UM) Core API. The "lbm.h" header file defines the main APIs to use Ultra Messaging. For many applications, this is the only header file needed. The binary code is contained in the "lbm" library (dynamic on Unix: "liblbm.so", static on Unix: "liblbm.a", dynamic only on Windows: "lbm.dll"). See UM C API for general information on the C API. See Fundamental Concepts for an introduction to Ultra Messaging.

Macro Definition Documentation

#define LBM_CONTEXT_EVENT_UMQ_INSTANCE_LIST_NOTIFICATION   4

Value for "event" parameter of context event callback lbm_context_event_cb_proc indicating a change in the list of queue instances.

The "ed" parameter of the context event callback should be cast to (char *) and contains an informational message as a null-terminated string.

#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX   1

Value for "event" parameter of context event callback lbm_context_event_cb_proc indicating the context has successfully registered with the queue broker.

The LBM_CONTEXT_EVENT_UMQ_REGISTRATION_SUCCESS_EX and LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX events are identical and are sent one right after the other. The presence of two events for the same thing is a historical artifact from pre-6.8 versions of UM, and are retained for compatibility.

The "ed" parameter of the context event callback should be cast to (lbm_context_event_umq_registration_complete_ex_t *).

#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_ERROR   3

Value for "event" parameter of context event callback lbm_context_event_cb_proc indicating the context has successfully registered with the queue broker.

The "ed" parameter of the context event callback should be cast to (char *) and contains an error message as a null-terminated string.

#define LBM_CONTEXT_EVENT_UMQ_REGISTRATION_SUCCESS_EX   2

Value for "event" parameter of context event callback lbm_context_event_cb_proc indicating the context has successfully registered with the queue broker.

The LBM_CONTEXT_EVENT_UMQ_REGISTRATION_SUCCESS_EX and LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX events are identical and are sent one right after the other. The presence of two events for the same thing is a historical artifact from pre-6.8 versions of UM, and are retained for compatibility.

The "ed" parameter of the context event callback should be cast to (lbm_context_event_umq_registration_complete_ex_t *).

#define LBM_CTX_ATTR_OP_DAEMON   2

Value for operational_mode (context) configuration option. DEPRECATED, do not use.

Deprecated:
do not use.
#define LBM_DAEMON_EVENT_CONNECT_ERROR   2

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

Deprecated:
do not use.
#define LBM_DAEMON_EVENT_CONNECT_TIMEOUT   4

UM daemon event. Connection to daemon timed out.

Deprecated:
do not use.
#define LBM_DAEMON_EVENT_CONNECTED   1

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

Deprecated:
do not use.
#define LBM_DAEMON_EVENT_DISCONNECTED   3

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

Deprecated:
do not use.
#define LBM_EWOULDBLOCK   2

Value returned by lbm_errnum() indicating send function would have blocked, but send was LBM_SRC_NONBLOCK.

Attention
See Source Wakeup Event for important information regarding event ordering.
#define LBM_MSG_BOS   20

Value for lbm_msg_t::type indicating the beginning of a receive-side transport session, delivered to receiver callback lbm_rcv_cb_proc.

See Receiver BOS and EOS Events.

The lbm_msg_t::data pointer should be ignored.

#define LBM_MSG_DATA   0

Value for lbm_msg_t::type indicating reception of a Data message, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to point to the user's intended data type.

#define LBM_MSG_EOS   1

Value for lbm_msg_t::type indicating End of Transport Session, delivered to receiver callback lbm_rcv_cb_proc.

See Receiver BOS and EOS Events. The lbm_msg_t::data pointer should be ignored.

#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

Value for lbm_msg_t::type indicating the source invoked lbm_hf_src_send_rcv_reset() to reset HF sequence numbers, delivered to receiver callback lbm_rcv_cb_proc.

See Hot Failover (HF).

The lbm_msg_t::data pointer should be ignored.

#define LBM_MSG_NO_SOURCE_NOTIFICATION   6

Value for lbm_msg_t::type indicating that no source has yet been found for the requested topic for a time exceeding the configured limit, delivered to receiver callback lbm_rcv_cb_proc.

UM will continue to wait for a source to be discovered. See resolution_no_source_notification_threshold (receiver).

The lbm_msg_t::data pointer should be ignored.

#define LBM_MSG_REQUEST   2

Value for lbm_msg_t::type indicating reception of a Request message, delivered to receiver callback lbm_rcv_cb_proc.

See Request/Response.

The lbm_msg_t::data pointer should be cast to point to the user's intended data type.

#define LBM_MSG_RESPONSE   3

Value for lbm_msg_t::type indicating reception of a Response message, delivered to receiver callback lbm_rcv_cb_proc.

See Request/Response.

The lbm_msg_t::data pointer should be cast to point to the user's intended data type.

#define LBM_MSG_UME_DEREGISTRATION_COMPLETE_EX   13

Value for lbm_msg_t::type indicating successful persistent receiver deregistration from all Stores, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be ignored.

#define LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX   12

Value for lbm_msg_t::type indicating successful persistent receiver deregistration from one Store, delivered to receiver callback lbm_rcv_cb_proc.

Note that since this represents a single Store's deregistration, this does not mean that deregistration is complete; see LBM_MSG_UME_DEREGISTRATION_COMPLETE_EX.

The lbm_msg_t::data pointer should be cast to (lbm_msg_ume_deregistration_ex_t *).

#define LBM_MSG_UME_REGISTRATION_CHANGE   9

Value for lbm_msg_t::type indicating a change in the receiver's registration status, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to (char *), and contains an informational message describing the change as a null-terminated string.

#define LBM_MSG_UME_REGISTRATION_COMPLETE_EX   11

Value for lbm_msg_t::type indicating successful persistent receiver registration with a quorum of Stores, delivered to receiver callback lbm_rcv_cb_proc.

The application is now considered to be fully registered.

The lbm_msg_t::data pointer should be cast to (lbm_msg_ume_registration_complete_ex_t *).

#define LBM_MSG_UME_REGISTRATION_ERROR   7

Value for lbm_msg_t::type indicating that the persistent Store has rejected the receiver's registration, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to (char *), and contains an error message as a null-terminated string.

#define LBM_MSG_UME_REGISTRATION_SUCCESS   8

Value for lbm_msg_t::type. DEPRECATED, do not use.

Deprecated:
do not use. Use LBM_MSG_UME_REGISTRATION_SUCCESS_EX instead.
#define LBM_MSG_UME_REGISTRATION_SUCCESS_EX   10

Value for lbm_msg_t::type indicating that a persistent Store has accepted the receiver's changed registration, delivered to receiver callback lbm_rcv_cb_proc.

Note that since this represents a single Store's acceptance, this does not mean that registration is complete; see LBM_MSG_UME_REGISTRATION_COMPLETE_EX.

The lbm_msg_t::data pointer should be cast to (lbm_msg_ume_registration_ex_t *).

#define LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX   19

Value for lbm_msg_t::type indicating successful queuing receiver deregistration, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to (lbm_msg_umq_deregistration_complete_ex_t *).

#define LBM_MSG_UMQ_INDEX_ASSIGNED_EX   24

Value for lbm_msg_t::type indicating the start of index, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to (lbm_msg_umq_index_assigned_ex_t *).

#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_ERROR   21

Value for lbm_msg_t::type indicating an error while attempting to start or stop a queuing message assignment, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to (char *), and contains an error message as a null-terminated string.

#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX   22

Value for lbm_msg_t::type indicating the start of index assignment eligibility or index assignment, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to (lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t *).

#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX   23

Value for lbm_msg_t::type indicating the end of index assignment eligibility or index assignment, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to (lbm_msg_umq_index_assignment_eligibility_stop_complete_ex_t *).

#define LBM_MSG_UMQ_INDEX_ASSIGNMENT_ERROR   26

Value for lbm_msg_t::type indicating an error assigning an index, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to (char *), and contains an error message as a null-terminated string.

#define LBM_MSG_UMQ_INDEX_RELEASED_EX   25

Value for lbm_msg_t::type indicating the end of an index, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to (lbm_msg_umq_index_released_ex_t *).

#define LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX   18

Value for lbm_msg_t::type indicating queuing receiver registration, delivered to receiver callback lbm_rcv_cb_proc.

The application is now considered to be fully registered.

The lbm_msg_t::data pointer should be cast to (lbm_msg_umq_registration_complete_ex_t *).

#define LBM_MSG_UMQ_REGISTRATION_ERROR   16

Value for lbm_msg_t::type indicating that the queue has rejected the receiver's registration, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be cast to (char *), and contains an error message as a null-terminated string.

#define LBM_MSG_UNRECOVERABLE_LOSS   4

Value for lbm_msg_t::type indicating that a lost message could not be recovered within the configured parameters, delivered to receiver callback lbm_rcv_cb_proc.

The lbm_msg_t::data pointer should be ignored.

#define LBM_MSG_UNRECOVERABLE_LOSS_BURST   5

Value for lbm_msg_t::type indicating that a series of consecutive lost messages exceeded the configured limit delivery_control_maximum_burst_loss (receiver), delivered to receiver callback lbm_rcv_cb_proc.

See Burst Loss.

The lbm_msg_t::data pointer should be ignored.

#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_EVENT_CONNECT   1

Value for "event" parameter of source event callback lbm_src_cb_proc indicating the first or initial receiver of a subscribing application has joined the source's transport session. The "ed" parameter of source event callback should be ignored.

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.

For more information see Source Connect and Disconnect Events.

#define LBM_SRC_EVENT_DAEMON_CONFIRM   4

Value for "event" parameter of source event callback lbm_src_cb_proc.

Deprecated:
do not use.
#define LBM_SRC_EVENT_DISCONNECT   2

Value for "event" parameter of source event callback lbm_src_cb_proc indicating the last or final receiver of a subscribing application has left the source's transport session.

The "ed" parameter of the source event callback should be ignored.

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.

For more information see Source Connect and Disconnect Events.

#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION   29

Value for "event" parameter of source event callbacks lbm_src_cb_proc, lbm_ssrc_cb_proc, and lbm_context_src_cb_proc indicating that a persistent, queuing, or ULB source has changed its flight size state.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_flight_size_notification_t *).

Warning
The thread used to deliver this event depends on the the specific state transition being notified. When the notification is for state LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_OVER, the delivery thread is the application thread calling the source send function. The call is made during the execution of the send function, meaning that the send function will not return until after the source notification callback returns. But when the notification is for state LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_UNDER, the delivery thread is the context (or XSP) thread, and is triggered by either reception of stability notifications from the Store or from timer expiration.

This means that it is possible for both event types to be delivered simultaneously due to unpredictable thread scheduling. See Source Flight Notification Event for detailed information regarding event ordering.

#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_OVER   0x1

Value for "state" field in lbm_src_event_flight_size_notification_t indicating that persisted messages in flight are now above the threshold, and the application should avoid sending additional messages until the in-flight messages drop back under the threshold.

This is delivered as part of the LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION source event.

Attention
See Source Flight Notification Event for important information regarding event ordering.
#define LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION_STATE_UNDER   0x2

Value for "state" field in lbm_src_event_flight_size_notification_t indicating that persisted messages in flight are now below the threshold, and the application may resume sending messages.

This is delivered as part of the LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION source event.

Attention
See Source Flight Notification Event for important information regarding event ordering.
#define LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO   15

Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating the assigned sequence number of a message being sent. This callback is made synchronously with a lbm_src_send_ex() call (or equivalent).

The "ed" parameter of the source event callback should be cast to (lbm_src_event_sequence_number_info_t *).

Note
This event is generated only when using lbm_src_send_ex() (or equivalent) with the LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO or LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY flag.
#define LBM_SRC_EVENT_TIMESTAMP   34

Value for "event" parameter of source event callback lbm_src_cb_proc indicating a high-resolution timestamp for a sent message.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_timestamp_info_t *).

#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION   8

Value for "event" parameter of source event callback lbm_src_cb_proc.

Deprecated:
do not use. Use LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX instead.
#define LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX   14

Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating that a receiver has confirmed delivery of a message.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_ume_ack_ex_info_t *).

#define LBM_SRC_EVENT_UME_DEREGISTRATION_COMPLETE_EX   32

Value for "event" parameter of source event callback lbm_src_cb_proc indicating the source successfully de-registered with all Stores.

The "ed" parameter of the source event callback is not used and should be ignored.

#define LBM_SRC_EVENT_UME_DEREGISTRATION_SUCCESS_EX   31

Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating the source successfully de-registered with a Store. Note that since this represents a single Store's deregistration, this does not mean that deregistration is complete; see LBM_SRC_EVENT_UME_DEREGISTRATION_COMPLETE_EX.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_ume_deregistration_ex_t *).

#define LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE   33

Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating the source gave up waiting for a quorum of Stores to acknowledge stability of a message.

The application should assume that the message is not stable.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_ume_ack_ex_info_t *).

#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED   10

Value for "event" parameter of source event callback lbm_src_cb_proc indicating a message is being reclaimed. This is the older form. See LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX for an expanded form of this event.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_ume_ack_info_t *).

Note
This event is generated only when it is enabled in the source's configuration with use_extended_reclaim_notifications (source) set to 0.
#define LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX   30

Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating a message is being reclaimed. This is the newer, expanded form. See LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED for the older form.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_ume_ack_ex_info_t *).

Note
This event is generated only when it is enabled in the source's configuration with use_extended_reclaim_notifications (source) set to 1.
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE   7

Value for "event" parameter of source event callback lbm_src_cb_proc.

Deprecated:
This event is no longer generated by UM. Use LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX instead.
#define LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX   13

Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating that a message is stable on the Store.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_ume_ack_ex_info_t *).

#define LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX   12

Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating the source successfully registered with a quorum of Stores. The application can now send messages.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_ume_registration_complete_ex_t *).

#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS   6

Value for "event" parameter of source event callback lbm_src_cb_proc.

Deprecated:
do not use. Use LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX instead.
#define LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX   11

Value for "event" parameter of source event callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc indicating the source successfully registered with a Store. Note that since this represents a single Store's acceptance, this does not mean that registration is complete; see LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_ume_registration_ex_t *).

#define LBM_SRC_EVENT_UME_STORE_UNRESPONSIVE   9

Value for "event" parameter of source event callback lbm_src_cb_proc indicating a Store has not been active for the Store activity timeout (see ume_store_activity_timeout (source)).

The "ed" parameter of the source event callback should be cast to (char *) and contains the Store identity as a null-terminated string.

#define LBM_SRC_EVENT_UMQ_MESSAGE_ID_INFO   17

Value for "event" parameter of source event callback lbm_src_cb_proc indicating the queuing message ID being assigned to the message being sent.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_message_id_info_t *).

#define LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX   19

Value for "event" parameter of source event callback lbm_src_cb_proc indicating a message is stable on the queuing broker.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_stability_ack_info_ex_t *).

#define LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX   18

Value for "event" parameter of source event callback lbm_src_cb_proc indicating registration with the queuing broker is complete.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_registration_complete_ex_t *).

#define LBM_SRC_EVENT_UMQ_REGISTRATION_ERROR   16

Value for "event" parameter of source event callback lbm_src_cb_proc indicating failure to register with the queuing broker.

The "ed" parameter of the source event callback should be cast to (char *) and contains an error message as a null-terminated string.

#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_ASSIGNED_EX   20

Value for "event" parameter of source event callback lbm_src_cb_proc indicating a ULB message is has been assigned to a receiver.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_ulb_message_info_ex_t *).

Note
This event is generated only when it is enabled in the source's configuration with LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_ASSIGNMENT. See umq_ulb_events (source).
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_COMPLETE_EX   23

Value for "event" parameter of source event callback lbm_src_cb_proc indicating that all ULB receiver application sets have confirmed that a ULB message has been received and processed.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_ulb_message_info_ex_t *).

Note
This event is generated only when it is enabled in the source's configuration with LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_COMPLETE. See umq_ulb_events (source).
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_CONSUMED_EX   24

Value for "event" parameter of source event callback lbm_src_cb_proc indicating that a ULB receiver has confirmed that a ULB message has been received and processed.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_ulb_message_info_ex_t *).

Note
This event is generated only when it is enabled in the source's configuration with LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_CONSUME. See umq_ulb_events (source).
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX   21

Value for "event" parameter of source event callback lbm_src_cb_proc indicating a ULB message is has been re-assigned to a different receiver.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_ulb_message_info_ex_t *).

Note
This event is generated only when it is enabled in the source's configuration with LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_REASSIGNMENT. See umq_ulb_events (source).
#define LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX   22

Value for "event" parameter of source event callback lbm_src_cb_proc indicating a ULB message has timed out and has exceeded its lifetime. The message is discarded.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_ulb_message_info_ex_t *).

Note
This event is generated only when it is enabled in the source's configuration with LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_TIMEOUT. See umq_ulb_events (source).
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_DEREGISTRATION_EX   26

Value for "event" parameter of source event callback lbm_src_cb_proc indicating that a ULB receiver has de-registered with this source.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_ulb_receiver_info_ex_t *).

Note
This event is generated only when it is enabled in the source's configuration with LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_DEREGISTRATION. See umq_ulb_events (source).
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_READY_EX   27

Value for "event" parameter of source event callback lbm_src_cb_proc indicating that a ULB receiver is ready to receive messages.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_ulb_receiver_info_ex_t *).

Note
This event is generated only when it is enabled in the source's configuration with LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_READY. See umq_ulb_events (source).
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_REGISTRATION_EX   25

Value for "event" parameter of source event callback lbm_src_cb_proc indicating that a ULB receiver has registered with this source.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_ulb_receiver_info_ex_t *).

Note
This event is generated only when it is enabled in the source's configuration with LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_REGISTRATION. See umq_ulb_events (source).
#define LBM_SRC_EVENT_UMQ_ULB_RECEIVER_TIMEOUT_EX   28

Value for "event" parameter of source event callback lbm_src_cb_proc indicating that a ULB receiver has timed out and exceeded its lifetime.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_umq_ulb_receiver_info_ex_t *).

Note
This event is generated only when it is enabled in the source's configuration with LBM_SRC_TOPIC_ATTR_UMQ_ULB_EVENT_RCV_TIMEOUT. See umq_ulb_events (source).
#define LBM_SRC_EVENT_WAKEUP   3

Value for "event" parameter of source event callback lbm_context_src_cb_proc and lbm_src_cb_proc indicating the application can send more messages.

Attention
See Source Wakeup Event for important information regarding event ordering.

The "ed" parameter of the source event callback should be cast to (lbm_src_event_wakeup_t *).

Typedef Documentation

Structure that represents an element in an app header chain.

See lbm_apphdr_chain_elem_t_stct for field definitions.

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.

Parameters
opinfoOperation-specific results.
clientdClient 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 struct lbm_context_attr_t_stct lbm_context_attr_t

Structure used to hold configuration options for contexts.

Do not access this structure directly, use setopt() and getopt() functions.

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.

Set by the context_event_function (context) context option using the lbm_context_src_event_func_t structure. 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
ctxContext object generating the event.
eventType of event: LBM_CONTEXT_EVENT_UMQ_REGISTRATION_COMPLETE_EX, LBM_CONTEXT_EVENT_UMQ_REGISTRATION_SUCCESS_EX, LBM_CONTEXT_EVENT_UMQ_REGISTRATION_ERROR, LBM_CONTEXT_EVENT_UMQ_INSTANCE_LIST_NOTIFICATION.
edPointer to event data, content dependent on event type.
clientdClient data pointer supplied when setting context_event_function (context) context option.
Returns
0 always

Structure that holds the application function to configure the callback for context-level events.

Set by the context_event_function (context) configuration option.

See lbm_context_event_func_t_stct for field definitions.

Structure that holds information for contexts after registration is complete to all involved queue instances.

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

See lbm_context_event_umq_registration_complete_ex_t_stct for field definitions.

Structure that holds queue registration information for the UMQ context in an extended form.

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

See lbm_context_event_umq_registration_ex_t_stct for field definitions.

Structure that holds the application function to configure a callback for receiving certain immediate mode messages (UIM).

UIMs can be received using normal UM receivers. However, there are two cases where an application would not use a normal receiver:

  • Topicless messages (no topic associated with the message).
  • Messages that have a topic, but for which no matching receiver exists; sort of a "default" receiver of UIMs.

Callbacks for these cases can be registered using the configuration options immediate_message_receiver_function (context) and immediate_message_topic_receiver_function (context) respectively.

See Immediate Messaging for general information on immediate messaging.

See lbm_context_rcv_immediate_msgs_func_t_stct for field definitions.

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).

Set by the source_event_function (context) option using the lbm_context_src_event_func_t structure. 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
ctxContext object generating the event.
eventType of event: LBM_SRC_EVENT_WAKEUP, LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION, LBM_SRC_EVENT_UMQ_MESSAGE_ID_INFO, LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX, LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED.
edPointer to event data, content dependent on event type.
clientdClient data pointer supplied when setting source_event_function (context) context option.
Returns
0 always

Structure that holds the application callback to configure context-level source events.

Set by the source_event_function (context) configuration option.

See lbm_context_src_event_func_t_stct for field definitions.

Structure that holds statistics for a context.

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

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_context_stats_t_stct for field definitions.

Cumulative vs Snapshot

Most UM statistics are cumulative. For example, tr_dgrams_sent starts at zero and grows over time as more and more topic resolution datagrams are sent.

But some statistics are snapshots, meaning that they represent the value at a moment in time. These values can go up and down. For example, tr_src_topics indicates the number of sources at the time of the snapshot.

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

Application callback for daemon events. DO NOT USE.

Daemon mode is no longer available; this definition is retained for for backward compatibility only.

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.
Parameters
ctxContext generating the event.
eventOne of LBM_DAEMON_EVENT_* indicating event type.
infoPointer to LBM-supplied string giving more information.
clientdClient data pointer supplied in lbm_context_create().
Returns
0 always.
typedef int(* lbm_datagram_acceleration_bind_function_t) (void *device, int flags, int port, void *context, void **handle_out)

Application callback function to implement datagram acceleration bind.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
deviceas returned from open
flagscurrently hard coded to 0x06 which is defined as "reuseaddr" (0x02) and "duplicate to kernel" (0x04).
portbind port
contextclient data expected to be return with recvfrom when data is received on given port
handle_outvoid return pointer to bind port. Used as indicated in other calls.
Returns
error code where 0 is defined as success
typedef int(* lbm_datagram_acceleration_close_function_t) (void *device)

Application callback function to implement datagram acceleration close.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
deviceas returned from open
Returns
error code where 0 is defined as success

A structure used to hold functions to configure datagram acceleration implementation callbacks.

Set by the datagram_acceleration_functions (context) configuration option. All function pointers must be supplied.

See lbm_datagram_acceleration_func_t_stct for field definitions.

typedef int(* lbm_datagram_acceleration_getaddr_function_t) (void *device, struct sockaddr_in *sin)

Application callback function to implement datagram acceleration get address.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
deviceas returned from open.
sinreturned IP:Port of the destination.
Returns
error code where 0 is defined as success
typedef int(* lbm_datagram_acceleration_init_function_t) (uint16_t api_version)

Application callback function to implement datagram acceleration initialization.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
APIVersion: currently hard coded to 3.
Returns
error code where 0 is defined as success
typedef int(* lbm_datagram_acceleration_mcast_join_function_t) (void *handle, struct in_addr *mcast_addr)

Application callback function to implement datagram acceleration multicast join.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
handleas returned from bind.
mcast_addrvalid multicast address to join.
Returns
error code where 0 is defined as success
typedef int(* lbm_datagram_acceleration_mcast_leave_function_t) (void *handle, struct in_addr *mcast_addr)

Application callback function to implement datagram acceleration multicast leave.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
handleas returned from bind.
mcast_addrvalid multicast address to leave.
Returns
error code where 0 is defined as success
typedef int(* lbm_datagram_acceleration_open_function_t) (struct in_addr *interface_addr, int flags, void **device_out)

Application callback function to implement datagram acceleration open.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
interface_addrIP address of device hardware as configured.
flagscurrently hard coded to 0x01.
device_outvoid return pointer to opened device. Used as indicated in other calls.
Returns
error code where 0 is defined as success
typedef int(* lbm_datagram_acceleration_recvfrom_function_t) (void *device, int mode, char *buffer, size_t length, struct sockaddr_in *sin_from, struct sockaddr_in *sin_to, lbm_datagram_acceleration_recv_info_t *info)

Application callback function to implement datagram acceleration receive from.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
deviceas returned from open
modecurrently hard coded to 1 which is defined as non-blocking
bufferpointer to data buffer for receive
lengthamount of data received
sin_fromIP:Port of peer
sin_toIP:Port of local
inforeturned information as defined in structure lbm_datagram_acceleration_recv_info_t
Returns
error code where 0 is defined as success and means there is data to be processed. LBM will only process data when function returns 0.
typedef int(* lbm_datagram_acceleration_send_connect_function_t) (void *handle, const struct sockaddr_in *dest_sin, int flags, int ttl, void **send_handle_out)

Application callback function to implement datagram acceleration send connect.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
handleas returned from bind
dest_sinIP:Port to which data is sent.
flagscurrently hard coded to zero.
ttlmulticast time to live as configured.
send_handle_outvoid return pointer to send operation. Used as indicated in other calls.
Returns
error code where 0 is defined as success
typedef int(* lbm_datagram_acceleration_send_disconnect_function_t) (void *send_handle)

Application callback function to implement datagram acceleration send disconnect.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
send_handleas returned from send connect.
Returns
error code where 0 is defined as success
typedef int(* lbm_datagram_acceleration_send_function_t) (void *send_handle, const void *buffer, size_t length, int flags)

Application callback function to implement datagram acceleration send.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
send_handleas returned from send connect.
bufferpointer to data
lengthamount of data
flagscurrently hard coded to 0x04 which is defined as non-blocking.
Returns
error code where 0 is defined as success
typedef int(* lbm_datagram_acceleration_sendto_function_t) (void *device, struct sockaddr_in *sin, const void *buffer, size_t length, int flags)

Application callback function to implement datagram acceleration send to.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
deviceas returned from open.
sinIP:Port of the destination.
bufferpointer to data
lengthamount of data
flagscurrently hard coded to 0x04 which is defined as non-blocking.
Returns
error code where 0 is defined as success
typedef int(* lbm_datagram_acceleration_unbind_function_t) (void *handle)

Application callback function to implement datagram acceleration unbind.

Set by the datagram_acceleration_functions (context) configuration option using the lbm_datagram_acceleration_func_t structure.

Parameters
handleas returned from bind.
Returns
error code where 0 is defined as success

Structure passed to cancel/delete functions so that a cancel callback may be called.

See lbm_event_queue_cancel_cb_info_t_stct for field definitions.

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

Application callback for a wide variety of object delete or operation cancellation functions that use an event queue. The application is called after all events associated with the deleted object or cancelled operation are deleted, cancelled, or completed.

Note
This application callback can be made from the context thread, and is therefore limited in the UM API calls it can make.
See also
lbm_event_queue_cancel_cb_info_t
Parameters
dispatch_thrdIndicates 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 in-line by the object delete or operation cancellation function.
clientdClient data pointer supplied in the lbm_event_queue_cancel_cb_info_t passed to the lbm_*_delete_ex().
Returns
none.
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.

Set by lbm_event_queue_create().

One or more of the following configuration options must be set:

This application callback is made from the event queue dispatch thread for size and delay warnings. It can be called from a context or XSP thread for enqueue notification.

See Event Queue Monitor for more information and example code.

Parameters
evqEvent queue generating the event. See Event Queue Object.
eventOne of: LBM_EVENT_QUEUE_*_WARNING (i.e. LBM_EVENT_QUEUE_SIZE_WARNING, LBM_EVENT_QUEUE_DELAY_WARNING) or LBM_EVENT_QUEUE_ENQUEUE_NOTIFICATION, depending on enabled options. See Event Queue Monitor for more information and example code.
evq_sizeNumber of events currently in the queue.
event_delay_usecNumber of microseconds the oldest event has been in the event queue. (Note, this will be the next event dispatched.)
clientdClient data pointer supplied in lbm_event_queue_create().
Returns
0 for success, -1 for failure.

Structure that holds statistics for an event queue.

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.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_event_queue_stats_t_stct for field definitions.

Cumulative vs Sample

Most UM statistics are cumulative. For example, tr_dgrams_sent starts at zero and grows over time as more and more topic resolution datagrams are sent.

But some statistics are samples, meaning that they represent the value at a moment in time. These values can go up and down. For example, tr_src_topics indicates the number of sources at the time of the sample.

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.

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
ctxContext monitoring the handle.
handleFile descriptor or socket generating the event.
evOne or more of: LBM_FD_EVENT_* (i.e. LBM_FD_EVENT_READ, LBM_FD_EVENT_WRITE, LBM_FD_EVENT_EXCEPT, LBM_FD_EVENT_ACCEPT, LBM_FD_EVENT_CLOSE, LBM_FD_EVENT_CONNECT, LBM_FD_EVENT_ALL) (ORed together) indicating the event type.
clientdClient data pointer supplied in lbm_register_fd().
Returns
0 always.
typedef int(* lbm_flight_size_set_inflight_cb_proc) (int inflight, void *clientd)

Application callback used to override the Store's stability ACKs and force inflight message count to a specific value.

Set by lbm_src_get_inflight() or lbm_ssrc_get_inflight().

Note
Informatica recommends against using this feature. If you think you need to override the inflight message count, contact support.
Parameters
inflightGives the current inflight value.
clientdClient data pointer supplied in the call to lbm_src_get_inflight() or lbm_ssrc_get_inflight().
Returns
The new inflight value.
typedef void(* lbm_flight_size_set_inflight_ex_cb_proc) (lbm_flight_size_inflight_t *inflight, void *clientd)

Application callback used to override the Store's stability ACKs and force inflight message and byte counts to specific values.

Set by lbm_src_get_inflight_ex() or lbm_ssrc_get_inflight_ex().

Note
Informatica recommends against using this feature. If you think you need to override the inflight message and byte counts, contact support.
Parameters
inflightPointer to a structure containing current inflight values for both messages and bytes. Application can override the values in this structure.
clientdClient data pointer supplied in the call to lbm_src_get_inflight_ex() or lbm_ssrc_get_inflight_ex().
typedef int(* lbm_immediate_msg_cb_proc) (lbm_context_t *ctx, lbm_msg_t *msg, void *clientd)

Application callback for topicless immediate-mode received messages.

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.

See Immediate Messaging for general information on immediate messaging.

Note
For received application messages, be aware that UM does not guarantee any alignment of that data.
Parameters
ctxContext receiving the message.
msgPointer to received message.
clientdClient data pointer supplied in lbm_context_rcv_immediate_msgs().
Returns
0 always.
typedef struct lbm_iovec_t_stct lbm_iovec_t

Structure, struct iovec compatible, that holds information about buffers used for vectored sends.

UM replacement for struct iovec for portability. See lbm_src_sendv(), lbm_src_sendv_ex(), etc.

See lbm_iovec_t_stct for field definitions.

Structure that holds an IPv4 address and a CIDR style netmask.

Used with various configuration options that require an IP address.

See lbm_ipv4_address_mask_t_stct for field definitions.

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

Application callback for message logging.

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
levelOne of LBM_LOG_* indicating severity level. Values can be (in order of decreasing importance):
messagePointer to error message string.
clientdClient data pointer supplied in lbm_log().
Returns
0 always.

Structure that holds the application function to configure Smart Source memory management.

Set by the mem_mgt_callbacks (source) configuration option.

For more information on Smart Source memory management, see Smart Sources and Memory Management.

See lbm_mem_mgt_callbacks_t_stct for field definitions.

typedef void(* lbm_mem_mgt_free_cb_func) (void *ptr, void *clientd)

Application callback to free memory using application specific function.

Set by the mem_mgt_callbacks (source) configuration option using the lbm_mem_mgt_callbacks_t structure. Note this UM callback is always made from the application thread during Smart Sources API calls. Thread-safety is the responsibility of the application callback. See Smart Sources and Memory Management for restrictions.

Parameters
ptrThe pointer to a memory block previously allocated with malloc or realloc to be deallocated.
clientdClient data pointer supplied by the application to be passed back into the free callback.
Returns
this function does not return any value.
typedef void*(* lbm_mem_mgt_malloc_cb_func) (size_t size, void *clientd)

Application callback to malloc memory using application specific function.

Set by the mem_mgt_callbacks (source) configuration option using the lbm_mem_mgt_callbacks_t structure. Note this UM callback is always made from the application thread during Smart Sources API calls. Thread-safety is the responsibility of the application callback. See Smart Sources and Memory Management for restrictions.

Parameters
sizeThe number of bytes to be allocated.
clientdClient data pointer supplied by the application to be passed back into the allocate callback.
Returns
pointer to the allocated memory guaranteed to align to any type, or NULL if the request fails.
typedef void*(* lbm_mem_mgt_realloc_cb_func) (void *ptr, size_t size, void *clientd)

Application callback to reallocate memory using application specific function.

Set by the mem_mgt_callbacks (source) configuration option using the lbm_mem_mgt_callbacks_t structure. Note this UM callback is always made from the application thread during Smart Sources API calls. Thread-safety is the responsibility of the application callback. See Smart Sources and Memory Management for restrictions.

Parameters
ptrThe pointer to allocated memory. The pointer to a memory block previously allocated with malloc or realloc to be reallocated. If this is NULL, a new block is allocated and a pointer to it is returned by the function.
sizeThe new size for the memory block, in bytes.
clientdClient data pointer supplied by the application to be passed back into the reallocate callback.
Returns
pointer to the newly allocated memory guaranteed to align to any type, or NULL if the request fails.

Structure that holds the application callback for multicast immediate message unrecoverable loss notification.

Set by the mim_unrecoverable_loss_function (context) configuration option.

See lbm_mim_unrecloss_func_t_stct for field definitions.

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.

Set by lbm_context_attr_setopt() with configuration option mim_unrecoverable_loss_function (context).

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_nameName of the source
seqnumSequence Number that is lost
clientdClient data pointer supplied in the lbm_mim_unrecloss_func_t passed to lbm_context_attr_setopt() with the mim_unrecoverable_loss_function (context) configuration option.
Returns
0 always.

Structure that represents UMS Spectrum channel information.

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.

See lbm_msg_channel_info_t_stct for field definitions.

Structure that holds fragment information for UM messages when appropriate.

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

See lbm_msg_fragment_info_t_stct for field definitions.

DEPRECATED, do not use.

Deprecated:
do not use.

A struct used for iterating over properties pointed to by an lbm_msg_properties_t. The iterator is used to access the fields of a property.

See lbm_msg_properties_iter_t_stct for field definitions.

See also
lbm_msg_properties_iter_create
lbm_msg_properties_iter_delete
lbm_msg_properties_iter_first
lbm_msg_properties_iter_next
typedef struct lbm_msg_properties_t_stct lbm_msg_properties_t

A struct that holds information used for messages with properties. (opaque)

See lbm_msg_properties_create() and Message Properties.

typedef struct lbm_msg_t_stct lbm_msg_t

Information structure for receive events delivered to receiver callback lbm_rcv_cb_proc. See Message Object.

See lbm_msg_t::type for all possible event types.

See lbm_msg_t_stct for field definitions.

Structure that holds Store deregistration information for the UM receiver after a successful deregistration.

This structure is delivered to receiver callback lbm_rcv_cb_proc with lbm_msg_t::type set to LBM_MSG_UME_DEREGISTRATION_SUCCESS_EX. Cast the lbm_msg_t::data pointer to (lbm_msg_ume_deregistration_ex_t *).

See lbm_msg_ume_deregistration_ex_t_stct for field definitions.

Structure that holds information for receivers after registration is complete to all involved Stores.

This structure is delivered to the application by the receiver callback lbm_rcv_cb_proc with event lbm_msg_t::type LBM_MSG_UME_REGISTRATION_COMPLETE_EX. The lbm_msg_t::data pointer should be cast to (lbm_msg_ume_registration_complete_ex_t *).

See lbm_msg_ume_registration_complete_ex_t_stct for field definitions.

Structure that holds Store registration information for the UM persistent receiver after a successful registration.

This structure is delivered to receiver callback lbm_rcv_cb_proc with lbm_msg_t::type set to LBM_MSG_UME_REGISTRATION_COMPLETE_EX. Cast the lbm_msg_t::data pointer to (lbm_msg_ume_registration_ex_t *).

See lbm_msg_ume_registration_ex_t_stct for field definitions.

DEPRECATED, NOT USED.

Deprecated:
do not use. Use lbm_msg_ume_registration_ex_t instead.

Structure that holds information for queuing receivers after they de-register from a queue.

This structure is delivered to receiver callback lbm_rcv_cb_proc with lbm_msg_t::type set to LBM_MSG_UMQ_DEREGISTRATION_COMPLETE_EX. Cast the lbm_msg_t::data pointer to (lbm_msg_umq_deregistration_complete_ex_t *).

See lbm_msg_umq_deregistration_complete_ex_t_stct for field definitions.

Structure that holds beginning-of-index information for queuing receivers.

This structure is delivered to receiver callback lbm_rcv_cb_proc with lbm_msg_t::type set to LBM_MSG_UMQ_INDEX_ASSIGNED_EX. Cast the lbm_msg_t::data pointer to (lbm_msg_umq_index_assigned_ex_t *).

See lbm_msg_umq_index_assigned_ex_t_stct for field definitions.

Structure that holds index assignment information for queuing receivers to indicate the start of index assignment.

This structure is delivered to receiver callback lbm_rcv_cb_proc with lbm_msg_t::type set to LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_START_COMPLETE_EX. Cast the lbm_msg_t::data pointer to (lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t *).

See lbm_msg_umq_index_assignment_eligibility_start_complete_ex_t_stct for field definitions.

Structure that holds index assignment information for queuing receivers when an index stops.

This structure is delivered to receiver callback lbm_rcv_cb_proc with lbm_msg_t::type set to LBM_MSG_UMQ_INDEX_ASSIGNMENT_ELIGIBILITY_STOP_COMPLETE_EX. Cast the lbm_msg_t::data pointer to (lbm_msg_umq_index_assignment_eligibility_stop_complete_ex_t *).

See lbm_msg_umq_index_assignment_eligibility_stop_complete_ex_t_stct for field definitions.

Structure that holds end-of-index information for queuing receivers.

This structure is delivered to receiver callback lbm_rcv_cb_proc with lbm_msg_t::type set to LBM_MSG_UMQ_INDEX_RELEASED_EX. Cast the lbm_msg_t::data pointer to (lbm_msg_umq_index_released_ex_t *).

See lbm_msg_umq_index_released_ex_t_stct for field definitions.

Structure that holds queue information for queuing receivers after registration is complete to all involved queue instances.

This structure is delivered to receiver callback lbm_rcv_cb_proc with lbm_msg_t::type set to LBM_MSG_UMQ_REGISTRATION_COMPLETE_EX. Cast the lbm_msg_t::data pointer to (lbm_msg_umq_registration_complete_ex_t *).

See lbm_msg_umq_registration_complete_ex_t_stct for field definitions.

Structure that holds information about a transport session that we're about to join.

See also
lbm_transport_mapping_cb_proc

See lbm_new_transport_info_t_stct for field definitions.

Structure that holds information for the extended Process Events calls.

A structure used with Sequential Mode that utilize the extended Process Events calls to pass options. See Extended Context Process Events for more information.

See also
lbm_context_process_events_ex()

See lbm_process_events_info_t_stct for field definitions.

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

Application callback for receiver events.

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.

There are many different event types that can be delivered to this callback. See lbm_msg_t::type.

The application's callback function must return 0. If the application callback detects an error, it must handle that error within the application itself. It must not return -1 to UM.

After the callback returns, the message object msg is normally 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().

See C Message Reception for more information.

Note
For received application messages, be aware that UM does not guarantee any alignment of that data.
Parameters
rcvReceiver object generating the event.
msgStructure containing details of the receiver event. Might or might not be an application message. See lbm_msg_t.
clientdClient 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)

Application callback for notification of creation of sources for a topic.

Set by lbm_rcv_topic_attr_setopt() with the resolver_source_notification_function (context) configuration option.

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_nameName of the source
clientdClient data pointer supplied in the lbm_rcv_src_notification_func_t passed to lbm_context_attr_setopt() with the resolver_source_notification_function (context) configuration option.
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)

Application callback for notification of deletion of sources for a topic.

Set by lbm_rcv_topic_attr_setopt() with the resolver_source_notification_function (context) configuration option.

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_nameName of the source
clientdClient data pointer supplied in the lbm_rcv_src_notification_func_t passed to lbm_context_attr_setopt() with the resolver_source_notification_function (context) configuration option.
source_clientdClient data pointer set to be included in each message.
Returns
0 always

Structure that holds the receiver application functions when configuring callbacks when sources are subscribed or unsubscribed.

Set by the the source_notification_function (receiver) configuration option.

See lbm_rcv_src_notification_func_t_stct for field definitions.

Structure that holds statistics for a receiver topic.

THIS STRUCTURE IS UNSUPPORTED.

Structure that holds message statistics for receiver BROKER transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_rcv_transport_stats_broker_t_stct for field definitions.

Cumulative vs Snapshot

These UM statistics are cumulative. For example, msgs_rcved starts at zero and grows over time as more and more messages are sent.

DEPRECATED, do not use.

Deprecated:
do not use.

Structure that holds datagram statistics for receiver LBT-IPC transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_rcv_transport_stats_lbtipc_t_stct for field definitions.

Cumulative vs Snapshot

These UM statistics are cumulative. For example, msgs_rcved starts at zero and grows over time as more and more messages are sent.

DEPRECATED, do not use. LBT-RDMA is no longer supported.

Deprecated:
do not use. LBT-RDMA is no longer supported.

Structure that holds datagram statistics for receiver LBT-RM transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_rcv_transport_stats_lbtrm_t_stct for field definitions.

Cumulative vs Snapshot

These UM statistics are cumulative. For example, msgs_rcved starts at zero and grows over time as more and more messages are sent.

Structure that holds datagram statistics for receiver LBT-RU transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_rcv_transport_stats_lbtru_t_stct for field definitions.

Cumulative vs Snapshot

These UM statistics are cumulative. For example, msgs_rcved starts at zero and grows over time as more and more messages are sent.

Structure that holds datagram statistics for receiver LBT-SMX transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_rcv_transport_stats_lbtsmx_t_stct for field definitions.

Cumulative vs Snapshot

These UM statistics are cumulative. For example, msgs_rcved starts at zero and grows over time as more and more messages are sent.

Structure that holds statistics for receiver transports.

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

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_rcv_transport_stats_t_stct for field definitions.

Structure that holds datagram statistics for receiver TCP transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_rcv_transport_stats_tcp_t_stct for field definitions.

Cumulative vs Snapshot

These UM statistics are cumulative. For example, msgs_rcved starts at zero and grows over time as more and more messages are sent.

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.

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.

See Request/Response for general information on the Request/Response feature.

Note
For received application messages, be aware that UM does not guarantee any alignment of that data.
Parameters
reqRequest object receiving the response.
msgPointer to received message.
clientdClient data pointer supplied in lbm_send_request(), etc.
Returns
0 always.
typedef struct lbm_request_t_stct lbm_request_t

Opaque structure that designates a UM request object.

See Request/Response for general information on the Request/Response feature.

Resolver event structure (for UM internal use only).

See lbm_resolver_event_info_t_stct for field definitions.

Structure that holds information to configure a Resolver Service.

Set by the resolver_service (context) configuration option.

For more information on the Resolver Service, see TCP TR.

See lbm_resolver_service_entry_t_stct for field definitions.

Structure that holds a serialized UM response object.

See lbm_serialized_response_t_stct for field definitions.

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

Application callback for events associated with a source.

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.

Attention
See Source Wakeup Event and Source Flight Notification Event for important information regarding event ordering.
Parameters
srcSource object generating the event.
eventType of source event. See C Source Events.
edPointer to event data, content dependent on event type.
clientdClient 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)

Application callback to evaluate the cost of a newly discovered source.

Set via the source_cost_evaluation_function (context) context option.

Parameters
topicTopic for which the new source was discovered.
transportPointer to a lbm_transport_source_info_t, describing the transport session.
hop_countCurrent hop count for the transport session.
costCurrent cumulative cost for the transport session.
clientdClient data pointer supplied when setting source_cost_evaluation_function (context) context option.
Returns
Application-determined cost for this source as an unsigned 32-bit number. To permanently reject this source, return LBM_SRC_COST_FUNCTION_REJECT.

Structure that holds flight size notification event data.

This structure signals to the source a state change in flight size status. It indicates when the publisher's in-flight messages goes above the flight size limit, or having been above, goes below. Delivered as a source event LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION via callbacks lbm_src_cb_proc, lbm_ssrc_cb_proc, and lbm_context_src_cb_proc.

For more information about flight size, see Persistence Flight Size.

See lbm_src_event_flight_size_notification_t_stct for field definitions.

Structure that holds sequence number information for a message sent by a source.

This structure signals to the source the assignment of sequence numbers to an outgoing message. It indicates the starting and ending sequence numbers assigned to the message. Delivered as a source event LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO via callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc, but only when enabled by sending the message using the lbm_src_send_ex() function and setting the LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO flag or LBM_SRC_SEND_EX_FLAG_SEQUENCE_NUMBER_INFO_FRAGONLY flag.

See lbm_src_event_sequence_number_info_t_stct for field definitions.

Structure that holds the High Resolution Timestamp and sequence number associated with the sent message.

This structure indicates the timestamp associated with a given sent message. Delivered as a source event LBM_SRC_EVENT_TIMESTAMP via callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc.

For more information about high resolution timestamps, see High-resolution Timestamps.

See lbm_src_event_timestamp_info_t_stct for field definitions.

Structure that holds ACK information for a given message in an extended form.

This structure contains information about a message for a variety of UM events: LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX, LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX, LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX, and LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE via callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc.

See lbm_src_event_ume_ack_ex_info_t_stct for field definitions.

Structure that holds ACK information for a given message.

Deprecated:
This event is no longer generated by UM. Use lbm_src_event_ume_ack_ex_info_t_stct instead.

Structure that holds Store deregistration information for the UMP source in an extended form.

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

See lbm_src_event_ume_deregistration_ex_t_stct for field definitions.

Structure that holds information for sources after registration is complete to all involved Stores.

This structure signals to the source that the source has registered with a quorum of Stores and may proceed with sending messages. Delivered as source event LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX via callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc.

See lbm_src_event_ume_registration_complete_ex_t_stct for field definitions.

Structure that holds Store registration information for the UMP source in an extended form.

This structure signals to the source successful registration of a source with a Store. It indicates initial staring information related to that Store. Delivered as a source event LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX via callbacks lbm_src_cb_proc and lbm_ssrc_cb_proc.

See lbm_src_event_ume_registration_ex_t_stct for field definitions.

Structure that holds Message ID information for a message sent by a sending UMQ application.

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.

See lbm_src_event_umq_message_id_info_t_stct for field definitions.

Structure that holds information for sources after registration is complete to all involved queue instances.

This structure signals to the source successful source registration to a quorum of queue instances. Delivered as a source event LBM_SRC_EVENT_UMQ_REGISTRATION_COMPLETE_EX via callback lbm_src_cb_proc.

See lbm_src_event_umq_registration_complete_ex_t_stct for field definitions.

Structure that holds UMQ ACK information for a given message in an extended form.

This structure signals to the source acknowledgement of a message by a queue instance. Delivered as a source event LBM_SRC_EVENT_UMQ_MESSAGE_STABLE_EX via callbacks lbm_src_cb_proc and lbm_context_src_cb_proc.

See lbm_src_event_umq_stability_ack_info_ex_t_stct for field definitions.

Structure that holds UMQ ULB message information in an extended form.

This structure signals to the source a variety of message-oriented events. Delivered as source events LBM_SRC_EVENT_UMQ_ULB_MESSAGE_ASSIGNED_EX, LBM_SRC_EVENT_UMQ_ULB_MESSAGE_REASSIGNED_EX, LBM_SRC_EVENT_UMQ_ULB_MESSAGE_TIMEOUT_EX, LBM_SRC_EVENT_UMQ_ULB_MESSAGE_COMPLETE_EX, and LBM_SRC_EVENT_UMQ_ULB_MESSAGE_CONSUMED_EX via callback lbm_src_cb_proc.

See lbm_src_event_umq_ulb_message_info_ex_t_stct for field definitions.

Structure that holds UMQ ULB receiver information in an extended form.

This structure signals to the source various receiver-oriented events. Delivered as source events LBM_SRC_EVENT_UMQ_ULB_RECEIVER_REGISTRATION_EX, LBM_SRC_EVENT_UMQ_ULB_RECEIVER_DEREGISTRATION_EX, LBM_SRC_EVENT_UMQ_ULB_RECEIVER_READY_EX, and LBM_SRC_EVENT_UMQ_ULB_RECEIVER_TIMEOUT_EX via the callback lbm_src_cb_proc.

See lbm_src_event_umq_ulb_receiver_info_ex_t_stct for field definitions.

Structure that holds source wakeup event data.

This structure signals to the source that the application may resume sending. This source had previously returned LBM_EWOULDBLOCK. Delivered as a source event LBM_SRC_EVENT_WAKEUP via callbacks lbm_context_src_cb_proc and lbm_src_cb_proc.

See lbm_src_event_wakeup_t_stct for field definitions.

Structure that holds the context application function to configure the callback when new sources are discovered.

See the resolver_source_notification_function (context) configuration option.

See lbm_src_notify_func_t_stct for field definitions.

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.

Set by lbm_context_attr_setopt() with configuration option resolver_source_notification_function (context).

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_strName of topic for which a source has been found.
src_strSource as a string. See Source String.
clientdClient data pointer supplied in the lbm_src_notify_func_t passed to the lbm_context_attr_setopt().
Returns
0 always.

Structure that holds information for the extended send calls.

See lbm_src_send_ex_info_t_stct for field definitions.

See also
lbm_src_send_ex()

Structure that holds datagram statistics for source BROKER transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_src_transport_stats_broker_t_stct for field definitions.

Cumulative vs Snapshot

These UM statistics are cumulative. For example, msgs_sent starts at zero and grows over time as more and more messages are sent.

DEPRECATED, do not use.

Deprecated:
do not use.

Structure that holds datagram statistics for source LBT-IPC transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_src_transport_stats_lbtipc_t_stct for field definitions.

Cumulative vs Snapshot

Most UM statistics are cumulative. For example, msgs_sent starts at zero and grows over time as more and more messages are sent.

But some statistics are snapshots, meaning that they represent the value at a moment in time. These values can go up and down. For example, num_clients indicates the number of subscribers connected at the time of the snapshot.

DEPRECATED, do not use. lbt-rdma is no longer supported.

Deprecated:
do not use. LBT-RDMA is no longer supported.

Structure that holds datagram statistics for source LBT-RM transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_src_transport_stats_lbtrm_t_stct for field definitions.

Cumulative vs Snapshot

Most UM statistics are cumulative. For example, msgs_sent starts at zero and grows over time as more and more messages are sent.

But some statistics are snapshots, meaning that they represent the value at a moment in time. These values can go up and down. For example, txw_msgs indicates the number of bytes in the transmission window at the time of the snapshot.

Structure that holds datagram statistics for source LBT-RU transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_src_transport_stats_lbtru_t_stct for field definitions.

Structure that holds datagram statistics for source LBT-SMX transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_src_transport_stats_lbtsmx_t_stct for field definitions.

Cumulative vs Snapshot

Most UM statistics are cumulative. For example, msgs_sent starts at zero and grows over time as more and more messages are sent.

But some statistics are snapshots, meaning that they represent the value at a moment in time. These values can go up and down. For example, num_clients indicates the number of subscribers connected at the time of the snapshot.

Structure that holds statistics for source transports.

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

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_src_transport_stats_t_stct for field definitions.

Structure that holds datagram statistics for source TCP transports.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See lbm_src_transport_stats_tcp_t_stct for field definitions.

Cumulative vs Snapshot

These statistics are snapshots, meaning that they represent the value at a moment in time. These values can go up and down. For example, num_clients indicates the number of subscribers connected at the time of the snapshot.

typedef int(* lbm_ssrc_cb_proc) (lbm_ssrc_t *ssrc, int event, void *ed, void *clientd)

Application callback for source events associated with a UM Smart Source.

Set by lbm_ssrc_create(). This application callback is called from the context thread and is limited in the API calls that it can make.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Parameters
ssrcPointer to the UM Smart Source object generating the event.
eventOne of: LBM_SRC_EVENT_UME_REGISTRATION_ERROR, LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION, LBM_SRC_EVENT_UME_STORE_UNRESPONSIVE, LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED, LBM_SRC_EVENT_UME_REGISTRATION_SUCCESS_EX, LBM_SRC_EVENT_UME_REGISTRATION_COMPLETE_EX, LBM_SRC_EVENT_UME_MESSAGE_STABLE_EX, LBM_SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX, LBM_SRC_EVENT_SEQUENCE_NUMBER_INFO, LBM_SRC_EVENT_FLIGHT_SIZE_NOTIFICATION, LBM_SRC_EVENT_UME_MESSAGE_RECLAIMED_EX, LBM_SRC_EVENT_UME_DEREGISTRATION_SUCCESS_EX, LBM_SRC_EVENT_UME_DEREGISTRATION_COMPLETE_EX, LBM_SRC_EVENT_UME_MESSAGE_NOT_STABLE, LBM_SRC_EVENT_TIMESTAMP
edPointer to event data, content dependent on event type.
clientdClient data pointer supplied in lbm_ssrc_create().
Returns
0 always

Structure that holds information for the extended smart source send calls.

A structure used with UM Smart Sources feature that utilize the extended send calls to pass options.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

See also
lbm_ssrc_send_ex()

See lbm_ssrc_send_ex_info_t_stct for field definitions.

typedef struct lbm_ssrc_t_stct lbm_ssrc_t

Opaque structure that designates a UM Smart Source.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Structure that holds the extended hash function callback information.

Set by the resolver_string_hash_function_ex (context) configuration option.

See lbm_str_hash_func_ex_t_stct for field definitions.

Structure that holds the hash function callback information.

Set by the resolver_string_hash_function (context) configuration option.

See lbm_str_hash_func_t_stct for field definitions.

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

Application callback for user-supplied topic hash function.

Set by the resolver_string_hash_function (context) configuration option using the lbm_str_hash_func_t structure.

Note
This application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.
Parameters
strString 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)

Application callback for user-supplied extended version of the topic hash function.

Set by lbm_context_attr_setopt() with configuration option resolver_string_hash_function_ex (context).

Note
This application callback is always made from the context thread, and is therefore limited in the UM API calls it can make.
Parameters
strString to be hashed.
strlenLength of str IF AVAILABLE, (lbm_ulong_t)-1 if not calculated by lbm
clientdClient 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)

Application callback for timer events.

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
ctxContext running the timer.
clientdClient data pointer supplied in lbm_schedule_timer().
Returns
0 always.

Structure that holds seconds and nanoseconds since midnight, Jan 1, 1970 UTC.

See lbm_timespec_t_stct for field definitions.

Structure that holds seconds and microseconds since midnight, Jan 1, 1970 UTC.

See lbm_timeval_t_stct for field definitions.

Structure that holds IP and Port to configure the broker.

Set by the broker (context) configuration option.

See Queuing for information on brokered queuing.

See lbm_transport_broker_entry_t_stct for field definitions.

typedef lbm_xsp_t*(* lbm_transport_mapping_cb_proc) (lbm_context_t *ctx, lbm_new_transport_info_t *info, void *clientd)

Application callback to provide the user an opportunity to map a new transport session to an XSP.

Set by lbm_context_attr_setopt() with configuration option transport_mapping_function (context). NOTE: This application callback is always made from the context thread and is therefore limited in the UM API calls it can make. However, it IS perfectly legal to create and return a new XSP from inside this callback via lbm_xsp_create().

For more information on XSP, see Transport Services Provider (XSP).

See also
lbm_transport_mapping_func_t
Parameters
ctxThe context that is joining the new transport.
infoThe lbm_new_transport_info_t that describes the new transport.
clientdClient data pointer supplied in the lbm_transport_mapping_func_t passed to lbm_context_attr_setopt() with the transport_mapping_function (context) attribute.
Returns
NULL to use the default XSP (the context) or a valid pointer to an lbm_xsp_t.

Structure that holds the application function to configure the XSP transport mapping function callback.

Set by the transport_mapping_function (context) configuration option.

For more information on XSP, see Transport Services Provider (XSP).

See lbm_transport_mapping_func_t_stct for field definitions.

Structure that holds parsed transport source strings.

This structure holds the parsed values of the various fields of a source string. For more information on source strings, see Source String.

See also
lbm_transport_source_format() and lbm_transport_source_parse()

See lbm_transport_source_info_t_stct for field definitions.

Structure that holds information to configure a unicast resolver daemon.

Set by the resolver_unicast_daemon (context) configuration option.

See lbm_ucast_resolver_entry_t_stct for field definitions.

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.

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
conststruct ume_liveness_receiving_context_t
clientdClient data pointer supplied in the lbm_ume_ctx_rcv_ctx_notification_func_t passed to lbm_context_attr_setopt() with the "ume_receiver_context_detection_function" option.
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)

Application callback for notification of unresponsiveness of a receiving application.

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
conststruct lbm_ume_liveness_rcv_context_t
clientdClient 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" option.
Returns
0 if success -1 if failure.

Structure that holds the application callback for receiving context status notifications for source context.

A Structure used with binary option set/get functions that require source context status notification callback information.

See lbm_ume_ctx_rcv_ctx_notification_func_t_stct for field definitions.

Structure that holds information for UMP receiver recovery sequence number info application callbacks.

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

See lbm_ume_rcv_recovery_info_ex_func_info_t_stct for field definitions.

Structure that holds the application function to configure the callback for recovery sequence number information, extended form.

Set by the ume_recovery_sequence_number_info_function (receiver) configuration option.

See lbm_ume_rcv_recovery_info_ex_func_t_stct for field definitions.

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.

Set by lbm_rcv_topic_attr_setopt() with the ume_recovery_sequence_number_info_function (receiver) configuration option.

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
infoStructure to hold recovery sequence number information in an extended form
clientdClient 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 (receiver) configuration option.
Returns
0 always

Structure that holds information for UMP receiver registration ID application callbacks.

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

See also
lbm_ume_rcv_regid_func_t

See lbm_ume_rcv_regid_ex_func_info_t_stct for field definitions.

Structure that holds the application function to configure the callback for registration ID setting, extended form.

Set by the ume_registration_extended_function (receiver) configuration option.

See lbm_ume_rcv_regid_ex_func_t_stct for field definitions.

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.

Set by lbm_rcv_topic_attr_setopt() with configuration option ume_registration_extended_function (receiver). 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
infoStructure holding registration information in an extended form
clientdClient 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 (receiver) configuration option.
Returns
Registration ID to be used by receiver for given source and topic.

Structure that holds the application function to configure the callback for registration ID setting.

Set by the ume_registration_function (receiver) configuration option.

See lbm_ume_rcv_regid_func_t_stct for field definitions.

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.

Set by lbm_rcv_topic_attr_setopt() with the ume_registration_function (receiver) configuration option. 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_strName of the source for the ID.
src_regidRegistration ID for the source for this topic.
clientdClient data pointer supplied in the lbm_ume_rcv_regid_func_t passed to lbm_rcv_topic_attr_setopt() with the ume_registration_function (receiver) configuration option.
Returns
Registration ID to be used by receiver for given source and topic.

Structure that holds the application function to configure the forced reclamation notification callback.

Set by the ume_force_reclaim_function (source) configuration option.

See lbm_ume_src_force_reclaim_func_t_stct for field definitions.

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.

Set by lbm_src_topic_attr_setopt() with configuration option ume_force_reclaim_function (source).

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_strName of the topic for the reclaim
seqnumSequence Number that is reclaimed
clientdClient 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 (source) configuration option.
Returns
0 always.

Structure that holds information to configure a persistent Store.

Set by the ume_store (source) configuration option.

See lbm_ume_store_entry_t_stct for field definitions.

Structure that holds information to configure a Persistent Store group.

Set by ume_store_group (source) configuration option.

See lbm_ume_store_group_entry_t_stct for field definitions.

Structure that holds information to configure a persistent Store.

Set by the ume_store_name (source) configuration option.

See lbm_ume_store_name_entry_t_stct for field definitions.

Structure for specifying UMM daemon connection options.

See lbm_umm_info_t_stct for field definitions.

Structure that holds information used for sending and receiving messages with UMQ indices.

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

See lbm_umq_index_info_t_stct for field definitions.

Structure that holds UMQ message total lifetime information.

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

See lbm_umq_msg_total_lifetime_info_t_stct for field definitions.

Structure that holds information for UMQ messages that allows the message to be identified uniquely.

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

See lbm_umq_msgid_t_stct for field definitions.

Structure for defining a UMQ application set.

See lbm_umq_queue_application_set_t_stct for field definitions.

Structure that holds queue registration information to configure a queuing broker.

Set by the umq_queue_registration_id (context) configuration option.

See lbm_umq_queue_entry_t_stct for field definitions.

Structure that holds queue topic information and can be used as a handle to a queue topic.

See lbm_umq_queue_topic_t_stct for field definitions.

Structure that holds information to configure any of several ULB source's receiver type attributes. The attribute being set is determined by the configuration option.

Set by the umq_ulb_receiver_portion (source), umq_ulb_receiver_priority (source), and umq_ulb_receiver_events (source) configuration options.

See lbm_umq_ulb_receiver_type_attr_t_stct for field definitions.

Structure that holds ULB queue information to configure an application set.

Set by the umq_ulb_application_set (source) configuration option.

See lbm_umq_ulb_receiver_type_entry_t_stct for field definitions.

Structure that holds the application callback function to configure "appcb" type wildcard pattern type.

Set by the pattern_callback (wildcard_receiver) configuration option.

See lbm_wildcard_rcv_compare_func_t_stct for field definitions.

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

Application callback for application-supplied wildcard matching.

Set by lbm_wildcard_rcv_attr_setopt() with configuration option pattern_callback (wildcard_receiver).

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_strName of topic to be checked for match.
clientdClient data pointer supplied in the lbm_wildcard_rcv_compare_func_t passed to lbm_wildcard_rcv_attr_setopt() with the pattern_callback (wildcard_receiver) configuration option.
Returns
0 for match and 1 for no match.

Structure that holds the receiver creation function to configure the wildcard receiver create callback.

Set by the receiver_create_callback (wildcard_receiver) configuration option.

See lbm_wildcard_rcv_create_func_t_stct for field definitions.

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.

Set by lbm_wildcard_rcv_attr_setopt() with option receiver_create_callback (wildcard_receiver).

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_strName of topic which was matched, and for which a receiver will be created.
attrPointer to an lbm_rcv_topic_attr_t which has been initialized with the receiver options which will be used to create the receiver.
clientdClient data pointer supplied in the lbm_wildcard_rcv_create_func_t passed to lbm_wildcard_rcv_attr_setopt() with the receiver_create_callback (wildcard_receiver) option.
Returns
Always return 0.

Structure that holds the receiver deletion function information to configure the wildcard receiver delete callback.

Set by the receiver_delete_callback (wildcard_receiver) configuration option.

See lbm_wildcard_rcv_delete_func_t_stct for field definitions.

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

Application callback for wildcard receiver deletion.

Set by lbm_wildcard_rcv_attr_setopt() with option receiver_delete_callback (wildcard_receiver).

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_strName of topic which was matched, and for which a receiver will be deleted.
clientdClient data pointer supplied in the lbm_wildcard_rcv_delete_func_t passed to lbm_wildcard_rcv_attr_setopt() with the receiver_delete_callback (wildcard_receiver) option.
Returns
Always return 0.

Structure that holds statistics for a wildcard receiver.

THIS STRUCTURE IS UNSUPPORTED.

typedef struct lbm_xsp_attr_t_stct lbm_xsp_attr_t

Structure used to hold attributes for XSPs.

For more information on XSP, see Transport Services Provider (XSP).

Do not access this structure directly, use setopt() and getopt() functions.

typedef struct lbm_xsp_t_stct lbm_xsp_t

XSP object (opaque) for UM.

For more information on XSP, see Transport Services Provider (XSP).

typedef int(* lbm_xsp_zero_transports_cb_proc) (lbm_xsp_t *xsp, void *clientd)

Application callback to indicate that the number of transports associated with the given XSP has fallen to zero.

Set by lbm_xsp_attr_setopt() with configuration option zero_transports_function (xsp) attribute. NOTE: This application callback is always made from the context thread and is therefore limited in the UM API calls it can make. However, it IS perfectly legal to delete the given XSP from inside this callback via lbm_xsp_delete().

For more information on XSP, see Transport Services Provider (XSP).

See also
lbm_xsp_zero_transports_func_t
Parameters
xspThe XSP whose number of associated transports has fallen to zero.
clientdClient data pointer supplied in the lbm_xsp_zero_transports_func_t passed to lbm_xsp_attr_setopt() with the zero_transports_function (xsp) attribute.
Returns
0 always

Structure that holds the XSP zero transports function.

Set by the zero_transports_function (xsp) configuration option.

For more information on XSP, see Transport Services Provider (XSP).

See lbm_xsp_zero_transports_func_t_stct for field definitions.

Structure that holds the information about a receiving context.

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

See ume_liveness_receiving_context_t_stct for field definitions.

Enumeration Type Documentation

anonymous enum
Enumerator
LBM_OK 

Value returned on successful execution of most UM APIs.

LBM_FAILURE 

Value returned on error for UM APIs.

Function Documentation

LBMExpDLL int lbm_apphdr_chain_append_elem ( lbm_apphdr_chain_t chain,
lbm_apphdr_chain_elem_t elem 
)

DEPRECATED. Appends a user-created app header to an app header chain.

Parameters
chainPointer to an app header chain.
elemPointer to a user-created app header element.
Returns
0 for success, -1 for failure
Deprecated:
The app header feature may be removed from a future UM version. The user is advised to use the Message Properties feature.
LBMExpDLL int lbm_apphdr_chain_create ( lbm_apphdr_chain_t **  chain)

DEPRECATED. Create a new app header chain that can be used to include metadata with a message.

Parameters
chainPointer 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
Deprecated:
The app header feature may be removed from a future UM version. The user is advised to use the Message Properties feature.
LBMExpDLL int lbm_apphdr_chain_delete ( lbm_apphdr_chain_t chain)

DEPRECATED. Delete an app header chain previously created with lbm_apphdr_chain_create.

Parameters
chainPointer to an app header chain.
Returns
0 for success, -1 for failure
Deprecated:
The app header feature may be removed from a future UM version. The user is advised to use the Message Properties feature.
LBMExpDLL int lbm_apphdr_chain_iter_create ( lbm_apphdr_chain_iter_t **  chain_iter,
lbm_apphdr_chain_t chain 
)

DEPRECATED. Create an iterator (lbm_apphdr_chain_iter_t) to point to the first element in an apphdr chain.

Parameters
chain_iterPointer to a pointer to an lbm_apphdr_chain_iter_t structure to be filled in.
chainPointer 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
Deprecated:
The app header feature may be removed from a future UM version. The user is advised to use the Message Properties feature.
LBMExpDLL int lbm_apphdr_chain_iter_create_from_msg ( lbm_apphdr_chain_iter_t **  chain_iter,
lbm_msg_t msg 
)

DEPRECATED. Create an iterator (lbm_apphdr_chain_iter_t) to point to the first element in an apphdr chain associated with a UM message.

Parameters
chain_iterPointer to a pointer to an lbm_apphdr_chain_elem_t structure to be filled in
msgPointer 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
Deprecated:
The app header feature may be removed from a future UM version. The user is advised to use the Message Properties feature.
LBMExpDLL lbm_apphdr_chain_elem_t* lbm_apphdr_chain_iter_current ( lbm_apphdr_chain_iter_t **  chain_iter)

DEPRECATED. Returns the current element of an app header chain pointed to by an lbm_apphdr_chain_iter_t iterator.

Parameters
chain_iterPointer to pointer to an lbm_apphdr_chain_iter_t iterator.
Returns
lbm_apphdr_chain_elem_t pointer to the current app header chain element.
Deprecated:
The app header feature may be removed from a future UM version. The user is advised to use the Message Properties feature.
LBMExpDLL int lbm_apphdr_chain_iter_delete ( lbm_apphdr_chain_iter_t chain_iter)

DEPRECATED. Delete an iterator allocated by one of the lbm_apphdr_chain_iter functions.

Parameters
chain_iterPointer 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
Deprecated:
The app header feature may be removed from a future UM version. The user is advised to use the Message Properties feature.
LBMExpDLL int lbm_apphdr_chain_iter_done ( lbm_apphdr_chain_iter_t **  chain_iter)

DEPRECATED. Tests an lbm_apphdr_chain_iter_t iterator to see if more elements in the chain remain.

Parameters
chain_iterPointer 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.
Deprecated:
The app header feature may be removed from a future UM version. The user is advised to use the Message Properties feature.
LBMExpDLL int lbm_apphdr_chain_iter_first ( lbm_apphdr_chain_iter_t **  chain_iter)

DEPRECATED. Initializes an app header chain iterator to the first element in the chain.

Parameters
chain_iterPointer to pointer to an lbm_apphdr_chain_iter_t iterator.
Returns
0 for Success and -1 for Failure.
Deprecated:
The app header feature may be removed from a future UM version. The user is advised to use the Message Properties feature.
LBMExpDLL int lbm_apphdr_chain_iter_next ( lbm_apphdr_chain_iter_t **  chain_iter)

DEPRECATED. Advances the iterator to the next element in an app header chain, if any.

Parameters
chain_iterPointer 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).
Deprecated:
The app header feature may be removed from a future UM version. The user is advised to use the Message Properties feature.
LBMExpDLL int lbm_async_operation_cancel ( lbm_async_operation_handle_t  handle,
int  flags 
)

Cancel an outstanding asynchronous operation.

Calling this function will cause the associated asynchronous 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
handleHandle to the asynchronous operation.
flagsFlags to affect the behavior of the cancel. ORed set of values.
Returns
-1 for Failure or 0 for Success.
LBMExpDLL int lbm_async_operation_status ( lbm_async_operation_handle_t  handle,
int  flags 
)

Query the current status of an outstanding asynchronous operation.

Calling this function will cause the associated asynchronous 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 after.

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
handleHandle to the asynchronous operation.
flagsFlags 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 
)

DEPRECATED, DOES NOT FUNCTION.

Parameters
ctxLBM context object.
namethe user name string.
name_lenthe length of the user name string.
passwdthe user password string.
passwd_lenthe length of the user password string.
cbfnthe callback function pointer.
clientdthe parameter of the callback function.
auth_requiredthe variable to require authentication service
Returns
-1 for Failure or 0 for Success.
Deprecated:
No longer functional since UM version 6.8.
LBMExpDLL int lbm_authstorage_addtpnam ( const char *  username,
const char *  pass,
unsigned char  flags 
)

Add the new user credential to the password file.

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
usernamethe user's name string.
passthe password string.
flagsoverwriting flag.
Returns
negative values for Failure or 0 and positive values for Success.
LBMExpDLL int lbm_authstorage_checkpermission ( char *  username,
char *  command 
)

Check if the user is authorized to execute the specified command.

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

Parameters
usernamethe user's name string.
commandthe command string.
Returns
-1 for Failure or 0 for Denial or 1 for Success.
LBMExpDLL void lbm_authstorage_close_storage_xml ( void  )

Release the storage object.

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

Returns
negative values for Failure or 0 for Success.
LBMExpDLL int lbm_authstorage_deltpnam ( const char *  username)

Delete the user credential from the password file.

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

Parameters
usernamethe user's name string.
Returns
-1 for Failure or 0 for Success.
LBMExpDLL int lbm_authstorage_load_roletable ( void  )

Load the role table from the password file.

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

Returns
-1 for Failure or 0 for Success.
LBMExpDLL int lbm_authstorage_open_storage_xml ( char *  filename)

Create the storage object from XML password file.

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
filenamethe 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 ( void  )

Print the role table saved in the internal data object.

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

Returns
-1 for Failure or 0 for Success.
LBMExpDLL int lbm_authstorage_roletable_add_role_action ( const char *  rolename,
const char *  action 
)

Add a new authorized action for the specified role.

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

Parameters
rolenamethe role name string.
actionthe action name string
Returns
-1 for Failure or 0 for Success.
LBMExpDLL int lbm_authstorage_unload_roletable ( void  )

Unload the role table.

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

Returns
-1 for Failure or 0 for Success.
LBMExpDLL int lbm_authstorage_user_add_role ( const char *  username,
const char *  role 
)

Add one role entry for the user to the password file.

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

Parameters
usernamethe user's name string.
rolethe role string.
Returns
-1 for Failure or 0 for Success.
LBMExpDLL int lbm_authstorage_user_del_role ( const char *  username,
const char *  role 
)

Delete the role entry for the user from the password file.

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

Parameters
usernamethe user's name string.
rolethe 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.

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().

Warning
It is not recommended to call this function from a context thread callback.
See also
lbm_register_fd()
Parameters
ctxPointer to the UM context object.
handlefile descriptor/socket of interest for event.
evOne or more of: LBM_FD_EVENT_* (i.e. LBM_FD_EVENT_READ, LBM_FD_EVENT_WRITE, LBM_FD_EVENT_EXCEPT, LBM_FD_EVENT_ACCEPT, LBM_FD_EVENT_CLOSE, LBM_FD_EVENT_CONNECT, LBM_FD_EVENT_ALL) (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 
)

Extended cancel a previously registered file descriptor/socket event.

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 (event_queue) be set to 1.

See also
lbm_register_fd()
Parameters
ctxPointer to the UM context object.
handlefile descriptor/socket of interest for event.
evMask of events to cancel.
cbinfoCancellation 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 identified by id.

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
ctxPointer to the UM context object.
idThe identifier specifying the timer to cancel
clientdpPointer 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 
)

Extended cancel a previously scheduled timer identified by id.

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 (event_queue) be set to 1.

See also
lbm_schedule_timer()
Parameters
ctxPointer to the UM context object.
idThe identifier specifying the timer to cancel
clientdpPointer 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.
cbinfoCancellation 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)

Set one or more options from the contents of a disk file.

This function should be called early during initialization, before UM objects are created.

If the file name ends with ".xml", then the file is treated as an XML-based configuration file. However, it is not possible to specify an application name when lbm_config() is used to read an XML configuration. This is true even if the environment variable LBM_XML_CONFIG_APPNAME is set; lbm_config() does not read and apply that variable when it reads an XML file. See XML Configuration Files.

Parameters
fnameString 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 
)

Load a UM XML configuration file.

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
urlString containing the path to the XML configuration file. A URL beginning with http:// or ftp:// may also be provided.
application_nameThe 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 
)

Load UM XML configuration data.

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_dataString containing UM XML configuration data.
application_nameThe 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)

Create and fill a UM context attribute object with the current default values. Note: Informatica recommends the use of XML Configuration Files, for which lbm_context_attr_create_from_xml() should be used.

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
attrA pointer to a pointer to a UM context attribute object. 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)

Create and fill a UM context attribute object with the initial default values.

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
attrA pointer to a pointer to a UM context attribute object. 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 
)

Create and fill a UM context attribute object with the current default values for the given 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.

Note that this API should be used even if no XML file is being used.

Parameters
attrA pointer to a pointer to a UM context attribute object. Will be filled in by this function to point to the newly created lbm_context_attr_t object.
context_nameThe context name used to lookup this context in the XML configuration. Names must consist of ASCII alpha-numeric characters or dash (-) or underscore (_), with a maximum length of 127 characters. A NULL value is permitted, and will match the unnamed context 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)

Delete a UM context attribute object.

The attribute object is cleaned up and deleted.

Parameters
attrPointer 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 
)

Retrieves all context configuration options.

The config object is filled with context configuration options

Parameters
cattrThe context object to retrieve the configuration from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
LBMExpDLL int lbm_context_attr_dup ( lbm_context_attr_t **  attr,
const lbm_context_attr_t original 
)

Duplicate a UM context attribute object.

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

Parameters
attrA pointer to a pointer to a UM context attribute object. Will be filled in by this function to point to the newly created lbm_context_attr_t object.
originalPointer 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 
)

Retrieve the value of an option for the given UM context attribute object.

Parameters
attrPointer to a UM context attributed object.
optnameString containing the option name.
optvalPointer to the option value structure to be filled. The structure of the option values are specific to the options themselves.
optlenLength (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 ( void  )

Retrieves the number of options that are of type "context".

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 
)

Fill a UM context attribute object with the current default values for the given 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
attrA pointer to a UM context attribute object.
context_nameThe context name used to lookup this context in the XML configuration. Names must consist of ASCII alpha-numeric characters or dash (-) or underscore (_), with a maximum length of 127 characters. A NULL value is permitted, and will match the unnamed context 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 
)

Set the value (in binary format) of a configuration option in the supplied context attribute object.

Used before the context is created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM context attribute object.
optnameString containing the option name.
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve the textual value of an option for the given UM context attribute object.

Parameters
attrPointer to a UM context attributed object.
optnameString containing the option name.
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenMaximum 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 
)

Set the value (in string format) of a configuration option in the supplied context attribute object.

Used before the context is created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM context attributed object.
optnameString containing the option name.
optvalPointer to the option string value. The format of the string is specific to the option being set.
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 
)

Create and initialize an lbm_context_t object.

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
ctxpA 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.
attrA pointer to a UM context attribute object. A value of NULL will use default values for configuration options.
procA 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.
clientdClient 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)

Delete a UM context object.

Warning
A Context should not be deleted before all other dependent objects (source, receivers, timers) have been deleted or canceled. For example, it can lead to crashes if you delete a context while child Sources and Receivers are active.

If the context is configured for Sequential Mode, you should unblock the event processing thread and join it prior to deleting the Context.

Warning
It is not safe to call this function from a context thread callback.
Parameters
ctxPointer 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 
)

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 (event_queue) be set to 1.

Warning
It is not safe to call this function from a context thread callback.
Parameters
ctxPointer to a UM context object to delete.
cbinfoCancellation 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 
)

Retrieves all context configuration option values.

The config object is filled with context configuration options

Parameters
ctxThe context object to retrieve the configuration from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
LBMExpDLL lbm_context_t* lbm_context_from_rcv ( lbm_rcv_t rcv)

Retrieve the UM context object associated with a UM receiver object.

Parameters
rcvPointer 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)

Retrieve the UM context object associated with a UM source object.

Parameters
srcPointer 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)

Retrieve the LBM context object associated with a UM wildcard receiver object.

Parameters
wcrcvPointer 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 
)

DEPRECATED, DOES NOT FUNCTION!

This function logs a warning and returns success. Use configuration option context_name (context) instead.

Parameters
ctxPointer to an existing UM context object.
namePointer to a buffer into which is stored the context name.
sizePointer 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.
Deprecated:
do not use.
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.

Parameters
ctxPointer to a UM context object where the option is stored.
optnameString containing the option name.
optvalPointer to the option value structure. The structure of the option values are specific to the options themselves.
optlenWhen 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)

Unblock a sequential mode LBT-IPC processing loop.

The application must call this API when transport_lbtipc_receiver_operational_mode (context) is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"). This function allows an application to cause lbm_context_process_lbtipc_messages() to immediately return instead of continuing to process messages.

Parameters
ctxPointer to the UM context object.
LBMExpDLL int lbm_context_process_events ( lbm_context_t ctx,
lbm_ulong_t  msec 
)

Process internal events in the given UM context object.

The application must call this API when operational_mode (context) is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"). 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.
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.
Warning
If using Sequential Mode and fd_management_type "wincompport", the thread that creates the context must not exit while the context is active. Furthermore, you gain a small performance improvement if the thread that creates the context is the same thread that calls lbm_context_process_events().
See also
lbm_context_process_events_ex()
Parameters
ctxPointer to the UM context object.
msecContinue event processing loop for at least msec milliseconds before returning. If 0 is passed, no sleep will be done; if there is no events to process, it will return immediately.
Returns
0 for Success and -1 for Failure. For -1, which is returned for critical errors, check the resultant lbm_errnum and error message.
LBMExpDLL int lbm_context_process_events_ex ( lbm_context_t ctx,
lbm_ulong_t  msec,
lbm_process_events_info_t info 
)

Extended process internal events in the given UM context object.

The application must call this API when operational_mode (context) is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"). 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.

See Extended Context Process Events for more information and restrictions.

Warning
It is not safe to call this function from a context thread callback.
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.
Warning
If using Sequential Mode and fd_management_type "wincompport", the thread that creates the context must not exit while the context is active. Furthermore, you gain a small performance improvement if the thread that creates the context is the same thread that calls lbm_context_process_events_ex().
See also
lbm_context_process_events()
Parameters
ctxPointer to the UM context object.
msecContinue event processing loop for at least msec milliseconds before returning. If 0 is passed, no sleep will be done; if there is no events to process, it will return immediately. WARNING: if info->flags has the LBM_PROC_EVENT_EX_FLAG_USER_TIME bit set, ensure that msec parameter is 0.
infoPointer to lbm_process_events_info_t_stct options
Returns
0 for Success and -1 for Failure. For -1, which is returned for critical errors, check the resultant lbm_errnum and error message.
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.

The application must call this API when transport_lbtipc_receiver_operational_mode (context) is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"). This function will detect and retrieve messages from the IPC shared memory, and deliver them to the application.

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.
Warning
It is not safe to call this function from a context thread callback.
Parameters
ctxPointer to the UM context object.
msecOnly used if transport_lbtipc_receiver_operational_mode (context) 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_countNumber of loops before returning whether or not data has been received. Zero results in looping forever.
Returns
0 for Success and -1 for Failure.
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 topicless immediate messages.

This is normally set up using the immediate_message_receiver_function (context) configuration option, which is the method Informatica recommends. This API is retained for backwards compatibility.

See Immediate Messaging for general information on immediate messaging.

Parameters
ctxPointer to a UM context object that listens for messages.
procPointer to a function to call when a message arrives.
clientdClient data passed when a message is delivered.
evqOptional Event Queue to place messages on when they arrive. If NULL causes proc to be called from context thread. See Event Queue Object.
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.

This is normally set up using the immediate_message_topic_receiver_function (context) configuration option, which is the method Informatica recommends. This API is retained for backwards compatibility.

See Immediate Messaging for general information on immediate messaging.

Parameters
ctxPointer to a UM context object that listens for messages.
procPointer to a function to call when a message arrives.
clientdClient data passed when a message is delivered.
evqOptional Event Queue to place messages on when they arrive. If NULL causes proc to be called from context thread. See Event Queue 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.

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
ctxpA 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.
attrA pointer to a UM context attribute object. A value of NULL will use default values for configuration options.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_context_reset_im_rcv_transport_stats ( lbm_context_t ctx)

Reset the IM receiver stats for a context.

Parameters
ctxPointer to the UM context to reset statistics for.
Returns
-1 for Failure and 0 for Success.
LBMExpDLL int lbm_context_reset_im_src_transport_stats ( lbm_context_t ctx)

Reset the IM source stats for a context.

Parameters
ctxPointer to the UM context to reset statistics for.
Returns
-1 for Failure and 0 for Success.
LBMExpDLL int lbm_context_reset_rcv_transport_stats ( lbm_context_t ctx)

Reset the transport stats for all receivers in a given context.

Parameters
ctxPointer 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)

Reset the transport stats for all the sources in a given context.

Parameters
ctxPointer 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)

Reset the stats for a context.

Parameters
ctxPointer 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 
)

Retrieve the IM receiver stats for a context.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Parameters
ctxPointer to the UM context to retrieve statistics for.
numPointer 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.
sizeSize in bytes of each entry in stats
statsArray 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 
)

Retrieve the IM source stats for a context.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Parameters
ctxPointer to the UM context to retrieve statistics for.
numPointer 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.
sizeSize in bytes of each entry in stats
statsArray 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 
)

Retrieve the transport stats for all receivers in a given context.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Note
Although Informatica will continue to support this API into the future, we recommend the use of the lbm_context_retrieve_rcv_transport_stats_ex() API instead of this one.
Parameters
ctxPointer to the UM context to retrieve statistics for.
numPointer 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.
statsArray 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_rcv_transport_stats_ex ( lbm_context_t ctx,
int *  num,
int  size,
lbm_rcv_transport_stats_t stats 
)

Retrieve the transport stats for all receivers in a given context.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Parameters
ctxPointer to the UM context to retrieve statistics for.
numPointer 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.
sizesize (in bytes) of the structure passed for the "stats" parameter. I.e. the size of one element in in the "stats" array.
statsArray 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 
)

Retrieve the transport stats for all the sources in a given context.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Note
Although Informatica will continue to support this API into the future, we recommend the use of the lbm_context_retrieve_src_transport_stats_ex() API instead of this one.
Parameters
ctxPointer to the UM context to retrieve statistics for.
numPointer 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.
statsArray 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_src_transport_stats_ex ( lbm_context_t ctx,
int *  num,
int  size,
lbm_src_transport_stats_t stats 
)

Retrieve the transport stats for all the sources in a given context.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Parameters
ctxPointer to the UM context to retrieve statistics for.
numPointer 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.
sizesize (in bytes) of the structure passed for the "stats" parameter. I.e. the size of one element in in the "stats" array.
statsArray 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 
)

Retrieve the stats for a context.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Parameters
ctxPointer to the UM context to retrieve statistics for.
statsPointer 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 
)

DEPRECATED, DOES NOT FUNCTION.

This function logs a warning and returns success. Use configuration option context_name (context) instead.

Parameters
ctxPointer to an existing UM context object.
nameThe context name. Context names are limited in length to 128 characters (not including the final null) and restricted to alphanumeric characters, hyphens, and underscores.
Deprecated:
do not use.
LBMExpDLL int lbm_context_setopt ( lbm_context_t ctx,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Set the value (in binary format) of a configuration option in the supplied context.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_context_attr_*() (i.e. lbm_context_attr_dump(), lbm_context_attr_option_size(), lbm_context_attr_create(), lbm_context_attr_create_default(), lbm_context_attr_create_from_xml(), lbm_context_attr_set_from_xml(), lbm_context_attr_delete(), lbm_context_attr_dup(), lbm_context_attr_setopt(), lbm_context_attr_str_setopt(), lbm_context_attr_getopt(), lbm_context_attr_str_getopt()).

Parameters
ctxPointer to a UM context object where the option is to be set.
optnameString containing the option name.
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve the textual option value within the given ctx.

Parameters
ctxPointer to a UM context object where the option is stored.
optnameString containing the option name.
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenWhen 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 
)

Set the value (in string format) of a configuration option in the supplied context.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_context_attr_*() (i.e. lbm_context_attr_dump(), lbm_context_attr_option_size(), lbm_context_attr_create(), lbm_context_attr_create_default(), lbm_context_attr_create_from_xml(), lbm_context_attr_set_from_xml(), lbm_context_attr_delete(), lbm_context_attr_dup(), lbm_context_attr_setopt(), lbm_context_attr_str_setopt(), lbm_context_attr_getopt(), lbm_context_attr_str_getopt()).

Parameters
ctxPointer to a UM context object where the option is to be set.
optnameString containing the option name.
optvalPointer to the option string value. The format of the string is specific to the option being set.
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 
)

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 options, 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.

Parameters
ctxPointer to a UM context object.
flagsFlags indicating desired requests. ORed set of values.
interval_msecInterval between requests in milliseconds. Less than 10 should be used with caution. Less than 5 is not recommended.
duration_secMinimum 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)

Unblock a sequential mode UM context.

The application must call this API when operational_mode (context) is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"). This function allows an application to cause lbm_context_process_events() to immediately return instead of continuing to process events.

See also
lbm_context_process_events()
lbm_context_process_events_ex()
Parameters
ctxPointer to the UM context object.
LBMExpDLL lbm_uint64_t lbm_create_random_id ( void  )

Create a random id to be used in conjunction with lbm_get_jms_msg_id() for JMS compatibility.

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 
)

DEPRECATED. Retrieves the current number of inflight UMQ messages from the ctx pointed to by lbm_context_t *ctx.

Parameters
ctxPointer to the context.
qnameName of the queue.
inflightPointer to an int whose value will be filled in to reflect the current inflight.
procOptional callback that allows an application to set the current inflight.
clientdOptional client data passed into the proc.
Returns
0 for Success, -1 for failure if the proc returns a negative value.
Deprecated:
Do not use.
LBMExpDLL int lbm_ctx_umq_queue_topic_list ( lbm_context_t ctx,
const char *  queue_name,
lbm_async_operation_func_t async_opfunc 
)

DEPRECATED. Retrieves a list of currently available topics from a queue (asynchronous operation)

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
ctxLBM context object.
queue_nameName of the queue to retrieve a topic list from.
async_opfuncThe asynchronous operation callback the topic list will be delivered to.
Returns
0 for Success and -1 for Failure.
Deprecated:
do not use.
LBMExpDLL int lbm_debug_dump ( const char *  filename,
int  append 
)

Dump a running rollback debug log to the given filename.

Parameters
filenameto open and dump debug log events to
appendFlag to indicate that the dump should be appended to the file or overwrite the file
LBMExpDLL void lbm_debug_filename ( const char *  filename)

Set the file to receive LBM debug log entries.

Warning
May be overridden by environment variable "LBM_DEBUG_FILENAME"
Parameters
filenameto open and send log events to
LBMExpDLL void lbm_debug_mask ( lbm_uint64_t  mask)

Set the debug mask for LBM debug log entries.

Warning
May be overridden by environment variable "LBM_DEBUG_MASK"
Parameters
maskof debug log events to log (contact support for more information)
LBMExpDLL void lbm_debug_ring_buffer ( size_t  maxsz)

Set debug ring buffer size.

Parameters
maxszSize of ring buffer (per thread)
LBMExpDLL void lbm_debug_ring_buffer_walltime ( int  use)

Stamp messages with wall time.

Parameters
useFlag to indicate that messages should be stamped with wall time (if set) or a simple counter
LBMExpDLL void lbm_debugfile_max_rollover ( lbm_uint32_t  size)

This function for UM internal use only.

To set the max number of rollover files for lbm_debugfile_maxsize(). Alternatively, use environment variable "LBM_DEBUG_MAX_ROLLOVER_FILES"

LBMExpDLL void lbm_debugfile_maxsize ( lbm_uint64_t  size)

This function for UM internal use only.

To enable size-based debug log file rolling, use the environment variable "LBM_DEBUG_MAXSIZE".

LBMExpDLL lbm_response_t* lbm_deserialize_response ( lbm_context_t ctx,
lbm_serialized_response_t serialized_response 
)

De-serialize a UM response object.

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.

See Request/Response for general information on the Request/Response feature.

Parameters
ctxA pointer to a UM context object.
serialized_responseA pointer to a serialized UM response object.
Returns
A pointer to a lbm_response_t object.
LBMExpDLL const char* lbm_errmsg ( void  )

Return an ASCII string containing the error message last encountered by this thread.

Returns
Pointer to a static char array holding the error message.
LBMExpDLL int lbm_errnum ( void  )

Return the error number last encountered by this thread.

Returns
Integer error number.
LBMExpDLL int lbm_event_dispatch ( lbm_event_queue_t evq,
lbm_ulong_t  tmo 
)

Dispatch waiting events to appropriate callback functions.

See Event Queue Object for a full description of Event Queues.

See also
lbm_event_queue_create(), lbm_event_dispatch_unblock(), lbm_event_queue_delete().
Parameters
evqEvent Queue that holds the events to dispatch. See Event Queue Object.
tmoThe 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 Event Queue Timeout. In addition to numeric values, the following special values are valid:
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)

Unblock the given UM event queue object so that a thread waiting in lbm_event_dispatch returns as soon as feasible.

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

See Event Queue Object for a full description of Event Queues.

See also
lbm_event_queue_create(), lbm_event_dispatch(), lbm_event_queue_delete().
Parameters
evqEvent 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)

Create and fill a UM event queue attribute object with the current default values. Note: Informatica recommends the use of XML Configuration Files, for which lbm_event_queue_attr_create_from_xml() should be used.

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.

See Event Queue Object for a full description of Event Queues.

Parameters
attrA 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)

Create and fill a UM event queue attribute object with the initial default values.

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
attrA 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 
)

Create and fill a UM event queue attribute object with the current default values for the given 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.

Note that this API should be used even if no XML file is being used.

See Event Queue Object for a full description of Event Queues.

Parameters
attrA 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_nameThe event queue name used to lookup this event queue in the XML configuration. Names must consist of ASCII alpha-numeric characters or dash (-) or underscore (_), with a maximum length of 127 characters. A NULL value is permitted, and will match the unnamed event queue 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)

Delete an event queue attribute object.

The attribute object is cleaned up and deleted.

Parameters
attrPointer 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 
)

Retrieves all event queue attribute options.

The config object is filled with event queue configuration options

Parameters
eattrThe event queue attribute object to retrieve the attributes from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
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.

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

Parameters
attrA 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.
originalPointer 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 
)

Retrieve an option value within the given event queue attribute.

Parameters
attrPointer to a UM event queue attribute object where the option is stored
optnameString containing the option name
optvalPointer to the option value structure. The structure of the option values are specific to the options themselves.
optlenWhen 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 ( void  )

Retrieves the number of options that are of type "event queue".

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 
)

Fill a UM event queue attribute object with the current default values for the given 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
attrA pointer to a UM event queue attribute structure.
event_queue_nameThe event queue name used to lookup this event queue in the XML configuration. Names must consist of ASCII alpha-numeric characters or dash (-) or underscore (_), with a maximum length of 127 characters. A NULL value is permitted, and will match the unnamed event queue 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 
)

Set the value (in binary format) of a configuration option in the supplied event queue attribute object.

Used before the event queue is created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM event queue attribute object where the option is to be set
optnameString containing the option name
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve a textual option value within the given event queue attribute.

Parameters
attrPointer to a UM event queue attribute object where the option is stored
optnameString containing the option name
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenWhen 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 
)

Set the value (in string format) of a configuration option in the supplied event queue attribute object.

Used before the event queue is created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM event queue attribute object where the option is to be set
optnameString containing the option name
optvalPointer to the option string value. The format of the string is specific to the option being set.
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 
)

Create a UM event queue object.

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

See Event Queue Object for a full description of Event Queues.

See also
lbm_event_dispatch(), lbm_event_dispatch_unblock(), lbm_event_queue_delete().
Parameters
evqpA pointer to a pointer for the lbm_event_queue_t object created to be stored.
procPointer to function to call when monitoring the event queue.
clientdClient data returned in the callback proc proc.
attrA 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)

Delete a given UM event queue object.

Warning
An Event Queue should not be deleted before all other dependent objects (source, receivers, timers, and contexts using the event queue) have been deleted or canceled. For example, it can lead to crashes if you delete an Event Queue while child Sources and Receivers are active.

You should unblock the Event Queue dispatch thread(s) and join them prior to deletion of the Event Queue.

See Event Queue Object for a full description of Event Queues.

See also
lbm_event_queue_create(), lbm_event_dispatch(), lbm_event_dispatch_unblock().
Parameters
evqEvent 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 
)

Retrieves all event queue attribute options.

The config object is filled with event queue configuration options

Parameters
evqThe event queue object to retrieve the attributes from. See Event Queue Object.
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
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. See Event Queue Object.

Parameters
rcvPointer 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)

Retrieve the UM event queue object associated with a UM source object. See Event Queue Object.

Parameters
srcPointer 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)

Retrieve the LBM event queue object associated with a UM wildcard receiver object.

Parameters
wcrcvPointer to a UM wildcard receiver object.
Returns
A pointer to the LBM event queue object associated with the LBM wildcard receiver object. See Event Queue Object.
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.

Parameters
evqPointer to a UM event queue object where the option is stored. See Event Queue Object.
optnameString containing the option name
optvalPointer to the option value structure. The structure of the option values are specific to the options themselves.
optlenWhen 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)

Reset the stats for an event queue.

See Event Queue Object for a full description of Event Queues.

See also
lbm_event_queue_create(), lbm_event_dispatch(), lbm_event_dispatch_unblock(), lbm_event_queue_delete().
Parameters
evqPointer to the UM event queue to reset statistics for. See Event Queue Object.
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 
)

Retrieve the stats for an event queue.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See Event Queue Object for a full description of Event Queues.

See also
lbm_event_queue_create(), lbm_event_dispatch(), lbm_event_dispatch_unblock(), lbm_event_queue_delete().
Parameters
evqPointer to the UM event queue to retrieve statistics for. See Event Queue Object.
statsPointer 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 
)

Set the value (in binary format) of a configuration option in the supplied event queue.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_event_queue_attr_*() (i.e. lbm_event_queue_attr_dump(), lbm_event_queue_attr_option_size(), lbm_event_queue_attr_create(), lbm_event_queue_attr_create_default(), lbm_event_queue_attr_create_from_xml(), lbm_event_queue_attr_set_from_xml(), lbm_event_queue_attr_delete(), lbm_event_queue_attr_dup(), lbm_event_queue_attr_setopt(), lbm_event_queue_attr_str_setopt(), lbm_event_queue_attr_getopt(), lbm_event_queue_attr_str_getopt()).

Parameters
evqPointer to a UM event queue where the option is to be set. See Event Queue Object.
optnameString containing the option name
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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)

Shutdown the event queue by purging any pending events and not allowing additional events to be added to the queue.

See Event Queue Object for a full description of Event Queues.

See also
lbm_event_queue_create(), lbm_event_dispatch(), lbm_event_dispatch_unblock(), lbm_event_queue_delete().
Parameters
evqEvent Queue to shutdown.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_event_queue_size ( lbm_event_queue_t evq)

Determine the number of queued events in the event queue.

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

See Event Queue Object for a full description of Event Queues.

See also
lbm_event_queue_create(), lbm_event_dispatch(), lbm_event_dispatch_unblock(), lbm_event_queue_delete().
Parameters
evqEvent 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 
)

Retrieve a textual option value within the given event queue.

Parameters
evqPointer to a UM event queue object where the option is stored. See Event Queue Object.
optnameString containing the option name
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenWhen 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 
)

Set the value (in string format) of a configuration option in the supplied event queue.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_event_queue_attr_*() (i.e. lbm_event_queue_attr_dump(), lbm_event_queue_attr_option_size(), lbm_event_queue_attr_create(), lbm_event_queue_attr_create_default(), lbm_event_queue_attr_create_from_xml(), lbm_event_queue_attr_set_from_xml(), lbm_event_queue_attr_delete(), lbm_event_queue_attr_dup(), lbm_event_queue_attr_setopt(), lbm_event_queue_attr_str_setopt(), lbm_event_queue_attr_getopt(), lbm_event_queue_attr_str_getopt()).

Parameters
evqPointer to a UM event queue object where the option is to be set. See Event Queue Object.
optnameString containing the option name
optvalPointer to the option string value. The format of the string is specific to the option being set.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_flush_all ( lbm_context_t ctx)

FOR UM INTERNAL USE ONLY, not for use by user applications.

Send messages from all active transport sessions' implicit batches ASAP.

Note
Explicit batches will not be flushed.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
ctxPointer to the UM context from which all implicit batches will be flushed
Returns
-1 for Failure or 0 for Success.
LBMExpDLL char* lbm_get_jms_msg_id ( lbm_uint64_t  source_id,
lbm_uint64_t  seqno_id,
char *  topic 
)

Create JMS message ID.

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 
)

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.

Warning
It is not safe to call this function from a context thread callback.
See also
lbm_rcv_create
Parameters
hfrcvpA 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_hf_rcv_t object.
ctxPointer to the LBM context object associated with the sender.
topicPointer 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().
procPointer to a function to call when messages arrive.
clientdPointer to client data that is passed when data arrives and proc is called.
evqOptional Event Queue to place message events on when they arrive. If NULL causes proc to be called from context thread. See Event Queue Object.
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. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.

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
hfrcvPointer 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 
)

Extended delete a UM Hot Failover (HF) receiver object. See https://communities.informatica.com/infakb/faq/5/Pages/80060.aspx for details and restrictions.

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 (event_queue) be set to 1.

Warning
It is not safe to call this function from a context thread callback.
Parameters
hfrcvPointer to a UM HF receiver object to delete.
cbinfoCancellation 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)

Return the LBM Hot Failover (HF) receiver object (if any) from a UM receiver object.

Parameters
rcvPointer 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 
)

Retrieves all receiver attribute options for an HF receiver.

The config object is filled with receiver configuration options

Parameters
hfrcvThe HF receiver object to retrieve the attributes from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe 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 
)

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.

Warning
It is not safe to call this function from a context thread callback.
See also
lbm_src_create
Parameters
srcpA 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.
ctxPointer to the LBM context object associated with the sender.
topicPointer to the LBM topic object associated with the destination of messages sent by the source.
procPointer to a function to call when events occur related to the source. If NULL, then events are not delivered to the source.
clientdPointer to client data that is passed when proc is called.
evqOptional Event Queue to place events on when they occur. If NULL causes proc to be called from context thread. See Event Queue Object.
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 
)

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.

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

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
See also
lbm_src_send()
Parameters
srcPointer to the LBM source to send from
msgPointer to the data to send in this message
lenLength (in bytes) of the data to send in this message
sqnThe application sequence number to associate with this message.
flagsFlags 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 
)

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.

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

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
See also
lbm_src_send_ex()
Parameters
srcPointer to the LBM source to send from
msgPointer to the data to send in this message
lenLength (in bytes) of the data to send in this message
sqnThe application sequence number to associate with this message.
flagsFlags 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.)
exinfoPointer 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 will reset order and loss information for hot failover receivers on this topic.

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.
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
srcPointer to the LBM source to send from, must be a hot failover source
flagsFlags 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.)
exinfoPointer 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 
)

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.

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.
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
See also
lbm_hf_src_sendv
Parameters
srcPointer to the LBM source to send from.
iovPointer to an array of iovecs that hold message information.
numNumber of elements of the iov array to send.
sqnThe application sequence number to associate with this message.
flagsFlags 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 
)

Extended send of a set of Hot Failover (HF) messages to the topic associated with a UM source.

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.
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
See also
lbm_hf_src_sendv_ex
Parameters
srcPointer to the LBM source to send from
iovPointer to an array of iovecs that hold message information.
numNumber of elements of the iov array to send.
sqnThe application sequence number to associate with this message.
flagsFlags 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.)
exinfoPointer 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)

Create and fill a UM HFX attribute object with the current default values. Note: Informatica recommends the use of XML Configuration Files, for which lbm_hfx_attr_create_from_xml() should be used.

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
attrA 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_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.

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.

Note
This API should be used even if no XML file is being used.
Parameters
attrA 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.
topicnameThe 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)

Delete a UM HFX attribute object.

The attribute object is cleaned up and deleted.

Parameters
attrPointer 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 
)

Retrieves all HFX attribute options.

The config object is filled with HFX configuration options

Parameters
attrThe HFX attribute object to retrieve the attributes from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
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.

Parameters
attrPointer to a UM HFX attributed object.
optnameString containing the option name.
optvalPointer to the option value structure to be filled. The structure of the option values are specific to the options themselves.
optlenLength (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 ( void  )

Retrieves the number of options that are of type "hfx".

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

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 
)

Fill a UM HFX attribute object with the current default values for the given topic name.

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
attrA pointer to a UM HFX attribute structure.
topicnameThe 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 
)

Set the value (in binary format) of a configuration option in the supplied HFX attribute object.

Used before the HFX is created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM HFX attribute object.
optnameString containing the option name.
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve the textual value of an option for the given LBM HFX attribute.

Parameters
attrPointer to a UM HFX attributed object.
optnameString containing the option name.
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenMaximum 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 
)

Set the value (in string format) of a configuration option in the supplied HFX attribute object.

Used before the HFX is created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM HFX attributed object.
optnameString containing the option name.
optvalPointer to the option string value. The format of the string is specific to the option being set.
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 
)

Create and initialize an lbm_hfx_t object.

See also
lbm_hfx_delete()
Parameters
hfxpA 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.
cattrA pointer to a UM HFX attribute object. A value of NULL will use default attributes.
symbolThe symbol string to be used for all hot failover receivers managed by this HFX.
procPointer to a function to call when messages arrive.
evqOptional Event Queue to place message events on when they arrive. If NULL, causes proc to be called from context thread. See Event Queue Object.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_hfx_delete ( lbm_hfx_t hfx)

Delete a UM HFX object.

Warning
It is not safe to call this function from a context thread callback.
Parameters
hfxPointer 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 
)

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 (event_queue) to be set to 1 if an event queue is in use. Unlike 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
hfxPointer to an LBM HFX object to delete.
cbinfoCancellation 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 
)

Retrieves all HFX attribute options.

The config object is filled with HFX configuration options

Parameters
hfxThe HFX object to retrieve the attributes from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
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.

Parameters
hfxPointer to a UM HFX object where the option is stored.
optnameString containing the option name.
optvalPointer to the option value structure. The structure of the option values are specific to the options themselves.
optlenWhen 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 
)

Create a HFX receiver.

Warning
It is not safe to call this function from a context thread callback.
Parameters
hfrcvpA 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.
hfxAn lbm_hfx_t object created by lbm_hfx_create()
ctxThe lbm_context_t object on which to create the new receiver.
rattrThe receiver attributes to be used when creating new hot failover receivers.
clientdPointer 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)

Delete a HFX receiver.

Warning
It is not safe to call this function from a context thread callback.
Parameters
hfrcvPointer 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 
)

Extended delete a UM HFX receiver object.

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 (event_queue) to be set to 1 if an event queue is in use.

Unlike 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
hfrcvPointer to a UM HFX receiver to delete.
cbinfoCancellation 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 
)

Retrieves all receiver attribute options for an HFX receiver.

The config object is filled with receiver configuration options

Parameters
hfxrcvThe HFX receiver object to retrieve the attributes from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
LBMExpDLL int lbm_hfx_setopt ( lbm_hfx_t hfx,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Set the value (in binary format) of a configuration option in the supplied HFX.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_hfx_attr_*() (i.e. lbm_hfx_attr_dump(), lbm_hfx_attr_option_size(), lbm_hfx_attr_create(), lbm_hfx_attr_create_from_xml(), lbm_hfx_attr_set_from_xml(), lbm_hfx_attr_delete(), lbm_hfx_attr_setopt(), lbm_hfx_attr_str_setopt(), lbm_hfx_attr_getopt(), lbm_hfx_attr_str_getopt()).

Parameters
hfxPointer to a UM HFX object where the option is to be set.
optnameString containing the option name.
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve the textual option value within the given HFX.

Parameters
hfxPointer to a UM HFX object where the option is stored.
optnameString containing the option name.
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenWhen 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 
)

Set the value (in string format) of a configuration option in the supplied HFX.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_hfx_attr_*() (i.e. lbm_hfx_attr_dump(), lbm_hfx_attr_option_size(), lbm_hfx_attr_create(), lbm_hfx_attr_create_from_xml(), lbm_hfx_attr_set_from_xml(), lbm_hfx_attr_delete(), lbm_hfx_attr_setopt(), lbm_hfx_attr_str_setopt(), lbm_hfx_attr_getopt(), lbm_hfx_attr_str_getopt()).

Parameters
hfxPointer to a UM HFX object where the option is to be set.
optnameString containing the option name.
optvalPointer to the option string value. The format of the string is specific to the option being set.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_is_ume_capable ( void  )

Determine if the LBM library is capable of UME operations.

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  )

Determine if the LBM library is capable of UMQ operations.

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)

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.

Parameters
licfileString 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)

Initialize the UM license from a string. This function will only be effective if it is called before any other UM API function.

Parameters
licstrString 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_license_ummnm_valid ( void  )

Determine is the UMM product is licensed.

For UM internal use only. This function tests whether or not UMM is licensed for use.

Returns
0 for Success and -1 for Failure
LBMExpDLL int lbm_license_vds_valid ( void  )

Determine is the VDS product is licensed.

For UM internal use only. This function tests whether or not VDS is licensed for use.

Returns
0 for Success and -1 for Failure
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.).

Parameters
procFunction to call when a log message is generated.
clientdClient data to pass when a log message is generated.
Returns
0 on Success and -1 for Failure
LBMExpDLL void lbm_log_debug ( int  on)

Enable logging of debug messages to the application logging callback set by lbm_log().

By default, if lbm debug logging is enabled it is sent to the filename specified by lbm_debug_filename(), or stderr. Calling lbm_log_debug() with a value of 1 will redirect debug logging to the application logging callback set by lbm_log(), or stderr if no callback is set.

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

Log a message. This is an entry to the UM logging mechanism.

Parameters
levelMessage log level (see LBM_LOG_*).
formatprintf style format string, followed by zero or more arguments.
LBMExpDLL int lbm_msg_delete ( lbm_msg_t msg)

Delete a UM message object.

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. See C Message Reception.

If this message is delivered from a persistent receiver, deleting the message might signal consumption of the message, depending on the use case. See Persistence Message Consumption for a full explanation of consumption acknowledgements.

Parameters
msgPointer 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)

Retrieves the ack structure from a UMP message. This is used to do explicit ACKs without having to retain the entire received message.

See lbm_ume_ack_send_explicit_ack() for sending an explicit ack using an extracted ACK structure. After the application is finished with the ACK structure, it should be deleted via lbm_ume_ack_delete().

See Explicit Acknowledgments for more information.

Parameters
msgPointer 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)

Determine if the current message is a single fragment of a larger, multi-fragment message.

Note that this function will not return true unless:

See lbm_msg_retrieve_fragment_info() to retrieve fragment information.

See Message Fragmentation and Reassembly for general information.

Parameters
msgPointer to a UM message object.
Returns
1 if the message a fragment, 0 otherwise.
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 See Message Properties.

See also
lbm_msg_properties_create
lbm_msg_properties_set
lbm_msg_properties_get
Parameters
propertiesProperties object from which the named property should be cleared.
nameProperty 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)

Creates a new properties object, used for sending messages with properties. Send a message with properties with lbm_src_send_ex_info_t::properties to one of the extended send APIs, like lbm_src_send_ex(). See Message Properties.

See also
lbm_msg_properties_delete
lbm_msg_properties_set
lbm_msg_properties_get
lbm_msg_properties_iter_first
Parameters
propertiesA 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)

Deletes a properties object. See Message Properties.

See also
lbm_src_send_ex()
lbm_msg_properties_create
lbm_msg_properties_set
lbm_msg_properties_get
Parameters
propertiesA 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 
)

Gets the value of the property with the specified name, type, and size. Note that this function performs a linear search through the list of properties to find the desired property. If you are going to be retrieving most or all of a large number of stored properties, it will be more efficient to use lbm_msg_properties_iter_create() to iterate once through the list. See Message Properties.

See also
lbm_src_send_ex()
lbm_msg_properties_create()
lbm_msg_properties_iter_create()
Parameters
propertiesThe properties object that the new value should be retrieved from. See lbm_msg_t::properties.
nameThe name of the desired property to be retrieved.
valueA pointer to the memory to be filled in with the value.
typeA pointer to the type of the desired property. It must match the type of the Stored property; no implicit type conversion is performed. If the named property is found but has a different type, the actual type of the Stored property is written into the "type" variable and LBM_FAILURE is returned.
sizeA 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_errmsg().
LBMExpDLL int lbm_msg_properties_iter_create ( lbm_msg_properties_iter_t **  iterp)

Creates a new msg properties iterator. An iterator is used to sequentially access each property in a properties object. Properties objects normally come from lbm_msg_properties_create() or lbm_msg_t::properties via a receiver callback (lbm_rcv_cb_proc). The newly created iterator is not associated with any properties object. Use lbm_msg_properties_iter_first() to begin iterating over a properties object. See Message Properties.

See also
lbm_msg_properties_iter_delete
lbm_msg_properties_iter_first
lbm_msg_properties_iter_next
lbm_msg_properties_get
lbm_msg_properties_create
Parameters
iterpA 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)

Deletes an lbm_msg_properties_iterator See Message Properties.

See also
lbm_msg_properties_iter_create
Parameters
iterA pointer to an iterator created via 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 
)

Begin iterating over an 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. See Message Properties.

See also
lbm_msg_properties_iter_next
Parameters
iterAn iterator object allocated via lbm_msg_properties_iter_create()
propertiesA properties object, either retrieved from lbm_msg_t::properties, or created via 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)

Iterate to the next property in an lbm_msg_properties_t object. See Message Properties.

See also
lbm_msg_properties_iter_first
lbm_msg_properties_get
Parameters
iterIterate to the next element in the currently associated lbm_msg_properties_t object.
Returns
LBM_OK for success, LBM_FAILURE if an error is detected, or if there are no more properties. If LBM_FAILURE is returned, check the iterator's type. If lbm_msg_properties_iter_t::type is LBM_MSG_PROPERTY_NONE, the iterator is simply at the end of the list. If lbm_msg_properties_iter_t::type is not LBM_MSG_PROPERTY_NONE, a serious error was detected. Use lbm_errcode() and lbm_errmsg() for information.
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. See Message Properties.

See also
lbm_src_send_ex()
lbm_msg_properties_create
lbm_msg_properties_get
Parameters
propertiesThe properties object that the new value should be set on
nameThe name of the property to be set
valueThe value to set.
typeThe type of value being specified. Choose between LBM_MSG_PROPERTY_BOOLEAN, LBM_MSG_PROPERTY_BYTE, LBM_MSG_PROPERTY_SHORT, LBM_MSG_PROPERTY_INT, LBM_MSG_PROPERTY_LONG, LBM_MSG_PROPERTY_FLOAT, LBM_MSG_PROPERTY_DOUBLE, LBM_MSG_PROPERTY_STRING.
sizeThe 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_errmsg().
LBMExpDLL int lbm_msg_retain ( lbm_msg_t msg)

Inform UM that the application is going to retain ownership of a UM message object after the receiver callback returns.

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). This allows the message to be passed to a different part of the application, perhaps a different thread, for processing after the receiver callback returns.

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

Note
the message must be retained before being made available to the other parts of the application. For example, it would not be legal for a separate thread to start processing the message before the receiver callback called retain.
Parameters
msgPointer 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 
)

Retrieves fragment information from a message.

If UM is configured to reassemble the message before delivery (ordered_delivery (receiver) is 1 or -1), the information retrieved is for the last fragment of the message.

Note that if the application message did not require fragmentation (i.e. it fit within a single fragment), this function will return -1.

See Message Fragmentation and Reassembly for general information.

Parameters
msgPointer to a UM message object
infoPointer to fragment information structure to fill in.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_msg_retrieve_gateway_info ( lbm_msg_t msg,
lbm_msg_gateway_info_t info 
)

DEPRECATED. Retrieve gateway information from a UM message.

Parameters
msgPointer to a UM message object to retrieve gateway information from.
infoPointer to gateway information structure to fill in.
Returns
0 for Success and -1 for Failure.
Deprecated:
do not use.
LBMExpDLL int lbm_msg_retrieve_msgid ( lbm_msg_t msg,
lbm_umq_msgid_t id 
)

Retrieve UMQ Message ID information from a UM message.

Parameters
msgPointer to a UM message object to retrieve UMQ Message ID info from.
idPointer 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 
)

Retrieve UMQ index information from a UM message.

Parameters
msgPointer to a UM message object to retrieve UMQ index info from.
infoPointer 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)

Check to see if Explicit UMP ACK for a UM message object can be called.

Parameters
msgPointer 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)

Send a consumption acknowledgement to the persistent Store.

This function is used in the Explicit Acknowledgments use case to signal consumption of the supplied message, and all unacknowledged messages sent before it. ume_explicit_ack_only (receiver) must be set to 1.

Warning
If explicit ACKs are used, the application must ensure that messages are ACKed in the order received. See ACK Ordering.

See Persistence Message Consumption for a full explanation of consumption acknowledgements.

Parameters
msgPointer 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 
)

Do not acknowledge the given message and instead request that the message be reassigned.

Parameters
msgPointer to a UM message to request to be reassigned.
flagsFlags indicating various conditions. ORed set of values.
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 
)

Multicast an immediate message to the topic.

Attention
Immediate messages are processed less efficiently than source-based messages. For high-throughput or ultra-low-latency applications, immediate messages should be used sparingly.
Warning
Multicast immediate messages are NOT guaranteed to maintain order. A loss-recovery event can lead to messages received out of order.
Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.

See Immediate Messaging for general information on immediate messaging.

Parameters
ctxPointer to UM context to send from
topicTopic name to send message to or NULL for non-topic. Topic names should be limited to 246 characters (not including the final null).
dataPointer to the data to send in this message
lenLength (in bytes) of the data to send in this message. Multicast immediate messages must be 7866 bytes or less in length.
flagsFlags 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 
)

Multicast an immediate request to the target and topic.

Attention
Immediate messages are processed less efficiently than source-based messages. For high-throughput or ultra-low-latency applications, immediate messages should be used sparingly.
Warning
Multicast immediate messages are NOT guaranteed to maintain order. A loss-recovery event can lead to messages received out of order.

See Immediate Messaging for general information on immediate messaging. See Request/Response for general information on the Request/Response feature.

Parameters
reqpA pointer to a pointer for the lbm_request_t object created to be stored.
ctxPointer to UM context to send from.
topicTopic name to send message to or NULL for non-topic. Topic names should be limited to 246 characters (not including the final null).
dataBuffer to be included as data in the request.
lenLength (in bytes) of the data to send in this message. Multicast immediate messages must be 7866 bytes or less in length.
procPointer to function to call when responses come in for this request.
clientdClient data returned in the callback proc proc.
evqOptional Event Queue to place message events on when they occur. If NULL causes proc to be called from context thread. See Event Queue Object.
flagsFlags 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 
)

DEPRECATED, do not use.

Parameters
ctxPointer to UM context to submit from.
qnameQueue to submit message to. Queue names should be limited to 246 bytes characters (not including the final NULL).
topicTopic name to send message to. Topic names should be limited to 246 characters (not including the final NULL).
dataPointer to the data to send in this message
lenLength (in bytes) of the data to send in this message.
flagsFlags used to instruct UM how to handle this message. See lbm_unicast_immediate_message for more information.
infoPointer to lbm_src_send_ex_info_t options
Returns
0 for Success and -1 for Failure.
Deprecated:
No longer functional since UM version 6.8.
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.

The callback proc will be called to deliver data sent to the topics that the receiver has requested. See C Message Reception for design rules when receiving messages.

Warning
It is not safe to call this function from a context thread callback.
Parameters
rcvpA 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.
ctxPointer to the UM context object associated with the receiver.
topicPointer 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().
procPointer to a function to call when messages arrive.
clientdPointer to client data that is passed when data arrives and proc is called.
evqOptional Event Queue to place message events on when they arrive. See Event Queue Object.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_rcv_delete ( lbm_rcv_t rcv)

Delete a UM receiver object.

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
rcvPointer 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 
)

Extended delete a UM receiver object.

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 (event_queue) be set to 1.

Warning
It is not safe to call this function from a context thread callback.
Parameters
rcvPointer to a UM receiver object to delete.
cbinfoCancellation 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)

Return the LBM receiver object associated with a UM Hot Failover (HF) receiver object.

Parameters
hfrcvPointer 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)

Retrieve the underlying receiver from an lbm_hfx_rcv_t.

Parameters
hfxrcvA 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 
)

Retrieve an option value within the given rcv.

Parameters
rcvPointer to a UM receiver object where the option is stored
optnameString containing the option name
optvalPointer to the option value structure. The structure of the option values are specific to the options themselves.
optlenWhen 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 
)

Set the pointer value to set in the messages received for the given receiver from a specific source.

Parameters
rcvPointer to the UM receiver to look for the source on.
sourceString version of the source to look for. See Source String.
source_clientdPointer 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)

Reset the transport stats for all the sources seen by the given receiver.

Parameters
rcvPointer 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 
)

Reset the transport statistics for the transport used by the given receiver from a specific source.

Parameters
rcvPointer to the UM receiver to reset statistics for.
sourceString version of the source to reset statistics for. See Source String.
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 
)

Retrieve the transport stats for all the sources seen by the given receiver.

Be aware that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Note
Although Informatica will continue to support this API into the future, we recommend the use of the lbm_rcv_retrieve_all_transport_stats_ex() API instead of this one.
Parameters
rcvPointer to the UM receiver to retrieve statistics for.
numPointer 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.
statsArray 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_all_transport_stats_ex ( lbm_rcv_t rcv,
int *  num,
int  size,
lbm_rcv_transport_stats_t stats 
)

Retrieve the transport stats for all the sources seen by the given receiver.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Parameters
rcvPointer to the UM receiver to retrieve statistics for.
numPointer 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.
sizesize (in bytes) of the structure passed for the "stats" parameter. I.e. the size of one element in in the "stats" array.
statsArray 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 
)

Retrieve the transport statistics for the transport used by the given receiver from a specific source.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Parameters
rcvPointer to the UM receiver to retrieve statistics for.
sourceString version of the source, excluding the topic index, to retrieve stats for. See Source String. See also option source_includes_topic_index (context).
statsPointer 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 
)

Set the value (in binary format) of a configuration option in the supplied receiver.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_rcv_topic_attr_*() (i.e. lbm_rcv_topic_attr_dump(), lbm_rcv_topic_attr_option_size(), lbm_rcv_topic_attr_create(), lbm_rcv_topic_attr_create_default(), lbm_rcv_topic_attr_create_from_xml(), lbm_rcv_topic_attr_set_from_xml(), lbm_rcv_topic_attr_delete(), lbm_rcv_topic_attr_dup(), lbm_rcv_topic_attr_setopt(), lbm_rcv_topic_attr_str_setopt(), lbm_rcv_topic_attr_getopt(), lbm_rcv_topic_attr_str_getopt()).

Parameters
rcvPointer to a UM receiver object where the option is to be set
optnameString containing the option name
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve a textual option value within the given rcv.

Parameters
rcvPointer to a UM receiver object where the option is stored
optnameString containing the option name
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenWhen 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 
)

Set the value (in string format) of a configuration option in the supplied receiver.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_rcv_topic_attr_*() (i.e. lbm_rcv_topic_attr_dump(), lbm_rcv_topic_attr_option_size(), lbm_rcv_topic_attr_create(), lbm_rcv_topic_attr_create_default(), lbm_rcv_topic_attr_create_from_xml(), lbm_rcv_topic_attr_set_from_xml(), lbm_rcv_topic_attr_delete(), lbm_rcv_topic_attr_dup(), lbm_rcv_topic_attr_setopt(), lbm_rcv_topic_attr_str_setopt(), lbm_rcv_topic_attr_getopt(), lbm_rcv_topic_attr_str_getopt()).

Parameters
rcvPointer to a UM receiver object where the option is to be set
optnameString containing the option name
optvalPointer to the option string value. The format of the string is specific to the option being set.
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 
)

Subscribe to a channel, with an optional callback and clientd data pointer.

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.

If the callback proc is supplied, note that only event types LBM_MSG_DATA and LBM_MSG_REQUEST will be delivered to it.

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

For general information on the spectrum feature, see Spectrum.

Parameters
rcvA pointer to a UM receiver object.
channelA channel number to subscribe to.
procPointer to a function to call when messages arrive.
clientdPointer 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)

Create and fill a UM receiver topic attribute object with the current default values. Note: Informatica recommends the use of XML Configuration Files, for which lbm_rcv_topic_attr_create_from_xml() should be used.

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
attrA 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)

Create and fill a UM receiver topic attribute object with the initial default values.

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
attrA 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 
)

Create and fill a UM receiver topic attribute object with the current default values for the given topic name.

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.

Note that this API should be used even if no XML file is being used.

Parameters
attrA 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_nameThe context name used to lookup this context in the XML configuration. Names must consist of ASCII alpha-numeric characters or dash (-) or underscore (_), with a maximum length of 127 characters. A NULL value is permitted, and will match the unnamed context defined in the XML.
topicnameThe 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)

Delete a receiver topic attribute object.

The attribute object is cleaned up and deleted.

Parameters
attrPointer 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 
)

Retrieves all receiver topic configuration options.

The config object is filled with source topic configuration options

Parameters
rattrThe receiver topic attribute object to retrieve the attributes from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
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.

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

Parameters
attrA 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.
originalPointer 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 
)

Retrieve an option value within the given receiver topic attribute.

Parameters
attrPointer to a UM receiver topic attribute object where the option is stored
optnameString containing the option name
optvalPointer to the option value structure. The structure of the option values are specific to the options themselves.
optlenWhen 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 ( void  )

Retrieves the number of options that are of type "source topic".

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 
)

Fill a UM receiver topic attribute object with the current default values for the given topic name.

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
attrA pointer to a UM receiver topic attribute structure.
context_nameThe context name used to lookup this context in the XML configuration. Names must consist of ASCII alpha-numeric characters or dash (-) or underscore (_), with a maximum length of 127 characters. A NULL value is permitted, and will match the unnamed context defined in the XML.
topicnameThe 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 
)

Set the value (in binary format) of a configuration option in the supplied receiver topic attribute object.

Used before the topic is looked up and the receiver created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM receiver topic attribute object where the option is to be set.
optnameString containing the option name.
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve a textual option value within the given receiver topic attribute.

Parameters
attrPointer to a UM receiver topic attribute object where the option is stored
optnameString containing the option name
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenWhen 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 
)

Set the value (in string format) of a configuration option in the supplied receiver topic attribute object.

Used before the topic is looked up and the receiver created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM receiver topic attribute object where the option is to be set.
optnameString containing the option name.
optvalPointer to the option binary value. The format of the value is specific to the option being set.
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 
)

Retrieves all receiver topic configuration options.

The config object is filled with source topic configuration options

Parameters
rcvThe receiver object to retrieve the options from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe 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 
)

Turn a Topic string into a UM topic object usable by receivers.

Warning
It is not safe to call this function from a context thread callback.
Parameters
topicpA 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.
ctxContext object for topic
symbolThe topic string. Topic strings should be limited in length to 246 characters (not including the final null).
attrPointer to a receiver topic attributes object for passing in options NOTE: Setting options 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)

Deregister a receiver from all known UMP Stores.

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
rcvPointer 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 
)

De-Register the given receiver from the given UMQ queue or all UMQ queues.

Parameters
rcvPointer to receiver object to de-register.
queue_nameName 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 
)

Instruct the given UMQ queue(s) to release the given UMQ index that is assigned to the given receiver.

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

Parameters
rcvPointer to receiver object that wishes to release the index.
queue_nameName of the queue to reassign the index. A NULL means reassign the index for all UMQ queues.
index_infoIndex to release.
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 
)

Instruct the given UMQ queue(s) to reserve an index for assignment to this receiver.

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
rcvPointer to receiver object that wishes to release the index.
queue_nameName of the queue(s) at which to reserve the index. A NULL means reassign the index for all UMQ queues.
index_infoIndex 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 
)

Start assignment of new UMQ indices to the given receiver from the given UMQ queue or all UMQ queues.

Parameters
rcvPointer to receiver object to start assignment for.
queue_nameName 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 
)

Stop assignment of new UMQ indices to the given receiver from the given UMQ queue or all UMQ queues.

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
rcvPointer to receiver object to stop assignment for.
queue_nameName 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 
)

DEPRECATED. Retrieves a list of all currently-queued messages from a queue (asynchronous operation).

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
rcvPointer to observer receiver object
queue_nameName of the queue to retrieve the list of messages from.
selectorNot currently supported; please pass NULL.
async_opfuncThe asynchronous operation callback the topic list will be delivered to.
Deprecated:
do not use.
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 
)

DEPRECATED. Retrieves a set of queued messages from the queue (asynchronous operation).

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
rcvPointer to observer receiver object
queue_nameName of the queue to retrieve the messages from.
msgidsArray of UMQ message IDs to retrieve.
num_msgidsLength of message ID array.
async_opfuncThe asynchronous operation callback the retrieved messages will be delivered to.
Deprecated:
do not use.
LBMExpDLL int lbm_rcv_unsubscribe_channel ( lbm_rcv_t rcv,
lbm_uint32_t  channel 
)

Discontinue an existing channel subscription.

Remove a subscription to a channel previously subscribed to with lbm_rcv_subscribe_channel().

Parameters
rcvA pointer to a UM receiver object.
channelThe 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 
)

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 (event_queue) be set to 1.

Parameters
rcvA pointer to a UM receiver object.
channelThe channel number for the channel subscription to be removed.
cbinfoCancellation 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 
)

Register a file descriptor/socket for events that calls proc when a given event occurs.

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 fd_management_type (context).

Warning
It is not recommended to call this function from a context thread callback.
See also
lbm_cancel_fd()
Parameters
ctxPointer to the UM context object
handlefile descriptor/socket of interest for event.
procPointer to the function to call when the event occurs
clientdPointer to client data that is passed when the event occurs.
evqOptional Event Queue to place events on when they occur. If NULL causes proc to be called from context thread. See Event Queue Object.
evOne or more of: LBM_FD_EVENT_* (i.e. LBM_FD_EVENT_READ, LBM_FD_EVENT_WRITE, LBM_FD_EVENT_EXCEPT, LBM_FD_EVENT_ACCEPT, LBM_FD_EVENT_CLOSE, LBM_FD_EVENT_CONNECT, LBM_FD_EVENT_ALL) (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.

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().

See Request/Response for general information on the Request/Response feature.

Parameters
reqA 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 
)

Extended delete a UM request object.

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 (event_queue) be set to 1.

See Request/Response for general information on the Request/Response feature.

Parameters
reqA pointer to an lbm_request_t object returned by lbm_send_request.
cbinfoCancellation 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)

Delete a UM response object.

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
respA 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 
)

Schedule a timer that calls proc when it expires.

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
ctxPointer to the UM context object
procPointer to the function to call when the timer expires.
clientdPointer to client data that is passed when the timer expires.
evqOptional Event Queue to place timer events on when they occur. If NULL causes proc to be called from context thread. See Event Queue Object.
delayDelay 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 
)

Schedule a recurring timer that calls proc when it expires.

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
ctxPointer to the UM context object
procPointer to the function to call when the timer expires.
clientdPointer to client data that is passed when the timer expires.
evqOptional Event Queue to place timer events on when they occur. If NULL causes proc to be called from context thread. See Event Queue Object.
delayDelay 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 
)

Send a request on the given src that contains the given data.

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 requester does not expect any additional responses, it deletes the request object using lbm_request_delete().

See Request/Response for general information on the Request/Response feature.

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
See also
lbm_src_send()
Parameters
reqpA pointer to a pointer for the lbm_request_t object created to be stored.
srcThe UM source to send the request out.
dataBuffer to be included as data in the request.
lenLength (in bytes) of the data included with the request.
procPointer to function to call when responses come in for this request.
clientdClient data returned in the callback proc proc.
evqOptional Event Queue to place message events on when they occur. If NULL causes proc to be called from context thread. See Event Queue Object.
send_flagsFlags 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 
)

Send a request on the given src that contains the given data.

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 requester does not expect any additional responses, it deletes the request object using lbm_request_delete().

See Request/Response for general information on the Request/Response feature.

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
See also
lbm_src_send()
Parameters
reqpA pointer to a pointer for the lbm_request_t object created to be stored.
srcThe UM source to send the request out.
dataBuffer to be included as data in the request.
lenLength (in bytes) of the data included with the request.
procPointer to function to call when responses come in for this request.
clientdClient data returned in the callback proc proc.
evqOptional Event Queue to place message events on when they occur. If NULL causes proc to be called from context thread. See Event Queue Object.
send_flagsFlags used to instruct UM how to handle this message. See lbm_src_send() for more information.
exinfoPointer 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 
)

Send a response for a given resp response.

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Note
This function's return value is -1 (LBM_FAILURE) for failure. Return values of 0 or more represent a successful return, but not necessarily a successful send on the network. In past versions of UM, a positive return value could be taken to mean that the message had been successfully sent onto the network, but since the introduction of the DRO, even this cannot be counted on. Applications should test the return value against -1 (LBM_FAILURE), and not assign any particular meaning to return values of zero, or values greater than zero, except that the function call was successful. See UIM Reliability.
Parameters
respA pointer to an lbm_response_t object given in a lbm_msg_t object.
dataBuffer to send as the response data.
lenLength (in bytes) of the data to send as the response data.
flagsFlags 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. Any other value represents a successful return (but not necessarily a successful network send).
LBMExpDLL lbm_serialized_response_t* lbm_serialize_response ( lbm_response_t resp)

Serialize a UM response object.

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
respA 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)

Delete a UM serialized response object.

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_responseA 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)

Dynamically set the LBT-RM loss 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
rateLoss rate (from 0 to 100).
LBMExpDLL void lbm_set_lbtrm_src_loss_rate ( int  rate)

Dynamically set the LBT-RM source loss 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
rateLoss rate (from 0 to 100).
LBMExpDLL void lbm_set_lbtru_loss_rate ( int  rate)

Dynamically set the LBT-RU loss 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
rateLoss rate (from 0 to 100).
LBMExpDLL void lbm_set_lbtru_src_loss_rate ( int  rate)

Dynamically set the LBT-RU source loss 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
rateLoss rate (from 0 to 100).
LBMExpDLL void lbm_set_uim_loss_rate ( int  rate)

Dynamically set the UIM loss rate.

Set the UIM loss rate. This is equivalent to setting the environment variable LBM_UIM_LOSS_RATE, but allows the loss rate to be changed under program control.

Parameters
rateLoss rate (from 0 to 100).
LBMExpDLL int lbm_set_umm_info ( lbm_umm_info_t info)

Connect to and retrieve configuration from a UMM daemon.

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

See also
lbm_umm_info_t
Parameters
infolbm_umm_info_t struct specifying options for connecting to a UMM daemon.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_src_alloc_msg_buff ( lbm_src_t *const  src,
void **const  usr_bufp,
const size_t  len,
void **const  lbm_hdl,
const int  flags 
)

Allocates a zero-copy send buffer of the specified length, to be filled in and sent later (via the usr_bufp parameter).

Also allocates a handle to represent the buffer (via the lbm_hdl parameter).

This function is used to pre-allocate a message buffer and a handle for zero-copy sends. The application should build his outgoing message in the message buffer. When the application is ready to send the message, it passes the handle to lbm_src_send() as the message pointer, along with the LBM_MSG_BUFF_ALLOC flag. When using zero-copy sends, do not pass to lbm_src_send() the pointer to the message data, pass the handle.

This buffer and its handle are managed by UM; the application must not reference them after the send call is made.

See Zero-Copy Send API for more information on this feature.

Note
This buffer is not used with the Smart Sources feature.
Warning
lbm_src_alloc_msg_buff is NOT thread safe between sources on the same transport session
Parameters
srcThe source object
usr_bufpA pointer to a pointer to a buffer that the client can fill with message data; the pointer will be set to non-NULL upon success.
lenThe length of the buffer, in bytes, that is being requested.
lbm_hdlA pointer to a pointer that will contain the handle of the buffer for subsequent lbm_src_send calls; the pointer will be set to non-NULL upon success.
flagsReserved for future use.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_src_buff_acquire ( lbm_src_t *const  src,
void **const  bufp,
const size_t  len,
const int  flags 
)

Acquires a pointer to a buffer of the specified length, to be filled in and sent later.

Warning
lbm_src_buff_acquire is NOT thread safe between sources on the same transport session
Parameters
srcThe source object
bufpA pointer to a pointer to a buffer; the pointer will be set to non-NULL upon success.
lenThe length of the buffer, in bytes, that is being requested.
flagsFlags field to control blocking (the default) or non-blocking (if LBM_SRC_NONBLOCK is set) behavior.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_src_buffs_cancel ( lbm_src_t *const  src)

Cancels all outstanding (not yet completed) buffers previously acquired using lbm_src_buff_acquire for this source. All such acquired-but-not-completed buffers for this source (only) will no longer be received by any receivers.

Warning
lbm_src_buffs_cancel is NOT thread safe between sources on the same transport session
Parameters
srcThe source object
Returns
0 for Success and -1 for Failure
LBMExpDLL int lbm_src_buffs_complete ( lbm_src_t *const  src)

Sends all buffers on a transport session that had been previously been acquired.

Warning
lbm_src_buffs_complete is NOT thread safe between sources on the same transport session
Parameters
srcThe source object
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_src_buffs_complete_and_acquire ( lbm_src_t *const  src,
void **const  bufp,
const size_t  len,
const int  flags 
)

First sends all buffers on a transport session that had been previously acquired, and then acquires a pointer to a buffer of the specified length, to be filled in and sent later. Equivalent to calling lbm_src_buffs_complete followed by lbm_src_buff_acquire; included for convenience.

Warning
lbm_src_buff_acquire is NOT thread safe between sources on the same transport session
Parameters
srcThe source object
bufpA pointer to a pointer to a buffer; the pointer will be set to non-NULL upon success.
lenThe length of the buffer, in bytes, that is being requested.
flagsFlags field to control blocking (the default) or non-blocking (if LBM_SRC_NONBLOCK is set) behavior.
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 
)

Create a channel info object to send messages with the given channel_num.

See also
lbm_src_send_ex(), lbm_src_sendv_ex()
Parameters
chnpA 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.
srcPointer to the UM source the channel info object will be used with.
channel_numA channel number in the range 0-4294967295
Returns
0 for Success and -1 for Failure
LBMExpDLL int lbm_src_channel_delete ( lbm_src_channel_info_t chn)

Release the resources associated with a source channel.

Parameters
chnA 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 
)

Create a UM source that will send messages to the given topic.

Warning
It is not safe to call this function from a context thread callback.
Parameters
srcpA 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.
ctxPointer to the UM context object associated with the sender.
topicPointer to the UM topic object associated with the destination of messages sent by the source.
procPointer to a function to call when events occur related to the source. If NULL, then events are not delivered to the source.
clientdPointer to client data that is passed when proc is called.
evqOptional Event Queue to place events on when they occur. If NULL causes proc to be called from context thread. See Event Queue Object.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_src_delete ( lbm_src_t src)

Delete a UM source object.

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().

Publishing applications should typically delay deleting the source object for a few seconds after the final messages are sent to it. This is to allow final flushing of the Batcher (if used), and to allow remote receivers an opportunity to request retransmissions if needed.

Warning
It is not safe to call this function from a context thread callback.
Parameters
srcPointer 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 
)

Extended delete a UM source object.

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 (event_queue) be set to 1.

Publishing applications should typically delay deleting the source object for a few seconds after the final messages are sent to it. This is to allow final flushing of the Batcher (if used), and to allow remote receivers an opportunity to request retransmissions if needed.

Warning
It is not safe to call this function from a context thread callback.
Parameters
srcPointer to a UM source object to delete.
cbinfoCancellation 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)

Send messages from both the explicit and implicit batches ASAP.

Note
calling lbm_src_flush() for a given source effectively flushes the implicit batcher for all sources on the same transport session.
Warning
Do not call this function from a context thread callback. It can result in deadlock.
Parameters
srcPointer 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 
)

Retrieves the current number of inflight messages of a given type from a given source.

Note
An optional callback proc can be used to override the Store's stability ACKs and force the inflight message count to a specific value. Informatica recommends against doing this. If you think you need to override the inflight message count, contact support.
Parameters
srcPointer to the source.
typeType of flight size.
inflightPointer to an int whose value will be filled in to reflect the current inflight.
procOptional callback to override stability ACKs and set the current inflight information.
clientdOptional 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 
)

Retrieves the current inflight message and byte counts of a given type from a given source.

Note
An optional callback proc can be used to override stability ACKs and force the inflight message and byte counts to specific values. Informatica recommends against doing this. If you think you need to override the inflight message and byte counts, contact support.
Parameters
srcPointer to the source.
typeType of flight size.
inflightPointer to a structure to be filled in with the current inflight information.
procOptional callback to override stability ACKs and set the current inflight information.
clientdOptional 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 
)

Retrieve an option value within the given src.

Parameters
srcPointer to a UM source object where the option is stored
optnameString containing the option name
optvalPointer to the option value structure. The structure of the option values are specific to the options themselves.
optlenWhen 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)

Reset the transport statistics for the transport used by the given source.

Parameters
srcPointer 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 
)

Retrieve the transport statistics for the transport used by the given source.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Parameters
srcPointer to the UM source to retrieve statistics for.
statsPointer 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 
)

Send a message to the topic associated with a UM source.

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
srcPointer to the UM source to send from
msgPointer to the data to send in this message. (When the LBM_MSG_BUFF_ALLOC flag is passed for zero-copy sends, the msg parameter should not point to the message data, but rather should be the handle returned by lbm_src_alloc_msg_buff().)
lenLength (in bytes) of the data to send in this message
flagsFlags 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_MSG_BUFF_ALLOC - The parameter "msg" was allocated with a call to lbm_src_alloc_msg_buff() to make use of the Zero-Copy Send API feature. This flag is not compatible with any of the flags LBM_MSG_*_BATCH.
  • 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 
)

Extended send of a message to the topic associated with a UM source.

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
srcPointer to the UM source to send from
msgPointer to the data to send in this message
lenLength (in bytes) of the data to send in this message
flagsFlags 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.)
infoPointer to lbm_src_send_ex_info_t options
Returns
-1 for Failure or 0 for Success.
LBMExpDLL int lbm_src_send_lbmmon_stats ( lbm_src_t src,
char *  msg,
size_t  len,
int  lbmmon_type 
)

Send a PB serialized buffer as an LBMMON message using a UM source.

Parameters
srcPointer to the UM source to send from
msgPointer to the PB serialized buffer to send.
lenLength (in bytes) of the PB serialized buffer
lbmmon_typeType of statistics. See LBMMON_PACKET_TYPE_*.
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 
)

Send a set of messages to the topic associated with a UM source.

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.

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
srcPointer to the UM source to send from.
iovPointer to an array of iovecs that hold message information.
numNumber of elements of the iov array to send.
flagsFlags 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 
)

Extended send of a set of messages to the topic associated with a UM source.

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

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
srcPointer to the UM source to send from
iovPointer to an array of iovecs that hold message information.
numNumber of elements of the iov array to send.
flagsFlags 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.)
infoPointer 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 
)

Set the value (in binary format) of a configuration option in the supplied source.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_src_topic_attr_*() (i.e. lbm_src_topic_attr_dump(), lbm_src_topic_attr_option_size(), lbm_src_topic_attr_create(), lbm_src_topic_attr_create_default(), lbm_src_topic_attr_create_from_xml(), lbm_src_topic_attr_set_from_xml(), lbm_src_topic_attr_delete(), lbm_src_topic_attr_dup(), lbm_src_topic_attr_setopt(), lbm_src_topic_attr_str_setopt(), lbm_src_topic_attr_getopt(), lbm_src_topic_attr_str_getopt()).

Parameters
srcPointer to a UM source object where the option is to be set
optnameString containing the option name
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve a textual option value within the given src.

Parameters
srcPointer to a UM source object where the option is stored
optnameString containing the option name
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenWhen 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 
)

Set the value (in string format) of a configuration option in the supplied source.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_src_topic_attr_*() (i.e. lbm_src_topic_attr_dump(), lbm_src_topic_attr_option_size(), lbm_src_topic_attr_create(), lbm_src_topic_attr_create_default(), lbm_src_topic_attr_create_from_xml(), lbm_src_topic_attr_set_from_xml(), lbm_src_topic_attr_delete(), lbm_src_topic_attr_dup(), lbm_src_topic_attr_setopt(), lbm_src_topic_attr_str_setopt(), lbm_src_topic_attr_getopt(), lbm_src_topic_attr_str_getopt()).

Parameters
srcPointer to a UM source object where the option is to be set
optnameString containing the option name
optvalPointer to the option string value. The format of the string is specific to the option being set.
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 
)

Turn a Topic string into a UM topic object usable by sources.

Warning
It is not safe to call this function from a context thread callback.
Parameters
topicpA 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.
ctxContext object for Topic
symbolThe Topic string. Topic strings should be limited in length to 246 characters (not including the final null).
attrPointer 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)

Create and fill a UM source topic attribute object with the current default values. Note: Informatica recommends the use of XML Configuration Files, for which lbm_src_topic_attr_create_from_xml() should be used.

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
attrA pointer to a pointer to a UM source topic attribute object. 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)

Create and fill a UM source topic attribute object with the initial default values.

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
attrA pointer to a pointer to a UM source topic attribute object. 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 
)

Create and fill a UM source topic attribute object with the current default values for the given topic name.

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.

Note that this API should be used even if no XML file is being used.

Parameters
attrA pointer to a pointer to a UM source topic attribute object. Will be filled in by this function to point to the newly created lbm_src_topic_attr_t object.
context_nameThe context name used to lookup this context in the XML configuration. Names must consist of ASCII alpha-numeric characters or dash (-) or underscore (_), with a maximum length of 127 characters. A NULL value is permitted, and will match the unnamed context defined in the XML.
topicnameThe 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)

Delete a source topic attribute object.

The attribute object is cleaned up and deleted.

Parameters
attrPointer 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 
)

Retrieves all source topic configuration options.

The config object is filled with source topic configuration options

Parameters
sattrThe source topic attribute object to retrieve the configuration from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
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.

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

Parameters
attrA pointer to a pointer to a UM source topic attribute object. Will be filled in by this function to point to the newly created lbm_src_topic_attr_t object.
originalPointer 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 
)

Retrieve an option value within the given source topic attribute object.

Parameters
attrPointer to a UM source topic attribute object where the option is stored
optnameString containing the option name
optvalPointer to the option value structure. The structure of the option values are specific to the options themselves.
optlenWhen 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 ( void  )

Retrieves the number of options that are of type "topic".

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 
)

Fill a UM source topic attribute object with the current default values for the given topic name.

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
attrA pointer to a UM source topic attribute object.
context_nameThe context name used to lookup this context in the XML configuration. Names must consist of ASCII alpha-numeric characters or dash (-) or underscore (_), with a maximum length of 127 characters. A NULL value is permitted, and will match the unnamed context defined in the XML.
topicnameThe 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 
)

Set the value (in binary format) of a configuration option in the supplied source topic attribute object.

Used before the topic is allocated and the source created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM source topic attribute object where the option is to be set
optnameString containing the option name
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve a textual option value within the given source topic attribute object.

Parameters
attrPointer to a UM source topic attribute object where the option is stored
optnameString containing the option name
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenWhen 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 
)

Set the value (in string format) of a configuration option in the supplied source topic attribute object.

Used before the topic is allocated and the source created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM source topic attribute object where the option is to be set
optnameString containing the option name
optvalPointer to the option string value. The format of the string is specific to the option being set.
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 
)

Retrieves all source topic configuration options.

The config object is filled with source topic configuration options

Parameters
srcThe source object to retrieve the configuration from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
LBMExpDLL int lbm_src_ume_deregister ( lbm_src_t src)

Deregister a source from the UMP Stores.

This function causes a UMP deregistration to be sent to all Stores the source is currently registered to, and disallows any future registrations for that source object. Also, that source's state will be removed from the Store.

Parameters
srcPointer to a UM source object
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_ssrc_buff_get ( lbm_ssrc_t *const  ssrc,
char **const  usr_bufp,
const int  flags 
)

Get a pre-allocated user buffer associated with a UM Smart Source.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Note
This buffer is not used with the Zero-Copy Send API feature.
Parameters
ssrcPointer to the UM Smart Source to send from.
usr_bufpPointer to a pointer to the pre-allocated user buffer that will contain the data to send in a message.
flagsMust be set to 0 by caller. Reserved for future use.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_ssrc_buff_put ( lbm_ssrc_t *const  ssrc,
const char *  usr_bufp 
)

Return a pre-allocated user buffer associated with a UM Smart Source to the free list.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Parameters
ssrcPointer to the UM Smart Source object.
usr_bufpPointer to the pre-allocated user buffer being returned.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_ssrc_create ( lbm_ssrc_t **  ssrcp,
lbm_context_t ctx,
lbm_topic_t topic,
lbm_ssrc_cb_proc  proc,
void *  clientd,
lbm_event_queue_t evq 
)

Create a UM Smart Source that will send messages to the given topic.

In addition to creating the Smart Source object, this function also creates message buffers associated with the source and transport session.

See Smart Sources for more information. See also Smart Source Options for configuration information.

Warning
It is not safe to call this function from a context thread callback.
Parameters
ssrcpA pointer to a pointer to a UM Smart Source object. Will be filled in by this function to point to the newly created lbm_ssrc_t object.
ctxPointer to the UM context object associated with the sender.
topicPointer to the UM topic object associated with the destination of messages sent by the source.
procPointer to a function to call when events occur related to the Smart Source. If NULL, then events are not delivered to the source.
clientdPointer to client data that is passed when proc is called.
evqEvent Queue is not supported at this time. See Event Queue Object.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_ssrc_delete ( lbm_ssrc_t ssrc)

Delete a UM Smart Source object.

Delete a UM Smart 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.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Publishing applications should typically delay deleting the source object for a few seconds after the final messages are sent to it. This is to allow remote receivers an opportunity to request retransmissions if needed.

Warning
It is not safe to call this function from a context thread callback.
Parameters
ssrcPointer to a UM Smart Source object to delete.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_ssrc_get_available_data_space ( lbm_ssrc_t ssrc,
int *  length 
)

Retrieve the length of available data space after lbm_ssrc_create().

The length (in bytes) is a function of configuration option settings specified when lbm_ssrc_create() was invoked. Messages greater than this length will result in fragmentation.

See Smart Sources for more information. See also Smart Source Options for configuration information.

Parameters
ssrcPointer to a UM Smart Source object.
lengthPointer to an integer into which is stored the length.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_ssrc_get_inflight ( lbm_ssrc_t ssrc,
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 a given smart source.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Note
An optional callback proc can be used to override the Store's stability ACKs and force the inflight message count to a specific value. Informatica recommends against doing this. If you think you need to override the inflight message count, contact support.
Parameters
ssrcPointer to the smart source.
typeType of flight size.
inflightPointer to an int whose value will be filled in to reflect the current inflight.
procOptional callback to override stability ACKs and set the current inflight information.
clientdOptional client data passed into the proc.
Returns
0 for Success, -1 for failure if the proc returns a negative value.
LBMExpDLL int lbm_ssrc_get_inflight_ex ( lbm_ssrc_t ssrc,
int  type,
lbm_flight_size_inflight_t inflight,
lbm_flight_size_set_inflight_ex_cb_proc  proc,
void *  clientd 
)

Retrieves the current inflight message and byte counts of a given type from a given smart source.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Note
An optional callback proc can be used to override stability ACKs and force the inflight message and byte counts to specific values. Informatica recommends against doing this. If you think you need to override the inflight message and byte counts, contact support.
Parameters
ssrcPointer to the smart source.
typeType of flight size.
inflightPointer to a structure to be filled in with the current inflight values.
procOptional callback to override stability ACKs and set the current inflight information.
clientdOptional client data passed into the proc.
Returns
0 for Success, -1 for failure if the proc returns a negative value.
LBMExpDLL int lbm_ssrc_reset_transport_stats ( lbm_ssrc_t ssrc)

Reset the transport statistics for the transport used by the given smart source.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Parameters
ssrcPointer to the UM smart source to reset statistics for.
Returns
-1 for Failure and 0 for Success.
LBMExpDLL int lbm_ssrc_retrieve_transport_stats ( lbm_ssrc_t ssrc,
lbm_src_transport_stats_t stats 
)

Retrieve the transport statistics for the transport used by the given smart source.

Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Parameters
ssrcPointer to the UM smart source to retrieve statistics for.
statsPointer to a stats structure to fill in.
Returns
-1 for Failure and 0 for Success.
LBMExpDLL int lbm_ssrc_send_ex ( lbm_ssrc_t ssrc,
const char *  usr_bufp,
size_t  len,
int  flags,
lbm_ssrc_send_ex_info_t info 
)

Extended send of a message using a pre-allocated buffer to the topic associated with a UM Smart Source.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Warning
This function is not thread-safe. It is the callers responsibility to ensure that sending to any Smart Sources mapped to a given transport session are treated like a critical section. If two threads send on the same Smart Source transport session concurrently, the results are not predictable.
Parameters
ssrcPointer to the UM Smart Source to send from
usr_bufpPointer to the user buffer containing the data to send in this message. This buffer must be gotten from lbm_ssrc_buff_get().
lenLength (in bytes) of the data to send in this message
flagsFlags indicating various conditions. ORed set of values. NOT USED AT THIS TIME. Pass in zero (0).
infoPointer to lbm_ssrc_send_ex_info_t options. NULL if unused.
Returns
-1 for Failure or 0 for Success.
LBMExpDLL int lbm_ssrc_send_request_ex ( lbm_request_t **  reqp,
lbm_ssrc_t ssrc,
const char *  usr_bufp,
size_t  len,
lbm_request_cb_proc  proc,
void *  clientd,
lbm_event_queue_t evq,
int  send_flags,
lbm_ssrc_send_ex_info_t exinfo 
)

Send a request on the given Smart Source that contains the given data.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Warning
This function is not thread-safe. It is the callers responsibility to ensure that sending to any Smart Sources mapped to a given transport session are treated like a critical section. If two threads send on the same Smart Source transport session concurrently, the results are not predictable.
Attention
At present, this Smart Source API does not support UM fragmentation, message properties, or spectrum channels.

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 requester does not expect any additional responses, it deletes the request object using lbm_request_delete().

See Request/Response for general information on the Request/Response feature.

See also
lbm_send_request_ex, lbm_send_request
Parameters
reqpA pointer to a pointer for the lbm_request_t object created to be stored.
ssrcPointer to the UM Smart Source to send from.
usr_bufpusr_bufp Pointer to the user buffer containing the data to send in this message. This buffer must be gotten from lbm_ssrc_buff_get().
lenLength (in bytes) of the data included with the request.
procPointer to function to call when responses come in for this request.
clientdClient data returned in the callback proc proc.
evqEvent Queue is not supported at this time. Pass in NULL. See Event Queue Object.
send_flagsFlags used to instruct UM how to handle this message. NOT USED AT THIS TIME. Pass in zero (0)
exinfoPointer to lbm_ssrc_send_ex_info_t options. NULL if unused.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_ssrc_topic_dump ( lbm_ssrc_t ssrc,
int *  size,
lbm_config_option_t opts 
)

Retrieves all smart source topic configuration options.

The config object is filled with source topic configuration options.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

Parameters
ssrcThe smart source object to retrieve the configuration from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
LBMExpDLL int lbm_ssrc_ume_deregister ( lbm_ssrc_t ssrc)

Deregister a smart source from the UMP Stores.

See Smart Sources for more information on Smart Sources. See also Smart Source Options for configuration information.

This function causes a UMP deregistration to be sent to all Stores the smart source is currently registered to, and disallows any future registrations from taking place.

Parameters
ssrcPointer to a UM smart source object
Returns
0 for Success and -1 for Failure.
LBMExpDLL lbm_topic_t* lbm_topic_from_src ( lbm_src_t src)

Retrieve the UM topic object associated with a UM source object.

Parameters
srcPointer 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 
)

Format a UM transport source string from its components. See Source String.

See also
lbm_transport_source_parse()
Parameters
infoPointer to a transport source info structure containing the transport source components.
infosizeSize (in bytes) of info.
sourcePointer to a buffer to receive the formatted transport source string.
sizeSize 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 
)

Parse a UM transport source string into its components. See Source String.

See also
lbm_transport_source_format()
Parameters
sourceSource string.
infoPointer to a transport source info structure into which the components are parsed.
infosizeSize (in bytes) of info.
Returns
0 for success, -1 for failure.
LBMExpDLL int lbm_ume_ack_delete ( lbm_ume_rcv_ack_t ack)

Deletes an ACK structure that was allocated via lbm_msg_extract_ume_ack().

See Explicit Acknowledgments for more information.

See also
lbm_msg_extract_ume_ack.
Parameters
ackPointer to the ack structure to be deleted.
Returns
0 for Success, -1 for failure.
LBMExpDLL int lbm_ume_ack_mark_not_outstanding ( lbm_ume_rcv_ack_t ack,
lbm_uint_t  sqn 
)

Updates the internal acking state up to the sequence number provided for throttled recovery (max outstanding requests) without acking anything.

See also
lbm_msg_extract_ume_ack.
Parameters
ackPointer to the previously extracted ack structure of a message on the same stream that is currently being explicitly ACKed.
sqnThe sequence number up to which to mark is no longer to be considered "outstanding" to trigger additional requests.
Returns
0 for Success and -1 for Failure.
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 by the supplied ACK structure. This ACK structure is obtained via lbm_msg_extract_ume_ack(), and is deleted via lbm_ume_ack_delete().

See Explicit Acknowledgments for more information.

Parameters
ackPointer to the previously extracted ack structure of a message on the same stream that is currently being explicitly ACKed.
sqnThe 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 
)

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.

Parameters
srcPointer to the source.
sqnSqn 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 
)

DEPRECATED. 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.

Parameters
ctxPointer to the context.
qnameName of the queue.
msg_idMsg_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
Deprecated:
Do not use.
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).

Parameters
selectorPointer to a pointer to an lbm_umq_msg_selector_t structure to be filled in
strPointer to the character string of the message selector.
lenLength of the above character 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)

Delete the lbm_umq_msg_selector_t object previously created with lbm_umq_msg_selector_create.

Parameters
selectorPointer 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 
)

Send a unicast immediate message to the target and optional topic.

The target is a string of one of the following forms:

  • "TCP:domain:ip:port" - where domain is the ID of the destination topic resolution domain, ip is the IP address of the destination host, and port is the request port for the context of the destination application.
  • "TCP:ip:port" - where ip is the IP address of the destination host and port is the request port for the context of the destination application. This usage assumes the destination is in the same topic resolution domain as the sender.
  • "SOURCE:source-string" - where source-string is the string associated with a source's transport session. See Source String. This allows a subscriber to send a unicast immediate message directly to a publishing application. See Sending to Sources for details.

Note that this method of sending messages is relatively inefficient, compared to using sources. Also, this method is not as functional as sources and has more limitations. For example, unlike sources, unicast immediate messages have a limit on the message size of 65264.

See Immediate Messaging for general information on immediate messaging. See Request/Response for general information on the Request/Response feature.

Warning
The maximum allowed message size does not fully take into account the maximum possible header size, which includes the topic string. I.e. UM will not successfully deliver a very large message with a very large topic string. Note that the size of the header can vary by the version of UM. Informatica recommends ensuring that the message length plus the topic string length be less than 65,000.
Attention
Immediate messages are processed less efficiently than source-based messages. For high-throughput or ultra-low-latency applications, immediate messages should be used sparingly.
Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Note
A return value of 0 represents a successful return, but not necessarily a successful send on the network. See UIM Reliability.
Parameters
ctxPointer to UM context to send from.
targetDestination address string.
topicTopic name to send message to, or NULL for non-topic. Topic names should be limited to 246 characters (not including the final null).
dataPointer to the data to send in this message
lenLength (in bytes) of the data to send in this message. Unicast immediate messages must be 65264 bytes or less in length.
flagsFlags 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 
)

Unicast an immediate request message to the target and topic.

The target is a string of one of the following forms:

  • "TCP:domain:ip:port" - where domain is the ID of the destination topic resolution domain, ip is the IP address of the destination host, and port is the request port for the context of the destination application.
  • "TCP:ip:port" - where ip is the IP address of the destination host and port is the request port for the context of the destination application. This usage assumes the destination is in the same topic resolution domain as the sender.
  • "SOURCE:source-string" - where source-string is the string associated with a source's transport session. See Source String. This allows a subscriber to send a unicast immediate message directly to a publishing application. See Sending to Sources for details.

Note that this method of sending messages is relatively inefficient, compared to using sources. Also, this method is not as functional as sources and has more limitations. For example, unlike sources, unicast immediate messages have a limit on the message size of 65264.

See Immediate Messaging for general information on immediate messaging. See Request/Response for general information on the Request/Response feature.

Warning
The maximum allowed message size does not fully take into account the maximum possible header size, which includes the topic string. I.e. UM will not successfully deliver a very large message with a very large topic string. Note that the size of the header can vary by the version of UM. Informatica recommends ensuring that the message length plus the topic string length be less than 65,000.
Attention
Immediate messages are processed less efficiently than source-based messages. For high-throughput or ultra-low-latency applications, immediate messages should be used sparingly.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Note
A return value of 0 represents a successful return, but not necessarily a successful send on the network. See UIM Reliability.
Parameters
reqpA pointer to a pointer for the lbm_request_t object created to be stored.
ctxPointer to UM context to send from.
targetDestination address string.
topicTopic name to send message to, or NULL for non-topic. Topic names should be limited to 246 characters (not including the final null).
dataBuffer to be included as data in the request.
lenLength (in bytes) of the data to send in this message. Unicast immediate messages must be 65264 bytes or less in length.
procPointer to function to call when responses come in for this request.
clientdClient data returned in the callback proc proc.
evqoptional Event Queue to place message events on when they occur. If NULL causes proc to be called from context thread. See Event Queue Object.
flagsFlags 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  )

return the version string compiled into UM.

Returns
String containing version information for UM.
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. Note: Informatica recommends the use of XML Configuration Files, for which lbm_wildcard_rcv_attr_create_from_xml() should be used.

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
attrA 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)

Create and fill a UM wildcard receiver attribute object with the initial default values.

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
attrA 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 
)

Create and fill a UM wildcard receiver attribute object with the current default values for the given topic name.

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.

Note that this API should be used even if no XML file is being used.

Parameters
attrA 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_nameThe context name used to lookup this context in the XML configuration. Names must consist of ASCII alpha-numeric characters or dash (-) or underscore (_), with a maximum length of 127 characters. A NULL value is permitted, and will match the unnamed context defined in the XML.
patternThe pattern used to lookup the wildcard receiver in the XML configuration. A NULL value is not permitted and will result in an error.
pattern_typeThe 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)

Delete a wildcard receiver attribute object.

The attribute object is cleaned up and deleted.

Parameters
attrPointer 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 
)

Retrieves all wildcard receiver attribute options.

The config object is filled with wildcard receiver configuration options

Parameters
wattrThe wildcard receiver attribute object to retrieve the attributes from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
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.

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

Parameters
attrA 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.
originalPointer 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 
)

Retrieve an option value within the given wildcard receiver attribute.

Parameters
attrPointer to a UM wildcard receiver attribute object where the option is stored
optnameString containing the option name
optvalPointer to the option value structure. The structure of the option values are specific to the options themselves.
optlenWhen 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 ( void  )

Retrieves the number of options that are of type "wildcard receiver".

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 
)

Fill a UM wildcard receiver attribute object with the current default values for the given topic name.

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
attrA pointer to a UM wildcard receiver attribute structure.
context_nameThe context name used to lookup this context in the XML configuration. Names must consist of ASCII alpha-numeric characters or dash (-) or underscore (_), with a maximum length of 127 characters. A NULL value is permitted, and will match the unnamed context defined in the XML.
patternThe pattern used to lookup the wildcard receiver in the XML configuration. A NULL value is not permitted and will result in an error.
pattern_typeThe 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 
)

Set the value (in binary format) of a configuration option in the supplied wildcard receiver attribute object.

Used before the wildcard receiver is created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM wildcard receiver attribute object where the option is to be set
optnameString containing the option name
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve a textual option value within the given wildcard receiver attribute.

Parameters
attrPointer to a UM wildcard receiver attribute object where the option is stored
optnameString containing the option name
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenWhen 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 
)

Set the value (in string format) of a configuration option in the supplied wildcard receiver attribute object.

Used before the wildcard receiver is created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

Parameters
attrPointer to a UM wildcard receiver attribute object where the option is to be set
optnameString containing the option name
optvalPointer to the option string value. The format of the string is specific to the option being set.
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 
)

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).

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
wrcvpA 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.
ctxPointer to the LBM context object associated with the wildcard receiver.
patternPattern to match the topic strings on for this wildcard. This is by default a regular expression. But more options may be supported.
tattrPointer to a UM receive topic attribute structure used for specifying attributes for topics created for this wildcard receiver.
wattrPointer to a UM wildcard receiver attribute structure specifying the options for this wildcard receiver.
procPointer to a function to call when messages arrive.
clientdPointer to client data that is passed when data arrives and proc is called.
evqOptional Event Queue to place message events on when they arrive. If NULL causes proc to be called from context thread. See Event Queue Object.
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.

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
wrcvPointer 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 
)

Extended delete a UM wildcard receiver object.

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 (event_queue) be set to 1.

Warning
It is not safe to call this function from a context thread callback.
Parameters
wrcvPointer to a UM wildcard receiver object to delete.
cbinfoCancellation 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 
)

Retrieves all wildcard receiver attribute options.

The config object is filled with wildcard receiver configuration options

Parameters
wrcvThe wildcard receiver object to retrieve the attributes from
sizeSize of the opts array. Will return the number of items that were set in opts
optsThe options array to fill
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.

Parameters
wrcvPointer to a UM wildcard receiver object where the option is stored.
optnameString containing the option name.
optvalPointer to the option value structure. The structure of the option values are specific to the options themselves.
optlenWhen 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 
)

Set the value (in binary format) of a configuration option in the supplied wildcard receiver.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_wildcard_rcv_attr_*() (i.e. lbm_wildcard_rcv_attr_dump(), lbm_wildcard_rcv_attr_option_size(), lbm_wildcard_rcv_attr_create(), lbm_wildcard_rcv_attr_create_default(), lbm_wildcard_rcv_attr_create_from_xml(), lbm_wildcard_rcv_attr_set_from_xml(), lbm_wildcard_rcv_attr_delete(), lbm_wildcard_rcv_attr_dup(), lbm_wildcard_rcv_attr_setopt(), lbm_wildcard_rcv_attr_str_setopt(), lbm_wildcard_rcv_attr_getopt(), lbm_wildcard_rcv_attr_str_getopt()).

Parameters
wrcvPointer to a UM wildcard receiver object where the option is to be set.
optnameString containing the option name.
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (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 
)

Retrieve the textual option value within the given wrcv.

Parameters
wrcvPointer to a UM wildcard receiver object where the option is stored.
optnameString containing the option name.
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenWhen 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 
)

Set the value (in string format) of a configuration option in the supplied wildcard receiver.

Only those options that can be set during operation may be specified. For API functions that can access any option, see: lbm_wildcard_rcv_attr_*() (i.e. lbm_wildcard_rcv_attr_dump(), lbm_wildcard_rcv_attr_option_size(), lbm_wildcard_rcv_attr_create(), lbm_wildcard_rcv_attr_create_default(), lbm_wildcard_rcv_attr_create_from_xml(), lbm_wildcard_rcv_attr_set_from_xml(), lbm_wildcard_rcv_attr_delete(), lbm_wildcard_rcv_attr_dup(), lbm_wildcard_rcv_attr_setopt(), lbm_wildcard_rcv_attr_str_setopt(), lbm_wildcard_rcv_attr_getopt(), lbm_wildcard_rcv_attr_str_getopt()).

Parameters
wrcvPointer to a UM wildcard receiver object where the option is to be set.
optnameString containing the option name.
optvalPointer to the option string value. The format of the string is specific to the option being set.
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 
)

Subscribe to a channel, with an optional callback and clientd data pointer.

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
wrcvA pointer to a UM wildcard receiver object.
channelA channel number to subscribe to.
procPointer to a function to call when messages arrive.
clientdPointer 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 
)

De-Register the given wildcard receiver from the given UMQ queue or all UMQ queues.

Parameters
wrcvPointer to wildcard receiver object to de-register.
queue_nameName 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 
)

Instruct the given UMQ queue(s) to release the given UMQ index that is assigned to the given wildcard receiver.

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

Parameters
wrcvPointer to wildcard receiver object that wishes to release the index.
queue_nameName of the queue to reassign the index. A NULL means reassign the index for all UMQ queues.
index_infoPointer to index information to be released.
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 
)

Start assignment of new UMQ indices to the given wildcard receiver from the given UMQ queue or all UMQ queues.

Parameters
wrcvPointer to wildcard receiver object to start assignment for.
queue_nameName 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 
)

Stop assignment of new UMQ indices to the given wildcard receiver from the given UMQ queue or all UMQ queues.

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
wrcvPointer to wildcard receiver object to stop assignment for.
queue_nameName 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 
)

Discontinue an existing channel subscription.

Remove a subscription to a channel previously subscribed to with lbm_wildcard_rcv_subscribe_channel().

Parameters
wrcvA pointer to a UM wildcard receiver object.
channelThe 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 
)

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 (event_queue) be set to 1.

Parameters
wrcvA pointer to a UM wildcard receiver object.
channelThe channel number for the channel subscription to be removed.
cbinfoCancellation 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  )

Instructs UM that a new thread will be calling UM functions.

For UM internal use only. 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  )

Instructs UM that a new thread is done calling UM functions.

For UM internal use only. 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)

Deregister a wildcard receiver from all known UMP Stores.

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
wrcvPointer to a UM wildcard receiver object
Returns
0 for Success and -1 for Failure
LBMExpDLL int lbm_xsp_attr_create ( lbm_xsp_attr_t **  attr)

Create and fill a UM XSP attribute object with the current default values. Note: Informatica recommends the use of XML Configuration Files, for which lbm_xsp_attr_create_from_xml() should be used.

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

For more information on XSP, see Transport Services Provider (XSP).

Parameters
attrA pointer to a pointer to a UM XSP attributes structure. Will be filled in by this function to point to the newly created lbm_xsp_attr_t object.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_xsp_attr_delete ( lbm_xsp_attr_t attr)

Delete a UM XSP attribute object.

The attribute object is cleaned up and deleted.

For more information on XSP, see Transport Services Provider (XSP).

Parameters
attrPointer to a UM XSP attribute object as returned by lbm_xsp_attr_create.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_xsp_attr_getopt ( lbm_xsp_attr_t attr,
const char *  optname,
void *  optval,
size_t *  optlen 
)

Retrieve the value of a configuration option for the given UM XSP attribute.

For more information on XSP, see Transport Services Provider (XSP).

Parameters
attrPointer to a UM XSP attributes object.
optnameString containing the option name.
optvalPointer to the option value structure to be filled. The structure of the option values are specific to the options themselves.
optlenLength (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_xsp_attr_option_size ( void  )

Retrieves the number of configuration options that are of type "xsp".

For more information on XSP, see Transport Services Provider (XSP).

Returns
The number of entries that are of type "xsp"
LBMExpDLL int lbm_xsp_attr_setopt ( lbm_xsp_attr_t attr,
const char *  optname,
const void *  optval,
size_t  optlen 
)

Set the value (in binary format) of a configuration option in the supplied XSP attribute object.

Used before the XSP is created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

For more information on XSP, see Transport Services Provider (XSP).

Parameters
attrPointer to a UM XSP attribute object.
optnameString containing the option name.
optvalPointer to the option binary value. The format of the value is specific to the option being set.
optlenLength (in bytes) of the optval structure.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_xsp_attr_str_getopt ( lbm_xsp_attr_t attr,
const char *  optname,
char *  optval,
size_t *  optlen 
)

Retrieve the textual value of a configuration option for the given UM XSP attribute.

For more information on XSP, see Transport Services Provider (XSP).

Parameters
attrPointer to a UM XSP attributes object.
optnameString containing the option name.
optvalPointer to the string buffer to be filled in. The buffer must be at least 80 bytes in length.
optlenMaximum 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_xsp_attr_str_setopt ( lbm_xsp_attr_t attr,
const char *  optname,
const char *  optval 
)

Set the value (in string format) of a configuration option in the supplied XSP attribute object.

Used before the XSP is created.

The attribute object must first be created with the corresponding _attr_create_from_xml() or _attr_create() function.

For more information on XSP, see Transport Services Provider (XSP).

Parameters
attrPointer to a UM XSP attribute object.
optnameString containing the option name.
optvalPointer to the option string value. The format of the string is specific to the option being set.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_xsp_cancel_fd ( lbm_xsp_t xsp,
lbm_handle_t  handle,
lbm_ulong_t  ev 
)

Cancel a previously registered file descriptor/socket event on the given XSP.

Cancel a previously registered file descriptor/socket event on the given XSP. Note that there are rare circumstances where this function can return while the fd callback may still being executing.

Warning
It is not recommended to call this function from an XSP thread callback.
See also
lbm_xsp_register_fd
Parameters
xspPointer to the XSP object.
handlefile descriptor/socket of interest for event.
evOne or more of: LBM_FD_EVENT_* (i.e. LBM_FD_EVENT_READ, LBM_FD_EVENT_WRITE, LBM_FD_EVENT_EXCEPT, LBM_FD_EVENT_ACCEPT, LBM_FD_EVENT_CLOSE, LBM_FD_EVENT_CONNECT, LBM_FD_EVENT_ALL) (ORed to together). Mask of events to cancel.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_xsp_create ( lbm_xsp_t **  xspp,
lbm_context_t ctx,
lbm_context_attr_t cattr,
lbm_xsp_attr_t attr 
)

Create a UM XSP object.

It is not safe to call lbm_xsp_create() from an XSP thread application callback. In particular, do not create XSPs from a receiver callback.

It is permitted to call lbm_xsp_create() from inside the lbm_transport_mapping_cb_proc callback.

For more information on XSP, see Transport Services Provider (XSP).

Parameters
xsppA pointer to a pointer to an XSP object. Will be filled in by this function to point to the newly created lbm_xsp_t object.
ctxA pointer to the LBM context object that will own this XSP.
cattrA pointer to a UM context attributes object.
attrA pointer to an XSP attributes object.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_xsp_delete ( lbm_xsp_t xsp)

Delete a UM XSP object.

Note
It is legal to call lbm_xsp_delete() from inside the lbm_xsp_zero_transports_cb_proc.
Warning
It is not safe to call this function from a context thread or XSP thread callback.

For more information on XSP, see Transport Services Provider (XSP).

Parameters
xspA pointer to an XSP object to delete.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_xsp_process_events ( lbm_xsp_t xsp,
lbm_ulong_t  msec 
)

Process internal events in the given XSP object.

See Transport Services Provider (XSP) for general information on XSP.

The application must call this API when operational_mode (xsp) is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"). This function will process timers and file descriptor/socket events for internal processing. The application thread that is processing events must remain active until the XSP is deleted.

Warning
It is not safe to call this function from a context thread callback.
Note
It is the responsibility of the application to "unblock" this function using lbm_xsp_unblock() and cease further calls before deleting the XSP.
Warning
If using Sequential Mode and fd_management_type "wincompport", the thread that creates the context must not exit while the context is active. Furthermore, you gain a small performance improvement if the thread that creates the context is the same thread that calls lbm_xsp_process_events().
Parameters
xspA pointer to the XSP object.
msecContinue event processing loop for at least msec milliseconds before returning. If 0 is passed, no sleep will be done; if there is no events to process, it will return immediately.
Returns
0 for Success and -1 for Failure. For -1, which is returned for critical errors, check the resultant lbm_errnum and error message.
LBMExpDLL int lbm_xsp_register_fd ( lbm_xsp_t xsp,
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 on the given XSP for events that calls proc when a given event occurs.

This registers a file descriptor/socket event on the given XSP 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 fd_management_type (context).

Warning
It is not recommended to call this function from a XSP thread callback.
See also
lbm_xsp_cancel_fd
Parameters
xspPointer to the XSP object
handlefile descriptor/socket of interest for event.
procPointer to the function to call when the event occurs
clientdPointer to client data that is passed when the event occurs.
evqOptional Event Queue to place events on when they occur. If NULL causes proc to be called from XSP thread. See Event Queue Object.
evOne or more of: LBM_FD_EVENT_* (i.e. LBM_FD_EVENT_READ, LBM_FD_EVENT_WRITE, LBM_FD_EVENT_EXCEPT, LBM_FD_EVENT_ACCEPT, LBM_FD_EVENT_CLOSE, LBM_FD_EVENT_CONNECT, LBM_FD_EVENT_ALL) (ORed to together). Mask of events of interest.
Returns
0 for Success and -1 for Failure.
LBMExpDLL int lbm_xsp_unblock ( lbm_xsp_t xsp)

Unblock a sequential mode XSP.

The application must call this API when operational_mode (xsp) is set to LBM_CTX_ATTR_OP_SEQUENTIAL (or "sequential"). This function allows an application to cause lbm_xsp_process_events() to immediately return instead of continuing to process events.

Parameters
xspA pointer to the XSP object.