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/ |