FreeRTOS C-Addons  1.1.0
C-Addon functionality to FreeRTOS
Functions
dlist.c File Reference
#include <stdlib.h>
#include "dlist.h"
Include dependency graph for dlist.c:

Go to the source code of this file.

Functions

void DlInsertNodeAfter (DlNode_t *Marker, DlNode_t *Node)
 
void DlInsertNodeBefore (DlNode_t *Marker, DlNode_t *Node)
 
void DlAddNodeToHead (DlNode_t *Head, DlNode_t *Node)
 
void DlAddNodeToTail (DlNode_t *Head, DlNode_t *Node)
 
void DlRemoveNode (DlNode_t *Node)
 
DlNode_t * DlRemoveNodeFromHead (DlNode_t *Head)
 
DlNode_t * DlRemoveNodeFromTail (DlNode_t *Head)
 

Function Documentation

◆ DlAddNodeToHead()

void DlAddNodeToHead ( DlNode_t *  Head,
DlNode_t *  Node 
)

Add a node to the list head. Runs in O(1) time.

Parameters
HeadA pointer to the existing list head.
NodeA pointer to the node you are adding.

Definition at line 68 of file dlist.c.

◆ DlAddNodeToTail()

void DlAddNodeToTail ( DlNode_t *  Head,
DlNode_t *  Node 
)

Add a node to the list tail. Runs in O(1) time.

Parameters
HeadA pointer to the existing list head.
NodeA pointer to the node you are adding.

Definition at line 75 of file dlist.c.

◆ DlInsertNodeAfter()

void DlInsertNodeAfter ( DlNode_t *  Marker,
DlNode_t *  Node 
)

Inserts a new node into the list right after the marker element. Runs in O(1) time.

Parameters
MarkerThe node you are inserting after. Cannot be NULL.
NodeThe node you are inserting. Cannot be NULL.

Definition at line 44 of file dlist.c.

◆ DlInsertNodeBefore()

void DlInsertNodeBefore ( DlNode_t *  Marker,
DlNode_t *  Node 
)

Inserts a new node into the list right before the marker element. Runs in O(1) time.

Parameters
MarkerNode you are inserting before. Cannot be NULL.
NodeThe node you are inserting. Cannot be NULL.

Definition at line 61 of file dlist.c.

◆ DlRemoveNode()

void DlRemoveNode ( DlNode_t *  Node)

Removes a node from the list. Runs in O(1) time.

Parameters
NodeThe node you are removing.

Definition at line 82 of file dlist.c.

◆ DlRemoveNodeFromHead()

DlNode_t* DlRemoveNodeFromHead ( DlNode_t *  Head)

Removes the node from the list head. Runs in O(1) time.

Parameters
HeadA pointer to the existing list head.
Returns
The node removed, or NULL for an empty list.

Definition at line 92 of file dlist.c.

◆ DlRemoveNodeFromTail()

DlNode_t* DlRemoveNodeFromTail ( DlNode_t *  Head)

Removes the node from the list tail. Runs in O(1) time.

Parameters
HeadA pointer to the existing list head.
Returns
The node removed, or NULL for an empty list.

Definition at line 112 of file dlist.c.