TNeoKernel  v1.03
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
tn.h
Go to the documentation of this file.
1 /*******************************************************************************
2  *
3  * TNeoKernel: 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  * TNeoKernel: copyright © 2014 Dmitry Frank.
8  *
9  * TNeoKernel 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: TNeoKernel.
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  *
40  * The main kernel header file that should be included by user application;
41  * it merely includes subsystem-specific kernel headers.
42  */
43 
44 #ifndef _TN_H
45 #define _TN_H
46 
47 /*******************************************************************************
48  * INCLUDED FILES
49  ******************************************************************************/
50 
51 #include "core/tn_sys.h"
52 #include "core/tn_common.h"
53 #include "core/tn_dqueue.h"
54 #include "core/tn_eventgrp.h"
55 #include "core/tn_fmem.h"
56 #include "core/tn_mutex.h"
57 #include "core/tn_sem.h"
58 #include "core/tn_tasks.h"
59 #include "core/tn_list.h"
60 #include "core/tn_timer.h"
61 
62 
63 //-- include old symbols for compatibility with old projects
64 #include "core/tn_oldsymbols.h"
65 
66 
67 /*******************************************************************************
68  * PUBLIC TYPES
69  ******************************************************************************/
70 
71 /*******************************************************************************
72  * GLOBAL VARIABLES
73  ******************************************************************************/
74 
75 /*******************************************************************************
76  * DEFINITIONS
77  ******************************************************************************/
78 
79 /*******************************************************************************
80  * PUBLIC FUNCTION PROTOTYPES
81  ******************************************************************************/
82 
83 
84 #endif // _TN_H
85 
86 
87 /*******************************************************************************
88  * end of file
89  ******************************************************************************/
90 
91 
A mutex is an object used to protect shared resource.
Definitions used through the whole kernel.
Timer is a kernel object that is used to ask the kernel to call some user-provided function at a part...
Fixed memory blocks pool.
Event group.
Various task services: create, sleep, wake up, terminate, etc.
Kernel system routines: system start, tick processing, time slice managing.
Compatibility layer for old projects that use old TNKernel names; usage of them in new projects is di...
A semaphore: an object to provide signaling mechanism.
A data queue is a FIFO that stores pointer (of type void *) in each cell, called (in uITRON style) a ...