From e2827c5cb8d0160de33061ed23cdd4c0fbe35e46 Mon Sep 17 00:00:00 2001 From: p39718465 <569659537@qq.com> Date: Tue, 29 Aug 2023 10:49:18 +0800 Subject: [PATCH] ADD file via upload --- src/zabbix_server/actions.h | 66 +++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/zabbix_server/actions.h diff --git a/src/zabbix_server/actions.h b/src/zabbix_server/actions.h new file mode 100644 index 0000000..66261fb --- /dev/null +++ b/src/zabbix_server/actions.h @@ -0,0 +1,66 @@ +/* +** 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_ACTIONS_H +#define ZABBIX_ACTIONS_H + +#include "zbxdbhigh.h" + +#define ZBX_ACTION_RECOVERY_NONE 0 +#define ZBX_ACTION_RECOVERY_OPERATIONS 1 + +typedef struct +{ + zbx_uint64_t eventid; + zbx_uint64_t acknowledgeid; + zbx_uint64_t taskid; + int old_severity; + int new_severity; +} +zbx_ack_task_t; + +typedef struct +{ + zbx_uint64_t taskid; + zbx_uint64_t actionid; + zbx_uint64_t eventid; + zbx_uint64_t triggerid; + zbx_uint64_t acknowledgeid; +} +zbx_ack_escalation_t; + +typedef struct +{ + zbx_uint64_t conditionid; + zbx_uint64_t actionid; + char *value; + char *value2; + unsigned char conditiontype; + unsigned char op; + zbx_vector_uint64_t eventids; +} +zbx_condition_t; + +int check_action_condition(zbx_db_event *event, zbx_condition_t *condition); +void process_actions(zbx_vector_db_event_t *events, const zbx_vector_uint64_pair_t *closed_events); +int process_actions_by_acknowledgments(const zbx_vector_ptr_t *ack_tasks); +void get_db_actions_info(zbx_vector_uint64_t *actionids, zbx_vector_ptr_t *actions); +void free_db_action(zbx_db_action *action); + +#endif