Source
/*
** 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 Affero General Public License as published by the Free Software Foundation, version 3.
**
** 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 Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
typedef wchar_t * zbx_mutex_name_t;
typedef HANDLE zbx_mutex_t;
/* not _WINDOWS */
typedef enum
{
ZBX_MUTEX_LOG = 0,
ZBX_MUTEX_CACHE,
ZBX_MUTEX_TRENDS,
ZBX_MUTEX_CACHE_IDS,
ZBX_MUTEX_SELFMON,
ZBX_MUTEX_CPUSTATS,
ZBX_MUTEX_DISKSTATS,
ZBX_MUTEX_VALUECACHE,
ZBX_MUTEX_VMWARE,
ZBX_MUTEX_SQLITE3,
ZBX_MUTEX_PROCSTAT,
ZBX_MUTEX_PROXY_HISTORY,
ZBX_MUTEX_KSTAT,
ZBX_MUTEX_MODBUS,
ZBX_MUTEX_TREND_FUNC,
ZBX_MUTEX_REMOTE_COMMANDS,
ZBX_MUTEX_PROXY_BUFFER,
ZBX_MUTEX_VPS_MONITOR,
/* NOTE: Do not forget to sync changes here with mutex names in diag_add_locks_info()! */
ZBX_MUTEX_COUNT
}
zbx_mutex_name_t;
typedef enum
{
ZBX_RWLOCK_CONFIG = 0,
ZBX_RWLOCK_CONFIG_HISTORY,