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/