Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndris Zeila <andris.zeila@zabbix.com>2016-12-21 14:43:08 +0300
committerAndris Zeila <andris.zeila@zabbix.com>2016-12-21 14:43:08 +0300
commitb47b21962a0a58994537e6e68f2c5730bf7d43c6 (patch)
treeec3028f67fc24ed0e608508d79337a888602e591 /include/zbxipcservice.h
parent5224a5ae7e65328f029b9031e67a3234310d536c (diff)
.......PS. [ZBXNEXT-3386] added buffered read for zbx_ipc_socket_read() function, unified client/server message reading
Diffstat (limited to 'include/zbxipcservice.h')
-rw-r--r--include/zbxipcservice.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/include/zbxipcservice.h b/include/zbxipcservice.h
index dc00f57f354..61da30a8d98 100644
--- a/include/zbxipcservice.h
+++ b/include/zbxipcservice.h
@@ -23,6 +23,10 @@ typedef struct
{
/* socket descriptor */
int fd;
+
+ unsigned char rx_buffer[ZBX_IPC_SOCKET_BUFFER_SIZE];
+ zbx_uint32_t rx_buffer_bytes;
+ zbx_uint32_t rx_buffer_offset;
}
zbx_ipc_socket_t;
@@ -59,17 +63,19 @@ void zbx_ipc_service_recv(zbx_ipc_service_t *service, int timeout, zbx_ipc_clien
zbx_ipc_message_t **message);
void zbx_ipc_service_close(zbx_ipc_service_t *service);
-int zbx_ipc_client_send(zbx_ipc_client_t *client, zbx_uint32_t code, const char *data, zbx_uint32_t size);
+int zbx_ipc_client_send(zbx_ipc_client_t *client, zbx_uint32_t code, const unsigned char *data, zbx_uint32_t size);
void zbx_ipc_client_close(zbx_ipc_client_t *client);
int zbx_ipc_socket_open(zbx_ipc_socket_t *csocket, const char *service_name, int timeout, char **error);
void zbx_ipc_socket_close(zbx_ipc_socket_t *csocket);
-int zbx_ipc_socket_write(zbx_ipc_socket_t *csocket, zbx_uint32_t code, const char *data, zbx_uint32_t size);
+int zbx_ipc_socket_write(zbx_ipc_socket_t *csocket, zbx_uint32_t code, const unsigned char *data,
+ zbx_uint32_t size);
int zbx_ipc_socket_read(zbx_ipc_socket_t *csocket, zbx_ipc_message_t *message);
void zbx_ipc_message_free(zbx_ipc_message_t *message);
void zbx_ipc_message_clean(zbx_ipc_message_t *message);
void zbx_ipc_message_init(zbx_ipc_message_t *message);
+void zbx_ipc_message_format(const zbx_ipc_message_t *message, char **data);
#endif