TNeo  BETA v1.08-11-g97e5a6d
tn.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  *
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_timer.h"
60 
61 
62 //-- include old symbols for compatibility with old projects
63 #include "core/tn_oldsymbols.h"
64 
65 
66 /*******************************************************************************
67  * PUBLIC TYPES
68  ******************************************************************************/
69 
70 /*******************************************************************************
71  * PROTECTED GLOBAL DATA
72  ******************************************************************************/
73 
74 /*******************************************************************************
75  * DEFINITIONS
76  ******************************************************************************/
77 
78 /*******************************************************************************
79  * PUBLIC FUNCTION PROTOTYPES
80  ******************************************************************************/
81 
82 
83 #endif // _TN_H
84 
85 
86 /*******************************************************************************
87  * end of file
88  ******************************************************************************/
89 
90 
A mutex is an object used to protect shared resources.
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.
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 ...