1 /****************************************************************************
2  * Copyright (C) 2014-2021 Cisco and/or its affiliates. All rights reserved.
3  * Copyright (C) 2008-2013 Sourcefire, Inc.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License Version 2 as
7  * published by the Free Software Foundation.  You may not use, modify or
8  * distribute this program under any other version of the GNU General
9  * Public License.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19  *
20  ****************************************************************************/
21 #ifndef RULE_OPTION_TYPES__H
22 #define RULE_OPTION_TYPES__H
23 
24 typedef enum _option_type_t
25 {
26     RULE_OPTION_TYPE_LEAF_NODE,
27     RULE_OPTION_TYPE_ASN1,
28     RULE_OPTION_TYPE_BYTE_TEST,
29     RULE_OPTION_TYPE_BYTE_JUMP,
30     RULE_OPTION_TYPE_BYTE_EXTRACT,
31     RULE_OPTION_TYPE_FLOW,
32     RULE_OPTION_TYPE_CVS,
33     RULE_OPTION_TYPE_DSIZE,
34     RULE_OPTION_TYPE_FLOWBIT,
35     RULE_OPTION_TYPE_FTPBOUNCE,
36     RULE_OPTION_TYPE_ICMP_CODE,
37     RULE_OPTION_TYPE_ICMP_ID,
38     RULE_OPTION_TYPE_ICMP_SEQ,
39     RULE_OPTION_TYPE_ICMP_TYPE,
40     RULE_OPTION_TYPE_IP_FRAGBITS,
41     RULE_OPTION_TYPE_IP_FRAG_OFFSET,
42     RULE_OPTION_TYPE_IP_ID,
43     RULE_OPTION_TYPE_IP_OPTION,
44     RULE_OPTION_TYPE_IP_PROTO,
45     RULE_OPTION_TYPE_IP_SAME,
46     RULE_OPTION_TYPE_IP_TOS,
47     RULE_OPTION_TYPE_IS_DATA_AT,
48     RULE_OPTION_TYPE_FILE_DATA,
49     RULE_OPTION_TYPE_FILE_TYPE,
50     RULE_OPTION_TYPE_BASE64_DECODE,
51     RULE_OPTION_TYPE_BASE64_DATA,
52     RULE_OPTION_TYPE_PKT_DATA,
53     RULE_OPTION_TYPE_CONTENT,
54     RULE_OPTION_TYPE_CONTENT_URI,
55     RULE_OPTION_TYPE_PCRE,
56 #ifdef ENABLE_REACT
57     RULE_OPTION_TYPE_REACT,
58 #endif
59 #ifdef ENABLE_RESPOND
60     RULE_OPTION_TYPE_RESPOND,
61 #endif
62     RULE_OPTION_TYPE_RPC_CHECK,
63     RULE_OPTION_TYPE_SESSION,
64     RULE_OPTION_TYPE_TCP_ACK,
65     RULE_OPTION_TYPE_TCP_FLAG,
66     RULE_OPTION_TYPE_TCP_SEQ,
67     RULE_OPTION_TYPE_TCP_WIN,
68     RULE_OPTION_TYPE_TTL,
69     RULE_OPTION_TYPE_URILEN,
70     RULE_OPTION_TYPE_HDR_OPT_CHECK,
71     RULE_OPTION_TYPE_PREPROCESSOR,
72 #if !defined(FEAT_OPEN_APPID)
73     RULE_OPTION_TYPE_DYNAMIC
74 #else /* defined(FEAT_OPEN_APPID) */
75     RULE_OPTION_TYPE_DYNAMIC,
76     RULE_OPTION_TYPE_APPID
77 #endif /* defined(FEAT_OPEN_APPID) */
78     ,RULE_OPTION_TYPE_BYTE_MATH
79 
80 } option_type_t;
81 
82 #endif /* RULE_OPTION_TYPES__H */
83