suricata
util-mpm-ac-queue.c
Go to the documentation of this file.
1 /* Copyright (C) 2025 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 #include "suricata-common.h"
19 #include "util-debug.h"
20 #include "util-mpm-ac-queue.h"
21 
23 {
24  StateQueue *q = SCCalloc(1, sizeof(StateQueue));
25  if (q == NULL) {
26  FatalError("Error allocating memory");
27  }
28  q->store = SCCalloc(STATE_QUEUE_CONTAINER_SIZE, sizeof(int32_t));
29  if (q->store == NULL) {
30  FatalError("Error allocating memory");
31  }
33  return q;
34 }
35 
37 {
38  SCFree(q->store);
39  SCFree(q);
40 }
StateQueue_
Helper structure used by AC during state table creation.
Definition: util-mpm-ac-queue.h:33
util-mpm-ac-queue.h
SCACStateQueueFree
void SCACStateQueueFree(StateQueue *q)
Definition: util-mpm-ac-queue.c:36
util-debug.h
SCACStateQueueAlloc
StateQueue * SCACStateQueueAlloc(void)
Definition: util-mpm-ac-queue.c:22
StateQueue_::store
int32_t * store
Definition: util-mpm-ac-queue.h:37
suricata-common.h
FatalError
#define FatalError(...)
Definition: util-debug.h:510
StateQueue_::size
uint32_t size
Definition: util-mpm-ac-queue.h:36
SCFree
#define SCFree(p)
Definition: util-mem.h:61
SCCalloc
#define SCCalloc(nm, sz)
Definition: util-mem.h:53
STATE_QUEUE_CONTAINER_SIZE
#define STATE_QUEUE_CONTAINER_SIZE
Definition: util-mpm-ac-queue.h:28