TNeo  v1.08
tn_list.h
Go to the documentation of this file.
1 /*******************************************************************************
2  *
3  * TNeo: real-time kernel initially based on TNKernel
4  *
5  * TNKernel: copyright 2004, 2013 Yuri Tiomkin.
6  * PIC32-specific routines: copyright 2013, 2014 Anders Montonen.
7  * TNeo: copyright 2014 Dmitry Frank.
8  *
9  * TNeo was born as a thorough review and re-implementation of
10  * TNKernel. The new kernel has well-formed code, inherited bugs are fixed
11  * as well as new features being added, and it is tested carefully with
12  * unit-tests.
13  *
14  * API is changed somewhat, so it's not 100% compatible with TNKernel,
15  * hence the new name: TNeo.
16  *
17  * Permission to use, copy, modify, and distribute this software in source
18  * and binary forms and its documentation for any purpose and without fee
19  * is hereby granted, provided that the above copyright notice appear
20  * in all copies and that both that copyright notice and this permission
21  * notice appear in supporting documentation.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE DMITRY FRANK AND CONTRIBUTORS "AS IS"
24  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DMITRY FRANK OR CONTRIBUTORS BE
27  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
33  * THE POSSIBILITY OF SUCH DAMAGE.
34  *
35  ******************************************************************************/
36 
37 /**
38  * \file
39  * Circular doubly linked list, for internal kernel usage.
40  */
41 
42 
43 
44 #ifndef _TN_LIST_H
45 #define _TN_LIST_H
46 
47 
48 /*******************************************************************************
49  * INCLUDED FILES
50  ******************************************************************************/
51 
52 #ifdef __cplusplus
53 extern "C" { /*}*/
54 #endif
55 
56 /*******************************************************************************
57  * PUBLIC TYPES
58  ******************************************************************************/
59 
60 /**
61  * Circular doubly linked list item, for internal kernel usage.
62  */
63 struct TN_ListItem {
64  ///
65  /// pointer to previous item
66  struct TN_ListItem *prev;
67  ///
68  /// pointer to next item
69  struct TN_ListItem *next;
70 };
71 
72 /*******************************************************************************
73  * PROTECTED GLOBAL DATA
74  ******************************************************************************/
75 
76 /*******************************************************************************
77  * DEFINITIONS
78  ******************************************************************************/
79 
80 /*******************************************************************************
81  * PUBLIC FUNCTION PROTOTYPES
82  ******************************************************************************/
83 
84 #ifdef __cplusplus
85 } /* extern "C" */
86 #endif
87 
88 
89 #endif // _TN_LIST_H
90 
91 /*******************************************************************************
92  * end of file
93  ******************************************************************************/
94 
95 
struct TN_ListItem * prev
pointer to previous item
Definition: tn_list.h:66
struct TN_ListItem * next
pointer to next item
Definition: tn_list.h:69
Circular doubly linked list item, for internal kernel usage.
Definition: tn_list.h:63