8 #ifndef __SOLAR_CAPTURE_EXT_PACKET_LIST_H__
9 #define __SOLAR_CAPTURE_EXT_PACKET_LIST_H__
41 __sc_packet_list_init(l);
88 static inline void __sc_packet_list_push_head(
struct sc_packet_list* pl,
109 __sc_packet_list_push_head(pl, p);
120 static inline void __sc_packet_list_append(
struct sc_packet_list* l,
138 __sc_packet_list_append(l, p);
143 static inline void __sc_packet_list_append_list(
struct sc_packet_list* l,
146 int num_pkts,
int num_frags)
169 __sc_packet_list_append_list(dest, src->
head, src->
tail,
204 struct sc_packet* p = __sc_packet_list_pop_head(pl);
struct sc_packet ** tail
Definition: ext_packet_list.h:16
static void sc_packet_prefetch_r(struct sc_packet *p)
Prefetch a packet for reading.
Definition: ext_packet.h:153
uint8_t frags_n
Definition: ext_packet.h:62
static void sc_packet_list_finalise(struct sc_packet_list *l)
Finalise a list.
Definition: ext_packet_list.h:62
static int sc_packet_list_is_empty(const struct sc_packet_list *l)
Check if packet list is empty.
Definition: ext_packet_list.h:49
static void sc_packet_list_init(struct sc_packet_list *l)
Initialise a list.
Definition: ext_packet_list.h:39
int num_pkts
Definition: ext_packet_list.h:17
Representation of a packet.
Definition: ext_packet.h:56
static struct sc_packet * sc_packet_list_tail(struct sc_packet_list *l)
Return the tail of current tail of the list.
Definition: ext_packet_list.h:72
static void sc_packet_list_append_list(struct sc_packet_list *dest, struct sc_packet_list *src)
Append a list to a list.
Definition: ext_packet_list.h:165
int num_frags
Definition: ext_packet_list.h:18
static void sc_packet_list_append(struct sc_packet_list *l, struct sc_packet *p)
Append a packet to a list and finalise.
Definition: ext_packet_list.h:135
A list of packets or packet buffers.
Definition: ext_packet_list.h:14
#define SC_MEMBER_OFFSET(c_type, mbr_name)
Calculate memory offset of a field within a struct.
Definition: ext_packet.h:29
struct sc_packet * next
Definition: ext_packet.h:69
static struct sc_packet * sc_packet_list_pop_head(struct sc_packet_list *pl)
Remove and return the head of the list.
Definition: ext_packet_list.h:202
static void sc_packet_list_push_head(struct sc_packet_list *pl, struct sc_packet *p)
Push a packet to the head of a list.
Definition: ext_packet_list.h:104
struct sc_packet * head
Definition: ext_packet_list.h:15