/* Copyright (C) 2007-2010 Open Information Security Foundation * * You can copy, redistribute or modify this Program under the terms of * the GNU General Public License version 2 as published by the Free * Software Foundation. * * 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 * version 2 along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ /** * \file * * \author Anoop Saldanha */ #ifndef __ERROR_H__ #define __ERROR_H__ /* different error types */ typedef enum { SC_OK, SC_ERR_MEM_ALLOC, SC_ERR_PCRE_MATCH, SC_ERR_ACTION_ORDER, SC_ERR_PCRE_GET_SUBSTRING, SC_ERR_PCRE_COMPILE, SC_ERR_PCRE_STUDY, SC_ERR_PCRE_PARSE, SC_ERR_LOG_MODULE_NOT_INIT, SC_ERR_LOG_FG_FILTER_MATCH, SC_ERR_COUNTER_EXCEEDED, SC_ERR_INVALID_CHECKSUM, SC_ERR_SPRINTF, SC_ERR_INVALID_ARGUMENT, SC_ERR_SPINLOCK, SC_ERR_INVALID_ENUM_MAP, SC_ERR_INVALID_IP_NETBLOCK, SC_ERR_INVALID_IPV4_ADDR, SC_ERR_INVALID_IPV6_ADDR, SC_ERR_INVALID_RUNMODE, SC_ERR_PCAP_DISPATCH, SC_ERR_PCAP_CREATE, SC_ERR_PCAP_SET_SNAPLEN, SC_ERR_PCAP_SET_PROMISC, SC_ERR_PCAP_SET_TIMEOUT, SC_ERR_PCAP_OPEN_LIVE, SC_ERR_PCAP_OPEN_OFFLINE, SC_ERR_PCAP_ACTIVATE_HANDLE, SC_ERR_NO_PF_RING, SC_ERR_PF_RING_RECV, SC_ERR_PF_RING_GET_CLUSTERID_FAILED, SC_ERR_PF_RING_GET_INTERFACE_FAILED, SC_ERR_PF_RING_OPEN, SC_ERR_GET_CLUSTER_TYPE_FAILED, SC_ERR_INVALID_CLUSTER_TYPE, SC_ERR_PF_RING_SET_CLUSTER_FAILED, SC_ERR_DATALINK_UNIMPLEMENTED, SC_ERR_INVALID_SIGNATURE, SC_ERR_OPENING_FILE, SC_ERR_OPENING_RULE_FILE, SC_ERR_NO_RULES, SC_ERR_NO_RULES_LOADED, SC_ERR_FOPEN, SC_ERR_INITIALIZATION, SC_ERR_THREAD_SPAWN, SC_ERR_THREAD_NICE_PRIO, SC_ERR_THREAD_CREATE, SC_ERR_THREAD_INIT, /**< thread's initialization function failed */ SC_ERR_SYSCALL, SC_ERR_SYSCONF, SC_ERR_INVALID_ARGUMENTS, SC_ERR_PERF_STATS_NOT_INIT, SC_ERR_COMPLETE_PORT_SPACE_NEGATED, SC_ERR_NO_PORTS_LEFT_AFTER_MERGE, SC_ERR_NEGATED_VALUE_IN_PORT_RANGE, SC_ERR_PORT_PARSE_INSERT_STRING, SC_ERR_UNREACHABLE_CODE_REACHED, SC_ERR_ALPARSER, SC_ERR_INVALID_NUMERIC_VALUE, SC_ERR_NUMERIC_VALUE_ERANGE, SC_ERR_INVALID_NUM_BYTES, SC_ERR_ARG_LEN_LONG, SC_ERR_POOL_EMPTY, SC_ERR_REASSEMBLY, SC_ERR_POOL_INIT, SC_ERR_NFQ_OPEN, SC_ERR_NFQ_BIND, SC_ERR_NFQ_UNBIND, SC_ERR_NFQ_MAXLEN, SC_ERR_NFQ_CREATE_QUEUE, SC_ERR_NFQ_SET_MODE, SC_ERR_NFQ_SETSOCKOPT, SC_ERR_NFQ_RECV, SC_ERR_NFQ_HANDLE_PKT, SC_ERR_NFQ_SET_VERDICT, SC_ERR_NFQ_THREAD_INIT, SC_ERR_IPFW_NOSUPPORT, SC_ERR_IPFW_BIND, SC_ERR_IPFW_SOCK, SC_ERR_IPFW_NOPORT, SC_WARN_IPFW_RECV, SC_WARN_IPFW_XMIT, SC_WARN_IPFW_SETSOCKOPT, SC_WARN_IPFW_UNBIND, SC_ERR_DAEMON, SC_ERR_UNIMPLEMENTED, SC_ERR_ADDRESS_ENGINE_GENERIC, SC_ERR_IPONLY_RADIX, SC_ERR_FAST_LOG_GENERIC, SC_ERR_DEBUG_LOG_GENERIC, SC_ERR_UNIFIED_LOG_GENERIC, SC_ERR_HTTP_LOG_GENERIC, SC_ERR_UNIFIED_ALERT_GENERIC, SC_ERR_UNIFIED2_ALERT_GENERIC, SC_ERR_FWRITE, SC_ERR_THRESHOLD_HASH_ADD, SC_ERR_UNDEFINED_VAR, SC_ERR_RULE_KEYWORD_UNKNOWN, SC_ERR_FLAGS_MODIFIER, SC_ERR_DISTANCE_MISSING_CONTENT, SC_ERR_WITHIN_MISSING_CONTENT, SC_ERR_WITHIN_INVALID, SC_ERR_OFFSET_MISSING_CONTENT, SC_ERR_DEPTH_MISSING_CONTENT, SC_ERR_BYTETEST_MISSING_CONTENT, SC_ERR_BYTEJUMP_MISSING_CONTENT, SC_ERR_NOCASE_MISSING_PATTERN, SC_ERR_RAWBYTES_MISSING_CONTENT, SC_ERR_NO_URICONTENT_NEGATION, SC_ERR_HASH_TABLE_INIT, SC_ERR_STAT, SC_ERR_LOGDIR_CONFIG, SC_ERR_LOGDIR_CMDLINE, SC_ERR_MISSING_CONFIG_PARAM, SC_ERR_RADIX_TREE_GENERIC, SC_ERR_MISSING_QUOTE, SC_ERR_MUTEX, SC_ERR_REPUTATION_INVALID_OPERATION, SC_ERR_REPUTATION_INVALID_TYPE, SC_ERR_UNKNOWN_PROTOCOL, SC_ERR_UNKNOWN_RUN_MODE, SC_ERR_MULTIPLE_RUN_MODE, SC_ERR_BPF, SC_ERR_BYTE_EXTRACT_FAILED, SC_ERR_UNKNOWN_VALUE, SC_ERR_INVALID_VALUE, SC_ERR_UNKNOWN_REGEX_MOD, SC_ERR_INVALID_OPERATOR, SC_ERR_PCAP_RECV_INIT, SC_ERR_CUDA_ERROR, SC_ERR_CUDA_HANDLER_ERROR, SC_ERR_TM_THREADS_ERROR, SC_ERR_TM_MODULES_ERROR, SC_ERR_B2G_CUDA_ERROR, SC_ERR_INVALID_YAML_CONF_ENTRY, SC_ERR_TMQ_ALREADY_REGISTERED, SC_ERR_CONFLICTING_RULE_KEYWORDS, SC_ERR_INVALID_ACTION, SC_ERR_LIBNET_REQUIRED_FOR_ACTION, SC_ERR_LIBNET_INIT, SC_ERR_LIBNET_INVALID_DIR, SC_ERR_LIBNET_BUILD_FAILED, SC_ERR_LIBNET_WRITE_FAILED, SC_ERR_LIBNET_NOT_ENABLED, SC_ERR_UNIFIED_LOG_FILE_HEADER, /**< Error to indicate the unified file header writing function has been failed */ SC_ERR_REFERENCE_UNKNOWN, /**< unknown reference key (cve, url, etc) */ SC_ERR_PIDFILE_SNPRINTF, SC_ERR_PIDFILE_OPEN, SC_ERR_PIDFILE_WRITE, SC_ERR_PIDFILE_DAEMON, SC_ERR_UID_FAILED, SC_ERR_GID_FAILED, SC_ERR_CHANGING_CAPS_FAILED, SC_ERR_LIBCAP_NG_REQUIRED, SC_ERR_LIBNET11_INCOMPATIBLE_WITH_LIBCAP_NG, SC_ERR_FATAL, } SCError; const char *SCErrorToString(SCError); #endif /* __ERROR_H__ */