#ifndef ZABBIX_MODULE_H
#define ZABBIX_MODULE_H
#include "zbxtypes.h"
#define ZBX_MODULE_OK 0
#define ZBX_MODULE_FAIL -1
#define ZBX_MODULE_API_VERSION 2
#define ZBX_MODULE_API_VERSION_ONE ZBX_MODULE_API_VERSION
#define get_rkey(request) (request)->key
#define get_rparams_num(request) (request)->nparam
#define get_rparam(request, num) ((request)->nparam > num ? (request)->params[num] : NULL)
#define get_rparam_type(request, num) ((request)->nparam > num ? (request)->types[num] : \
REQUEST_PARAMETER_TYPE_UNDEFINED)
#define CF_HAVEPARAMS 0x01
#define CF_MODULE 0x02
#define CF_USERPARAMETER 0x04
typedef enum
{
REQUEST_PARAMETER_TYPE_UNDEFINED = 0,
REQUEST_PARAMETER_TYPE_STRING,
REQUEST_PARAMETER_TYPE_ARRAY
}
zbx_request_parameter_type_t;
typedef struct
{
char *key;
int nparam;
char **params;
zbx_uint64_t lastlogsize;
int mtime;
zbx_request_parameter_type_t *types;
int timeout;
}
AGENT_REQUEST;
typedef struct
{
char *value;
char *source;
int timestamp;
int severity;
int logeventid;
}
zbx_log_t;
#define AR_UINT64 0x01
#define AR_DOUBLE 0x02
#define AR_STRING 0x04
#define AR_TEXT 0x08
#define AR_LOG 0x10
#define AR_MESSAGE 0x20
#define AR_META 0x40
#define AR_BIN 0x80
typedef struct
{
zbx_uint64_t lastlogsize;