ChibiOS/RT  5.1.0
chsystypes.h
Go to the documentation of this file.
1 /*
2  ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio.
3 
4  This file is part of ChibiOS.
5 
6  ChibiOS is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 3 of the License, or
9  (at your option) any later version.
10 
11  ChibiOS is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 /**
21  * @file chsystypes.h
22  * @brief System types header.
23  *
24  * @addtogroup scheduler
25  * @{
26  */
27 
28 #ifndef CHSYSTYPES_H
29 #define CHSYSTYPES_H
30 
31 /*===========================================================================*/
32 /* Module constants. */
33 /*===========================================================================*/
34 
35 /*===========================================================================*/
36 /* Module pre-compile time settings. */
37 /*===========================================================================*/
38 
39 /*===========================================================================*/
40 /* Derived constants and error checks. */
41 /*===========================================================================*/
42 
43 /*===========================================================================*/
44 /* Module data structures and types. */
45 /*===========================================================================*/
46 
47 /**
48  * @extends threads_queue_t
49  *
50  * @brief Type of a thread structure.
51  */
52 typedef struct ch_thread thread_t;
53 
54 /**
55  * @brief Type of a thread reference.
56  */
58 
59 /**
60  * @brief Type of a generic threads single link list, it works like a stack.
61  */
63 
64 /**
65  * @extends threads_list_t
66  *
67  * @brief Type of a generic threads bidirectional linked list header and element.
68  */
70 
71 /**
72  * @extends threads_queue_t
73  *
74  * @brief Type of a ready list header.
75  */
76 typedef struct ch_ready_list ready_list_t;
77 
78 /**
79  * @brief Type of a Virtual Timer callback function.
80  */
81 typedef void (*vtfunc_t)(void *p);
82 
83 /**
84  * @brief Type of a Virtual Timer structure.
85  */
87 
88 /**
89  * @brief Type of virtual timers list header.
90  */
92 
93 /**
94  * @brief Type of a system debug structure.
95  */
97 
98 /**
99  * @brief Type of system data structure.
100  */
101 typedef struct ch_system ch_system_t;
102 
103 /*===========================================================================*/
104 /* Module macros. */
105 /*===========================================================================*/
106 
107 /**
108  * @brief Utility to make the parameter a quoted string.
109  */
110 #define __CH_STRINGIFY(a) #a
111 
112 /*===========================================================================*/
113 /* External declarations. */
114 /*===========================================================================*/
115 
116 #ifdef __cplusplus
117 extern "C" {
118 #endif
119 
120 #ifdef __cplusplus
121 }
122 #endif
123 
124 /*===========================================================================*/
125 /* Module inline functions. */
126 /*===========================================================================*/
127 
128 #endif /* CHSYSTYPES_H */
129 
130 /** @} */
System debug data structure.
Definition: chschd.h:379
Generic threads bidirectional linked list header and element.
Definition: chschd.h:142
struct ch_ready_list ready_list_t
Type of a ready list header.
Definition: chsystypes.h:76
void(* vtfunc_t)(void *p)
Type of a Virtual Timer callback function.
Definition: chsystypes.h:81
thread_t * thread_reference_t
Type of a thread reference.
Definition: chsystypes.h:57
Virtual timers list header.
Definition: chschd.h:340
Generic threads single link list, it works like a stack.
Definition: chschd.h:135
Virtual Timer descriptor structure.
Definition: chschd.h:324
System data structure.
Definition: chschd.h:411
Structure representing a thread.
Definition: chschd.h:153