Source
static void ipmi_manager_deactivate_interface(zbx_ipmi_manager_t *manager, zbx_uint64_t itemid, zbx_timespec_t *ts,
/*
** Zabbix
** Copyright (C) 2001-2025 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.
**/
extern ZBX_THREAD_LOCAL unsigned char process_type;
extern unsigned char program_type;
extern ZBX_THREAD_LOCAL int server_num, process_num;
extern int CONFIG_IPMIPOLLER_FORKS;
/* IPMI request queued by pollers */
typedef struct
{
/* internal requestid */
zbx_uint64_t requestid;
/* target host id */
zbx_uint64_t hostid;
/* itemid, set for value requests */
zbx_uint64_t itemid;
/* the current item state (supported/unsupported) */
unsigned char item_state;
/* the current item flags ( e.g. lld rule) */
unsigned char item_flags;
/* the request message */
zbx_ipc_message_t message;
/* the source client for external requests (command request) */
zbx_ipc_client_t *client;
}
zbx_ipmi_request_t;
/* IPMI poller data */
typedef struct
{
/* the connected IPMI poller client */
zbx_ipc_client_t *client;
/* the request queue */
zbx_binary_heap_t requests;
/* the currently processing request */
zbx_ipmi_request_t *request;
/* the number of hosts handled by the poller */
int hosts_num;