/* ** 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