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)
#define RTE_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)
Value:
    (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)
Value:
    __extension__ ({ \
    struct rte_tailq_head *head = rte_eal_tailq_lookup(name); \
    head == NULL ? NULL : RTE_TAILQ_CAST(head, 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.

Definition at line 74 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.