My fork of X_NUCLEO_IDB0XA1
Fork of X_NUCLEO_IDB0XA1 by
Diff: source/bluenrg-hci/utils/list.c
- Revision:
- 306:3a7d9f923493
- Parent:
- 252:0c2cb16a7166
- Parent:
- 305:3d978a7bffc9
--- a/source/bluenrg-hci/utils/list.c Mon Jun 27 15:51:20 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,119 +0,0 @@ -/******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** -* File Name : list.c -* Author : AMS - HEA&RF BU -* Version : V1.0.0 -* Date : 19-July-2012 -* Description : Circular Linked List Implementation. -******************************************************************************** -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -*******************************************************************************/ - -/****************************************************************************** - * Include Files -******************************************************************************/ -#include <hal_types.h> -#include "list.h" - -/****************************************************************************** - * Function Definitions -******************************************************************************/ -void list_init_head (tListNode * listHead) -{ - listHead->next = listHead; - listHead->prev = listHead; -} - -uint8_t list_is_empty (tListNode * listHead) -{ - return ((listHead->next == listHead)? TRUE:FALSE); -} - -void list_insert_head (tListNode * listHead, tListNode * node) -{ - node->next = listHead->next; - node->prev = listHead; - listHead->next = node; - (node->next)->prev = node; -} - - -void list_insert_tail (tListNode * listHead, tListNode * node) -{ - node->next = listHead; - node->prev = listHead->prev; - listHead->prev = node; - (node->prev)->next = node; -} - - -void list_remove_node (tListNode * node) -{ - (node->prev)->next = node->next; - (node->next)->prev = node->prev; -} - - -void list_remove_head (tListNode * listHead, tListNode ** node ) -{ - *node = listHead->next; - list_remove_node (listHead->next); - (*node)->next = NULL; - (*node)->prev = NULL; -} - - -void list_remove_tail (tListNode * listHead, tListNode ** node ) -{ - *node = listHead->prev; - list_remove_node (listHead->prev); - (*node)->next = NULL; - (*node)->prev = NULL; -} - - -void list_insert_node_after (tListNode * node, tListNode * ref_node) -{ - node->next = ref_node->next; - node->prev = ref_node; - ref_node->next = node; - (node->next)->prev = node; -} - - -void list_insert_node_before (tListNode * node, tListNode * ref_node) -{ - node->next = ref_node; - node->prev = ref_node->prev; - ref_node->prev = node; - (node->prev)->next = node; -} - - -int list_get_size (tListNode * listHead) -{ - int size = 0; - tListNode * temp = listHead->next; - while (temp != listHead) - { - size++; - temp = temp->next; - } - return (size); -} - -void list_get_next_node (tListNode * ref_node, tListNode ** node) -{ - *node = ref_node->next; -} - - -void list_get_prev_node (tListNode * ref_node, tListNode ** node) -{ - *node = ref_node->prev; -} -