ipc_int.h | ipc_int.h | |||
---|---|---|---|---|
skipping to change at line 28 | skipping to change at line 28 | |||
* | * | |||
* 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_IPC_INT_H_DEFINED | #ifndef QB_IPC_INT_H_DEFINED | |||
#define QB_IPC_INT_H_DEFINED | #define QB_IPC_INT_H_DEFINED | |||
#include "os_base.h" | #include "os_base.h" | |||
#include <dirent.h> | #include <dirent.h> | |||
#ifdef HAVE_MQUEUE_H | ||||
#include <mqueue.h> | #include <mqueue.h> | |||
#endif /* HAVE_MQUEUE_H */ | ||||
#include <qb/qblist.h> | #include <qb/qblist.h> | |||
#include <qb/qbloop.h> | #include <qb/qbloop.h> | |||
#include <qb/qbipcc.h> | #include <qb/qbipcc.h> | |||
#include <qb/qbipcs.h> | #include <qb/qbipcs.h> | |||
#include <qb/qbipc_common.h> | #include <qb/qbipc_common.h> | |||
#include <qb/qbrb.h> | #include <qb/qbrb.h> | |||
#ifdef HAVE_POSIX_SHARED_SEMAPHORE | #ifdef HAVE_POSIX_SHARED_SEMAPHORE | |||
#include <semaphore.h> | #include <semaphore.h> | |||
#endif /* HAVE_POSIX_SHARED_SEMAPHORE */ | #endif /* HAVE_POSIX_SHARED_SEMAPHORE */ | |||
skipping to change at line 78 | skipping to change at line 80 | |||
struct qb_ipcc_connection; | struct qb_ipcc_connection; | |||
struct qb_ipc_one_way { | struct qb_ipc_one_way { | |||
size_t max_msg_size; | size_t max_msg_size; | |||
union { | union { | |||
struct { | struct { | |||
int32_t sock; | int32_t sock; | |||
void* shared_data; | void* shared_data; | |||
char shared_file_name[NAME_MAX]; | char shared_file_name[NAME_MAX]; | |||
} us; | } us; | |||
#ifdef HAVE_MQUEUE_H | ||||
struct { | struct { | |||
mqd_t q; | mqd_t q; | |||
char name[NAME_MAX]; | char name[NAME_MAX]; | |||
} pmq; | } pmq; | |||
#endif | ||||
struct { | struct { | |||
int32_t q; | int32_t q; | |||
int32_t key; | int32_t key; | |||
} smq; | } smq; | |||
struct { | struct { | |||
qb_ringbuffer_t *rb; | qb_ringbuffer_t *rb; | |||
} shm; | } shm; | |||
} u; | } u; | |||
}; | }; | |||
skipping to change at line 109 | skipping to change at line 113 | |||
struct qb_ipcc_connection { | struct qb_ipcc_connection { | |||
char name[NAME_MAX]; | char name[NAME_MAX]; | |||
enum qb_ipc_type type; | enum qb_ipc_type type; | |||
int32_t needs_sock_for_poll; | int32_t needs_sock_for_poll; | |||
struct qb_ipc_one_way setup; | struct qb_ipc_one_way setup; | |||
struct qb_ipc_one_way request; | struct qb_ipc_one_way request; | |||
struct qb_ipc_one_way response; | struct qb_ipc_one_way response; | |||
struct qb_ipc_one_way event; | struct qb_ipc_one_way event; | |||
struct qb_ipcc_funcs funcs; | struct qb_ipcc_funcs funcs; | |||
char *receive_buf; | struct qb_ipc_request_header *receive_buf; | |||
uint32_t fc_enable_max; | ||||
}; | }; | |||
int32_t qb_ipcc_us_setup_connect(struct qb_ipcc_connection *c, | int32_t qb_ipcc_us_setup_connect(struct qb_ipcc_connection *c, | |||
struct qb_ipc_connection_response *r); | struct qb_ipc_connection_response *r); | |||
ssize_t qb_ipc_us_send(struct qb_ipc_one_way *one_way, const void *msg, siz e_t len); | ssize_t qb_ipc_us_send(struct qb_ipc_one_way *one_way, const void *msg, siz e_t len); | |||
ssize_t qb_ipc_us_recv(struct qb_ipc_one_way *one_way, void *msg, size_t le n, int32_t timeout); | ssize_t qb_ipc_us_recv(struct qb_ipc_one_way *one_way, void *msg, size_t le n, int32_t timeout); | |||
int32_t qb_ipc_us_recv_ready(struct qb_ipc_one_way *one_way, int32_t ms_tim eout); | int32_t qb_ipc_us_recv_ready(struct qb_ipc_one_way *one_way, int32_t ms_tim eout); | |||
void qb_ipcc_us_sock_close(int32_t sock); | void qb_ipcc_us_sock_close(int32_t sock); | |||
skipping to change at line 163 | skipping to change at line 168 | |||
enum qb_loop_priority poll_priority; | enum qb_loop_priority poll_priority; | |||
struct qb_list_head connections; | struct qb_list_head connections; | |||
struct qb_list_head list; | struct qb_list_head list; | |||
struct qb_ipcs_stats stats; | struct qb_ipcs_stats stats; | |||
}; | }; | |||
enum qb_ipcs_connection_state { | enum qb_ipcs_connection_state { | |||
QB_IPCS_CONNECTION_INACTIVE, | QB_IPCS_CONNECTION_INACTIVE, | |||
QB_IPCS_CONNECTION_ACTIVE, | QB_IPCS_CONNECTION_ACTIVE, | |||
QB_IPCS_CONNECTION_DOWN, | QB_IPCS_CONNECTION_ESTABLISHED, | |||
QB_IPCS_CONNECTION_SHUTTING_DOWN, | ||||
}; | }; | |||
struct qb_ipcs_connection { | struct qb_ipcs_connection { | |||
enum qb_ipcs_connection_state state; | enum qb_ipcs_connection_state state; | |||
int32_t refcount; | int32_t refcount; | |||
pid_t pid; | pid_t pid; | |||
uid_t euid; | uid_t euid; | |||
gid_t egid; | gid_t egid; | |||
struct qb_ipc_one_way setup; | struct qb_ipc_one_way setup; | |||
struct qb_ipc_one_way request; | struct qb_ipc_one_way request; | |||
struct qb_ipc_one_way response; | struct qb_ipc_one_way response; | |||
struct qb_ipc_one_way event; | struct qb_ipc_one_way event; | |||
struct qb_ipcs_service *service; | struct qb_ipcs_service *service; | |||
struct qb_list_head list; | struct qb_list_head list; | |||
char *receive_buf; | struct qb_ipc_request_header *receive_buf; | |||
void *context; | void *context; | |||
int32_t fc_enabled; | int32_t fc_enabled; | |||
int32_t poll_events; | int32_t poll_events; | |||
int32_t outstanding_notifiers; | int32_t outstanding_notifiers; | |||
struct qb_ipcs_connection_stats stats; | struct qb_ipcs_connection_stats stats; | |||
}; | }; | |||
void qb_ipcs_pmq_init(struct qb_ipcs_service *s); | void qb_ipcs_pmq_init(struct qb_ipcs_service *s); | |||
void qb_ipcs_us_init(struct qb_ipcs_service *s); | void qb_ipcs_us_init(struct qb_ipcs_service *s); | |||
void qb_ipcs_smq_init(struct qb_ipcs_service *s); | void qb_ipcs_smq_init(struct qb_ipcs_service *s); | |||
End of changes. 7 change blocks. | ||||
3 lines changed or deleted | 9 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/ |