1 /* Copyright (C) 2007-2013 Open Information Security Foundation
2  *
3  * You can copy, redistribute or modify this Program under the terms of
4  * the GNU General Public License version 2 as published by the Free
5  * Software Foundation.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * version 2 along with this program; if not, write to the Free Software
14  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15  * 02110-1301, USA.
16  */
17 
18 /**
19  * \file
20  *
21  * \author Victor Julien <victor@inliniac.net>
22  * \author Anoop Saldanha <anoopsaldanha@gmail.com>
23  */
24 
25 #ifndef __TM_THREADS_COMMON_H__
26 #define __TM_THREADS_COMMON_H__
27 
28 /** \brief Thread Model Module id's.
29  *
30  *  \note anything added here should also be added to TmModuleTmmIdToString
31  *        in tm-modules.c
32  */
33 typedef enum {
34     TMM_FLOWWORKER,
35     TMM_DECODENFQ,
36     TMM_VERDICTNFQ,
37     TMM_RECEIVENFQ,
38     TMM_RECEIVEPCAP,
39     TMM_RECEIVEPCAPFILE,
40     TMM_DECODEPCAP,
41     TMM_DECODEPCAPFILE,
42     TMM_RECEIVEPFRING,
43     TMM_DECODEPFRING,
44     TMM_RECEIVEPLUGIN,
45     TMM_DECODEPLUGIN,
46     TMM_RESPONDREJECT,
47     TMM_DECODEIPFW,
48     TMM_VERDICTIPFW,
49     TMM_RECEIVEIPFW,
50     TMM_RECEIVEERFFILE,
51     TMM_DECODEERFFILE,
52     TMM_RECEIVEERFDAG,
53     TMM_DECODEERFDAG,
54     TMM_RECEIVEAFP,
55     TMM_DECODEAFP,
56     TMM_RECEIVENETMAP,
57     TMM_DECODENETMAP,
58     TMM_ALERTPCAPINFO,
59     TMM_RECEIVENAPATECH,
60     TMM_DECODENAPATECH,
61     TMM_STATSLOGGER,
62     TMM_RECEIVENFLOG,
63     TMM_DECODENFLOG,
64     TMM_RECEIVEWINDIVERT,
65     TMM_VERDICTWINDIVERT,
66     TMM_DECODEWINDIVERT,
67 
68     TMM_FLOWMANAGER,
69     TMM_FLOWRECYCLER,
70     TMM_BYPASSEDFLOWMANAGER,
71     TMM_DETECTLOADER,
72 
73     TMM_UNIXMANAGER,
74 
75     TMM_SIZE,
76 } TmmId;
77 
78 /*Error codes for the thread modules*/
79 typedef enum {
80     TM_ECODE_OK = 0,    /**< Thread module exits OK*/
81     TM_ECODE_FAILED,    /**< Thread module exits due to failure*/
82     TM_ECODE_DONE,    /**< Thread module task is finished*/
83 } TmEcode;
84 
85 /* ThreadVars type */
86 enum {
87     TVT_PPT,
88     TVT_MGMT,
89     TVT_CMD,
90     TVT_MAX,
91 };
92 
93 #endif /* __TM_THREADS_COMMON_H__ */
94 
95