qbipcc.h   qbipcc.h 
skipping to change at line 24 skipping to change at line 24
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public License * You should have received a copy of the GNU Lesser General Public License
* along with libqb. If not, see <http://www.gnu.org/licenses/>. * along with libqb. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef QB_IPCC_H_DEFINED #ifndef QB_IPCC_H_DEFINED
#define QB_IPCC_H_DEFINED #define QB_IPCC_H_DEFINED
#include <pthread.h>
#include <sys/poll.h>
#include <sys/socket.h>
#include <qb/qbhdb.h>
#include <qb/qbipc_common.h>
/* *INDENT-OFF* */ /* *INDENT-OFF* */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* *INDENT-ON* */ /* *INDENT-ON* */
#include <qb/qbconfig.h>
#include <pthread.h>
#include <sys/poll.h>
#include <sys/socket.h>
#include <qb/qbhdb.h>
#include <qb/qbipc_common.h>
/** /**
* @file qbipcc.h * @file qbipcc.h
* *
* Client IPC API. * Client IPC API.
* *
* @par Lifecycle of an IPC connection. * @par Lifecycle of an IPC connection.
* An IPC connection is made to the server with qb_ipcc_connect(). This fun ction * An IPC connection is made to the server with qb_ipcc_connect(). This fun ction
* connects to the server and requests channels be created for communicatio n. * connects to the server and requests channels be created for communicatio n.
* To disconnect, the client either exits or executes the function qb_ipcc_ disconnect(). * To disconnect, the client either exits or executes the function qb_ipcc_ disconnect().
* *
skipping to change at line 58 skipping to change at line 60
* *
* @par Asynchronous requests from the client * @par Asynchronous requests from the client
* The function qb_ipcc_sendv() sends an iovector request. * The function qb_ipcc_sendv() sends an iovector request.
* The function qb_ipcc_send() sends an message buffer request. * The function qb_ipcc_send() sends an message buffer request.
* *
* @par Asynchronous events from the server * @par Asynchronous events from the server
* The qb_ipcc_event_recv() function receives an out-of-band asyncronous me ssage. * The qb_ipcc_event_recv() function receives an out-of-band asyncronous me ssage.
* The asynchronous messages are queued and can provide very high out-of-ba nd performance. * The asynchronous messages are queued and can provide very high out-of-ba nd performance.
* To determine when to call qb_ipcc_event_recv() the qb_ipcc_fd_get() call is * To determine when to call qb_ipcc_event_recv() the qb_ipcc_fd_get() call is
* used to obtain a file descriptor used in the poll() or select() system c alls. * used to obtain a file descriptor used in the poll() or select() system c alls.
*
* @example ipcclient.c
* This is an example of how to use the client.
*/ */
typedef struct qb_ipcc_connection qb_ipcc_connection_t; typedef struct qb_ipcc_connection qb_ipcc_connection_t;
/** /**
* Create a connection to an IPC service. * Create a connection to an IPC service.
* *
* @param name name of the service. * @param name name of the service.
* @param max_msg_size biggest msg size. * @param max_msg_size biggest msg size.
* @return NULL (error: see errno) or a connection object. * @return NULL (error: see errno) or a connection object.
skipping to change at line 88 skipping to change at line 93
/** /**
* Get the file descriptor to poll. * Get the file descriptor to poll.
* *
* @param c connection instance * @param c connection instance
* @param fd (out) file descriptor to poll * @param fd (out) file descriptor to poll
*/ */
int32_t qb_ipcc_fd_get(qb_ipcc_connection_t* c, int32_t * fd); int32_t qb_ipcc_fd_get(qb_ipcc_connection_t* c, int32_t * fd);
/** /**
* Set the maximum allowable flowcontrol value.
*
* @note the default is 1
*
* @param c connection instance
* @param max the max allowable flowcontrol value (1 or 2)
*/
int32_t qb_ipcc_fc_enable_max_set(qb_ipcc_connection_t * c, uint32_t max);
/**
* Send a message. * Send a message.
* *
* @param c connection instance * @param c connection instance
* @param msg_ptr pointer to a message to send * @param msg_ptr pointer to a message to send
* @param msg_len the size of the message * @param msg_len the size of the message
* @return (size sent, -errno == error) * @return (size sent, -errno == error)
*/ */
ssize_t qb_ipcc_send(qb_ipcc_connection_t* c, const void *msg_ptr, ssize_t qb_ipcc_send(qb_ipcc_connection_t* c, const void *msg_ptr,
size_t msg_len); size_t msg_len);
/** /**
 End of changes. 4 change blocks. 
6 lines changed or deleted 21 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/