#include "zbxserialize.h"
#include "zbxavailability.h"
void zbx_availability_serialize_interface(unsigned char **data, size_t *data_alloc, size_t *data_offset,
const zbx_interface_availability_t *interface_availability)
zbx_uint32_t data_len = 0, error_len;
zbx_serialize_prepare_value(data_len, interface_availability->interfaceid);
zbx_serialize_prepare_value(data_len, interface_availability->agent.flags);
zbx_serialize_prepare_value(data_len, interface_availability->agent.available);
zbx_serialize_prepare_value(data_len, interface_availability->agent.errors_from);
zbx_serialize_prepare_value(data_len, interface_availability->agent.disable_until);
zbx_serialize_prepare_str_len(data_len, interface_availability->agent.error, error_len);
*data = (unsigned char *)zbx_calloc(NULL, (*data_alloc = MAX(1024, data_len)), 1);
while (data_len > *data_alloc - *data_offset)
*data = (unsigned char *)zbx_realloc(*data, *data_alloc);
ptr = *data + *data_offset;
*data_offset += data_len;
ptr += zbx_serialize_value(ptr, interface_availability->interfaceid);
ptr += zbx_serialize_value(ptr, interface_availability->agent.flags);
ptr += zbx_serialize_value(ptr, interface_availability->agent.available);
ptr += zbx_serialize_value(ptr, interface_availability->agent.errors_from);
ptr += zbx_serialize_value(ptr, interface_availability->agent.disable_until);
zbx_serialize_str(ptr, interface_availability->agent.error, error_len);
zbx_uint32_t zbx_availability_serialize_active_heartbeat(unsigned char **data, zbx_uint64_t hostid, int heartbeat_freq)
zbx_uint32_t data_len = 0;
zbx_serialize_prepare_value(data_len, hostid);
zbx_serialize_prepare_value(data_len, heartbeat_freq);