#ifndef ZABBIX_VMWARE_H
#define ZABBIX_VMWARE_H
#include "zbxthreads.h"
#include "zbxalgo.h"
#include "zbxjson.h"
#define ZBX_VMWARE_STATE_NEW 0x001
#define ZBX_VMWARE_STATE_READY 0x002
#define ZBX_VMWARE_STATE_FAILED 0x004
#define ZBX_VMWARE_STATE_SHMEM_READY 0x100
#define ZBX_VMWARE_EVENT_KEY_UNINITIALIZED __UINT64_C(0xffffffffffffffff)
typedef struct
{
char *name;
zbx_uint64_t value;
}
zbx_str_uint64_pair_t;
ZBX_PTR_VECTOR_DECL(str_uint64_pair, zbx_str_uint64_pair_t)
int zbx_str_uint64_pair_name_compare(const void *p1, const void *p2);
#define ZBX_UC(v) ((unsigned char)v)
typedef struct
{
zbx_uint64_t counterid;
zbx_vector_str_uint64_pair_t values;
#define ZBX_VMWARE_COUNTER_NEW ZBX_UC(0x00)
#define ZBX_VMWARE_COUNTER_READY ZBX_UC(0x01)
#define ZBX_VMWARE_COUNTER_UPDATING ZBX_UC(0x02)
#define ZBX_VMWARE_COUNTER_CUSTOM ZBX_UC(0x10)
#define ZBX_VMWARE_COUNTER_ACCEPTABLE ZBX_UC(0x20)
#define ZBX_VMWARE_COUNTER_NOTSUPPORTED ZBX_UC(0x40)
#define ZBX_VMWARE_COUNTER_STATE_MASK 0xF0
unsigned char state;
time_t last_used;
char *query_instance;
}
zbx_vmware_perf_counter_t;
ZBX_PTR_VECTOR_DECL(vmware_perf_counter_ptr, zbx_vmware_perf_counter_t *)
typedef struct
{
char *type;
char *id;
#define ZBX_VMWARE_PERF_INTERVAL_UNKNOWN 0
#define ZBX_VMWARE_PERF_INTERVAL_NONE -1
int refresh;
time_t last_seen;
zbx_vector_vmware_perf_counter_ptr_t counters;