suricata
packet-queue.h File Reference
#include "threads.h"
Include dependency graph for packet-queue.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  PacketQueueNoLock_
 simple fifo queue for packets More...
 
struct  PacketQueue_
 simple fifo queue for packets with mutex and cond Calling the mutex or triggering the cond is responsibility of the caller More...
 

Typedefs

typedef struct PacketQueueNoLock_ PacketQueueNoLock
 simple fifo queue for packets More...
 
typedef struct PacketQueue_ PacketQueue
 simple fifo queue for packets with mutex and cond Calling the mutex or triggering the cond is responsibility of the caller More...
 

Functions

void PacketEnqueueNoLock (PacketQueueNoLock *qnl, struct Packet_ *p)
 
void PacketEnqueue (PacketQueue *, struct Packet_ *)
 
struct Packet_PacketDequeueNoLock (PacketQueueNoLock *qnl)
 
struct Packet_PacketDequeue (PacketQueue *)
 
PacketQueuePacketQueueAlloc (void)
 
void PacketQueueFree (PacketQueue *)
 

Detailed Description

Typedef Documentation

◆ PacketQueue

typedef struct PacketQueue_ PacketQueue

simple fifo queue for packets with mutex and cond Calling the mutex or triggering the cond is responsibility of the caller

Note
PacketQueueNoLock and PacketQueue need to keep identical layouts except for the mutex_q and cond_q fields.

◆ PacketQueueNoLock

simple fifo queue for packets

Note
PacketQueueNoLock and PacketQueue need to keep identical layouts except for the mutex_q and cond_q fields.

Function Documentation

◆ PacketDequeue()

struct Packet_* PacketDequeue ( PacketQueue )

Definition at line 216 of file packet-queue.c.

Referenced by TmqhInputFlow(), TmqhInputSimple(), and TmqhReleasePacketsToPacketPool().

Here is the caller graph for this function:

◆ PacketDequeueNoLock()

struct Packet_* PacketDequeueNoLock ( PacketQueueNoLock qnl)

Definition at line 208 of file packet-queue.c.

Referenced by TmThreadsProcessDecodePseudoPackets().

Here is the caller graph for this function:

◆ PacketEnqueue()

void PacketEnqueue ( PacketQueue ,
struct Packet_  
)

Definition at line 175 of file packet-queue.c.

Referenced by TmqhOutputFlowHash(), TmqhOutputFlowIPPair(), and TmqhOutputSimple().

Here is the caller graph for this function:

◆ PacketEnqueueNoLock()

void PacketEnqueueNoLock ( PacketQueueNoLock qnl,
struct Packet_ p 
)

Definition at line 168 of file packet-queue.c.

References DEBUG_VALIDATE_BUG_ON, and Packet_::pkt_src.

◆ PacketQueueAlloc()

PacketQueue* PacketQueueAlloc ( void  )

◆ PacketQueueFree()

void PacketQueueFree ( PacketQueue )

Definition at line 231 of file packet-queue.c.

References PacketQueue_::cond_q, PacketQueue_::mutex_q, SCCondDestroy, SCFree, and SCMutexDestroy.

Referenced by TmqResetQueues().

Here is the caller graph for this function: