You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
3.1 KiB

/*
** Zabbix
** Copyright (C) 2001-2023 Zabbix SIA
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
**/
#ifndef ZABBIX_ZBXEVENT_H
#define ZABBIX_ZBXEVENT_H
#include "zbxcacheconfig.h"
/* acknowledgment actions (flags) */
#define ZBX_PROBLEM_UPDATE_CLOSE 0x0001
#define ZBX_PROBLEM_UPDATE_ACKNOWLEDGE 0x0002
#define ZBX_PROBLEM_UPDATE_MESSAGE 0x0004
#define ZBX_PROBLEM_UPDATE_SEVERITY 0x0008
#define ZBX_PROBLEM_UPDATE_UNACKNOWLEDGE 0x0010
#define ZBX_PROBLEM_UPDATE_SUPPRESS 0x0020
#define ZBX_PROBLEM_UPDATE_UNSUPPRESS 0x0040
#define ZBX_PROBLEM_UPDATE_RANK_TO_CAUSE 0x0080
#define ZBX_PROBLEM_UPDATE_RANK_TO_SYMPTOM 0x0100
#define ZBX_PROBLEM_UPDATE_ACTION_COUNT 9
typedef struct
{
char *host;
char *severity;
char *tags;
char *name;
int clock;
int nseverity;
}
zbx_eventdata_t;
ZBX_VECTOR_DECL(eventdata, zbx_eventdata_t)
void zbx_eventdata_free(zbx_eventdata_t *eventdata);
int zbx_eventdata_compare(const zbx_eventdata_t *d1, const zbx_eventdata_t *d2);
void zbx_eventdata_to_str(const zbx_vector_eventdata_t *eventdata, char **replace_to);
void zbx_event_get_macro_value(const char *macro, const zbx_db_event *event, char **replace_to,
const zbx_uint64_t *recipient_userid, const zbx_db_event *r_event, const char *tz);
void zbx_event_get_tag(const char *text, const zbx_db_event *event, char **replace_to);
void zbx_event_get_str_tags(const zbx_db_event *event, char **replace_to);
void zbx_event_get_json_tags(const zbx_db_event *event, char **replace_to);
int zbx_event_db_get_host(const zbx_db_event *event, zbx_dc_host_t *host, char *error, size_t max_error_len);
int zbx_event_db_get_dhost(const zbx_db_event *event, char **replace_to, const char *fieldname);
int zbx_event_db_get_dchecks(const zbx_db_event *event, char **replace_to, const char *fieldname);
int zbx_event_db_get_dservice(const zbx_db_event *event, char **replace_to, const char *fieldname);
int zbx_event_db_get_drule(const zbx_db_event *event, char **replace_to, const char *fieldname);
int zbx_event_db_count_from_trigger(zbx_uint64_t triggerid, char **replace_to, int problem_only, int acknowledged);
int zbx_event_db_get_autoreg(const zbx_db_event *event, char **replace_to, const char *fieldname);
void zbx_event_db_get_history(const zbx_db_event *event, char **replace_to,
const zbx_uint64_t *recipient_userid, const char *tz);
int zbx_problem_get_actions(const zbx_db_acknowledge *ack, int actions, const char *tz, char **out);
#endif