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