Scroll to navigation

rte_tailq.h(3) DPDK rte_tailq.h(3)

NAME

rte_tailq.h

SYNOPSIS

#include <stdio.h>
#include <rte_debug.h>

Data Structures


struct rte_tailq_entry
struct rte_tailq_head

Macros


#define RTE_TAILQ_CAST(tailq_entry, struct_name) (struct struct_name *)&(tailq_entry)->tailq_head
#define RTE_TAILQ_LOOKUP(name, struct_name) RTE_TAILQ_CAST(rte_eal_tailq_lookup(name), struct_name)

Functions


RTE_TAILQ_HEAD (rte_tailq_entry_head, rte_tailq_entry)
void rte_dump_tailq (FILE *f)
struct rte_tailq_head * rte_eal_tailq_lookup (const char *name)
int rte_eal_tailq_register (struct rte_tailq_elem *t)

Detailed Description

Here defines rte_tailq APIs for only internal use

Definition in file rte_tailq.h.

Macro Definition Documentation

#define RTE_TAILQ_CAST(tailq_entry, struct_name) (struct struct_name *)&(tailq_entry)->tailq_head

Return the first tailq entry cast to the right struct.

Definition at line 56 of file rte_tailq.h.

#define RTE_TAILQ_LOOKUP(name, struct_name) RTE_TAILQ_CAST(rte_eal_tailq_lookup(name), struct_name)

Utility macro to make looking up a tailqueue for a particular struct easier.

Parameters

name The name of tailq
struct_name The name of the list type we are using. (Generally this is the same as the first parameter passed to TAILQ_HEAD macro)

Returns

The return value from rte_eal_tailq_lookup, typecast to the appropriate structure pointer type. NULL on error, since the tailq_head is the first element in the rte_tailq_head structure.

Definition at line 75 of file rte_tailq.h.

Function Documentation

RTE_TAILQ_HEAD (rte_tailq_entry_head, rte_tailq_entry)

dummy

void rte_dump_tailq (FILE * f)

Dump tail queues to a file.

Parameters

f A pointer to a file for output

struct rte_tailq_head* rte_eal_tailq_lookup (const char * name)

Lookup for a tail queue.

Get a pointer to a tail queue header of a tail queue identified by the name given as an argument. Note: this function is not multi-thread safe, and should only be called from a single thread at a time

Parameters

name The name of the queue.

Returns

A pointer to the tail queue head structure.

int rte_eal_tailq_register (struct rte_tailq_elem * t)

Register a tail queue.

Register a tail queue from shared memory. This function is mainly used by EAL_REGISTER_TAILQ macro which is used to register tailq from the different dpdk libraries. Since this macro is a constructor, the function has no access to dpdk shared memory, so the registered tailq can not be used before call to rte_eal_init() which calls rte_eal_tailqs_init().

Parameters

t The tailq element which contains the name of the tailq you want to create (/retrieve when in secondary process).

Returns

0 on success or -1 in case of an error.

Author

Generated automatically by Doxygen for DPDK from the source code.

Fri Dec 15 2023 Version 23.11.0