#include "zbxavailability.h"
#include "zbx_availability_constants.h"
#include "zbxipcservice.h"
int zbx_interface_availability_compare_func(const void *d1, const void *d2)
const zbx_interface_availability_t *int_avail_1 = *(const zbx_interface_availability_t **)d1;
const zbx_interface_availability_t *int_avail_2 = *(const zbx_interface_availability_t **)d2;
ZBX_RETURN_IF_NOT_EQUAL(int_avail_1->interfaceid, int_avail_2->interfaceid);
ZBX_PTR_VECTOR_IMPL(proxy_hostdata_ptr, zbx_proxy_hostdata_t *)
void zbx_availability_send(zbx_uint32_t code, unsigned char *data, zbx_uint32_t size, zbx_ipc_message_t *response)
static ZBX_THREAD_LOCAL zbx_ipc_socket_t socket;
if (FAIL == zbx_ipc_socket_open(&socket, ZBX_IPC_SERVICE_AVAILABILITY, SEC_PER_MIN, &error))
zabbix_log(LOG_LEVEL_CRIT, "cannot connect to availability manager service: %s", error);
if (FAIL == zbx_ipc_socket_write(&socket, code, data, size))
zabbix_log(LOG_LEVEL_CRIT, "cannot send data to availability manager service");
if (NULL != response && FAIL == zbx_ipc_socket_read(&socket, response))
zabbix_log(LOG_LEVEL_CRIT, "cannot receive data from service");
void zbx_availabilities_flush(const zbx_vector_availability_ptr_t *interface_availabilities)
unsigned char *data = NULL;