AM263x MCU+ SDK  09.02.00
ub_llist.h File Reference

Introduction

Doubly linked list.

Go to the source code of this file.

Data Structures

struct  ub_list_node
 ub_list node structure More...
 
struct  ub_list
 Link ub_list structure. More...
 

Macros

#define UB_LIST_NODE_INIT   {NULL, NULL, NULL}
 Initialize members of ub_list node. More...
 
#define UB_LIST_INIT   {NULL, NULL, 0}
 Initialize ub_list. More...
 
#define UB_LIST_FOREACH_ITER(ub_list, node)    (node) = ub_list_head((ub_list)); (node); (node) = (node)->next
 Traverse the ub_list. More...
 

Typedefs

typedef void() ub_list_node_clear_h(struct ub_list_node *node, void *arg)
 function to clean up node More...
 
typedef bool() ub_list_sort_h(struct ub_list_node *node1, struct ub_list_node *node2, void *arg)
 Comparator function handler for nodes. More...
 
typedef bool() ub_list_apply_h(struct ub_list_node *node, void *arg)
 Apply function handler for nodes. More...
 

Functions

void ub_list_init (struct ub_list *ub_list)
 Initialize ub_list. More...
 
void ub_list_clear (struct ub_list *ub_list, ub_list_node_clear_h node_clear, void *arg)
 Clear the ub_list without freeing any nodes. More...
 
void ub_list_append (struct ub_list *ub_list, struct ub_list_node *node)
 Append a node at the end of the ub_list. More...
 
void ub_list_prepend (struct ub_list *ub_list, struct ub_list_node *node)
 Append a node at the start of the ub_list. More...
 
void ub_list_insert_before (struct ub_list *ub_list, struct ub_list_node *refnode, struct ub_list_node *node)
 Append a node before a reference node. More...
 
void ub_list_insert_after (struct ub_list *ub_list, struct ub_list_node *refnode, struct ub_list_node *node)
 Append a node after a reference node. More...
 
void ub_list_unlink (struct ub_list *ub_list, struct ub_list_node *node)
 Remove a node from the ub_list. More...
 
void ub_list_sort (struct ub_list *ub_list, ub_list_sort_h *sh, void *arg)
 Sort entries in the ub_list based on comparator. More...
 
struct ub_list_nodeub_list_apply (const struct ub_list *ub_list, bool fwd, ub_list_apply_h *ah, void *arg)
 Apply function to nodes in the ub_list. More...
 
struct ub_list_nodeub_list_head (const struct ub_list *ub_list)
 Get first entry of the ub_list. More...
 
struct ub_list_nodeub_list_tail (const struct ub_list *ub_list)
 Get last entry of the ub_list. More...
 
uint32_t ub_list_count (const struct ub_list *ub_list)
 Get number of entries. More...
 
static void * ub_list_nodedata (const struct ub_list_node *node)
 Get data of node. More...
 
static bool ub_list_isempty (const struct ub_list *ub_list)
 Check if ub_list is empty. More...