/** \file lbmmontrlbm.h \brief Ultra Messaging (UM) Monitoring API \author David K. Ameiss - Informatica Corporation \version $Id: //UMprod/REL_5_3_6/29West/lbm/src/mon/lbm/lbmmontrlbm.h#2 $ The Ultra Messaging (UM) Monitoring API Description. Included are types, constants, and functions related to the API. Contents are subject to change. All of the documentation and software included in this and any other Informatica Corporation Ultra Messaging Releases Copyright (C) Informatica Corporation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted only as covered by the terms of a valid software license agreement with Informatica Corporation. Copyright (C) 2006-2014, Informatica Corporation. All Rights Reserved. THE SOFTWARE IS PROVIDED "AS IS" AND INFORMATICA DISCLAIMS ALL WARRANTIES EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. INFORMATICA DOES NOT WARRANT THAT USE OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE. INFORMATICA SHALL NOT, UNDER ANY CIRCUMSTANCES, BE LIABLE TO LICENSEE FOR LOST PROFITS, CONSEQUENTIAL, INCIDENTAL, SPECIAL OR INDIRECT DAMAGES ARISING OUT OF OR RELATED TO THIS AGREEMENT OR THE TRANSACTIONS CONTEMPLATED HEREUNDER, EVEN IF INFORMATICA HAS BEEN APPRISED OF THE LIKELIHOOD OF SUCH DAMAGES. */ #ifndef LBMMONTRLBM_H #define LBMMONTRLBM_H #include <stdlib.h> #ifdef _WIN32 #include <winsock2.h> #endif #include <lbm/lbmmon.h> #if defined(__cplusplus) extern "C" { #endif /* __cplusplus */ /*! \brief Return a pointer to the LBMMON_TRANSPORT_LBM module structure. \return Pointer to LBMMON_TRANSPORT_LBM. */ LBMExpDLL const lbmmon_transport_func_t * lbmmon_transport_lbm_module(void); /*! \brief Initialize the LBM transport module to send statistics. \param TransportClientData A pointer which may be filled in (by this function) with a pointer to transport-specific client data. \param TransportOptions The TransportOptions argument originally passed to lbmmon_sctl_create(). \return Zero if successful, -1 otherwise. */ LBMExpDLL int lbmmon_transport_lbm_initsrc(void * * TransportClientData, const void * TransportOptions); /*! \brief Initialize the LBM transport module to receive statistics. \param TransportClientData A pointer which may be filled in (by this function) with a pointer to transport-specific client data. \param TransportOptions The TransportOptions argument originally passed to lbmmon_sctl_create(). \return Zero if successful, -1 otherwise. */ LBMExpDLL int lbmmon_transport_lbm_initrcv(void * * TransportClientData, const void * TransportOptions); /*! \brief Send a statistics packet. \param Data The data to be sent. \param Length The length of the data. \param TransportClientData A pointer to transport-specific client data. \return Zero if successful, -1 otherwise. */ LBMExpDLL int lbmmon_transport_lbm_send(const char * Data, size_t Length, void * TransportClientData); /*! \brief Receive statistics packet data. \param Data A pointer to a buffer to receive the packet data. \param Length A pointer to a size_t. On entry, it contains the maximum number of bytes to receive. On exit, it contains the actual number of bytes received. \param TimeoutMS Maximum timeout in milliseconds. If no data is available within the timeout value, return. \param TransportClientData A pointer to transport-specific client data. \return Zero if successful, -1 otherwise. */ LBMExpDLL int lbmmon_transport_lbm_receive(char * Data, size_t * Length, unsigned int TimeoutMS, void * TransportClientData); /*! \brief Finish LBM transport module source processing. \param TransportClientData A pointer to transport-specific client data. \return Zero if successful, -1 otherwise. */ LBMExpDLL int lbmmon_transport_lbm_src_finish(void * TransportClientData); /*! \brief Finish LBM transport module receiver processing. \param TransportClientData A pointer to transport-specific client data. \return Zero if successful, -1 otherwise. */ LBMExpDLL int lbmmon_transport_lbm_rcv_finish(void * TransportClientData); /*! \brief Return a messages describing the last error encountered. \return A string containing a description of the last error encountered by the module. */ LBMExpDLL const char * lbmmon_transport_lbm_errmsg(void); #if defined(__cplusplus) } #endif /* __cplusplus */ #endif