** 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/>.
zbxFtAll = (zbxFtFile | zbxFtDir | zbxFtSym | zbxFtSock | zbxFtBdev | zbxFtCdev | zbxFtFifo)
zbxFtDev = (zbxFtBdev | zbxFtCdev)
func (f fileType) hasType(t fileType) bool { return f&t != 0 }
func (f *fileType) addType(t fileType) { *f |= t }
func typesToMask(param string) (fileType, error) {
template := map[string]fileType{
if strings.TrimSpace(param) == "" {
types := strings.Split(param, ",")
for _, name := range types {
name = strings.TrimSpace(name)