OSDN Git Service

(none)
[hos/hos-v4a.git] / kernel / include / parser / parssys.h
1 /** 
2  *  Hyper Operating System V4 Advance
3  *
4  * @file  pitrncfg.h
5  * @brief %jp{itrncfgのパーサー}%en{perser for itrncfg.h}
6  *
7  * @version $Id: parssys.h,v 1.2 2006-10-08 05:30:35 ryuz Exp $
8  *
9  * Copyright (C) 1998-2006 by Project HOS
10  * http://sourceforge.jp/projects/hos/
11  */
12
13
14 #ifndef _KERNEL__prser_pitrncfg_h__
15 #define _KERNEL__prser_pitrncfg_h__
16
17
18 #if _KERNEL_CFG_MEM_ALIGN <= 0
19 #define _KERNEL_MEM_ALIGN                       (sizeof(void *))
20 #else
21 #define _KERNEL_MEM_ALIGN                       _KERNEL_CFG_MEM_ALIGN
22 #endif
23
24
25 /* %jp{INT型のbit数を定義する} */
26 #if _KERNEL_CFG_TBIT_INT <= 0           /* default */
27 #define _KERNEL_TBIT_INT                _KERNEL_TBIT_PROC_INT
28 #else
29 #define _KERNEL_TBIT_INT                _KERNEL_CFG_TBIT_INT
30 #endif
31
32 /* %jp{UINT型のbit数を定義する} */
33 #if _KERNEL_CFG_TBIT_UINT <= 0          /* default */
34 #define _KERNEL_TBIT_UINT               _KERNEL_TBIT_PROC_UINT
35 #else
36 #define _KERNEL_TBIT_UINT               _KERNEL_CFG_TBIT_UINT
37 #endif
38
39
40 /* %jp{VP_INTをポインタ型とするか} */
41 #define _KERNEL_VP_INT_PTR              _KERNEL_CFG_VP_INT_PTR
42
43
44 /* %jp{BOOL型のbit数を定義する} */
45 #if _KERNEL_CFG_TBIT_BOOL <= 0          /* default */
46 #define _KERNEL_TBIT_BOOL               _KERNEL_TBIT_PROC_INT
47 #else
48 #define _KERNEL_TBIT_BOOL               _KERNEL_CFG_TBIT_BOOL
49 #endif
50
51
52 /*  %jp{FN型のbit数を定義する}%en{Function code} */
53 #if _KERNEL_CFG_TBIT_FN <= 0                    /* default */
54 #define _KERNEL_TBIT_FN                 _KERNEL_TBIT_PROC_INT
55 #else
56 #define _KERNEL_TBIT_FN                 _KERNEL_CFG_TBIT_FN
57 #endif
58
59
60 /* %jp{ER型のbit数を定義する}%en{Error code(signed integer)} */
61 #if _KERNEL_CFG_TBIT_ER <= 0                    /* default */
62 #define _KERNEL_TBIT_ER                 _KERNEL_TBIT_PROC_INT
63 #else
64 #define _KERNEL_TBIT_ER                 _KERNEL_CFG_TBIT_ER
65 #endif
66
67
68 /* %jp{ID型のbit数を定義する}%en{Object ID number(signed integer)} */
69 #if _KERNEL_CFG_TBIT_ID <= 0                    /* default */
70 #define _KERNEL_TBIT_ID                 _KERNEL_TBIT_PROC_INT
71 #else
72 #define _KERNEL_TBIT_ID                 _KERNEL_CFG_TBIT_ID
73 #endif
74
75
76 /* %jp{ATR型のbit数を定義する}%en{Object attribute(unsigned integer)} */
77 #if _KERNEL_CFG_TBIT_ATR <= 0           /* default */
78 #define _KERNEL_TBIT_ATR                        _KERNEL_TBIT_PROC_UINT
79 #else
80 #define _KERNEL_TBIT_ATR                        _KERNEL_CFG_TBIT_ATR
81 #endif
82
83
84 /* %jp{STAT型のbit数を定義する}%en{Object state(unsigned integer)} */
85 #if _KERNEL_CFG_TBIT_STAT <= 0          /* default */
86 #define _KERNEL_TBIT_STAT               _KERNEL_TBIT_PROC_UINT
87 #else
88 #define _KERNEL_TBIT_STAT               _KERNEL_CFG_TBIT_STAT
89 #endif
90
91
92 /* %jp{MODE型のbit数を定義する}%en{Service call operational mode(unsigned integer)} */
93 #if _KERNEL_CFG_TBIT_MODE <= 0          /* default */
94 #define _KERNEL_TBIT_MODE               _KERNEL_TBIT_PROC_UINT
95 #else
96 #define _KERNEL_TBIT_MODE               _KERNEL_CFG_TBIT_MODE
97 #endif
98
99
100 /* %jp{PRI型のbit数を定義する}%en{Priority(signed integer)} */
101 #if _KERNEL_CFG_TBIT_PRI <= 0           /* default */
102 #define _KERNEL_TBIT_PRI                _KERNEL_TBIT_PROC_INT
103 #else
104 #define _KERNEL_TBIT_PRI                _KERNEL_CFG_TBIT_PRI
105 #endif
106
107
108 /* %jp{SIZE型のbit数を定義する}%en{Memory area size(unsigned integer)} */
109 #if _KERNEL_CFG_TBIT_SIZE <= 0          /* default */
110 #define _KERNEL_TBIT_SIZE               _KERNEL_TBIT_UINTPTR
111 #else
112 #define _KERNEL_TBIT_SIZE               _KERNEL_CFG_TBIT_SIZE
113 #endif
114
115
116 /* %jp{TMO型のbit数を定義する}%en{Timeout} */
117 #if _KERNEL_CFG_TBIT_TMO <= 0           /* default */
118 #define _KERNEL_TBIT_TMO                _KERNEL_TBIT_PROC_INT
119 #else
120 #define _KERNEL_TBIT_TMO                _KERNEL_CFG_TBIT_TMO
121 #endif
122
123
124 /* %jp{RELTIM型のbit数を定義する}%en{Relative time(unsigned integer, unit of time is implementation-defined)} */
125 #if _KERNEL_CFG_TBIT_RELTIM <= 0                /* default */
126 #define _KERNEL_TBIT_RELTIM             _KERNEL_TBIT_PROC_UINT
127 #else
128 #define _KERNEL_TBIT_RELTIM             _KERNEL_CFG_TBIT_RELTIM
129 #endif
130
131
132 /* %jp{SYSTIM型のbit数を定義する}%en{System time(unsigned integer, unit of time is implementation-defined)} */
133 #define _KERNEL_SYSTIM_STRUCT   _KERNEL_CFG_SYSTIM_STRUCT
134 #if _KERNEL_CFG_TBIT_SYSTIM < 0         /* default */
135 #if _KERNEL_SYSTIM_STRUCT               /* %jp{構造体化するなら} */
136 #define _KERNEL_TBIT_SYSTIM             48
137 #else
138 #define _KERNEL_TBIT_SYSTIM             32
139 #endif
140 #else
141 #define _KERNEL_TBIT_SYSTIM             _KERNEL_CFG_TBIT_SYSTIM
142 #endif
143
144
145 /* %jp{ER_BOOL型のbit数を定義する}%en{Error code or a boolean value} */
146 #if _KERNEL_CFG_TBIT_ER_BOOL <= 0
147 #if _KERNEL_TBIT_ER >= _KERNEL_TBIT_BOOL
148 #define _KERNEL_TBIT_ER_BOOL    _KERNEL_TBIT_ER
149 #else
150 #define _KERNEL_TBIT_ER_BOOL    _KERNEL_TBIT_BOOL
151 #endif
152 #else
153 #define _KERNEL_TBIT_ER_BOOL    _KERNEL_CFG_TBIT_ER_BOOL
154 #endif
155
156
157 /* %jp{ER_IDのbit数を定義する}%en{Error code or an object ID number} */
158 #if _KERNEL_CFG_TBIT_ER_ID <= 0
159 #if _KERNEL_TBIT_ER >= _KERNEL_TBIT_ID
160 #define _KERNEL_TBIT_ER_ID              _KERNEL_TBIT_ER
161 #else
162 #define _KERNEL_TBIT_ER_ID              _KERNEL_TBIT_ID
163 #endif
164 #else
165 #define _KERNEL_TBIT_ER_ID              _KERNEL_CFG_TBIT_ER_ID
166 #endif
167
168
169 /**< %jp{ER_UINTのbit数を定義する}%en{Error code or an unsigned integer} */
170 #if _KERNEL_CFG_TBIT_ER_UINT <= 0
171 #if _KERNEL_TBIT_ER >= _KERNEL_TBIT_UINT
172 #define _KERNEL_TBIT_ER_UINT    _KERNEL_TBIT_ER
173 #else
174 #define _KERNEL_TBIT_ER_UINT    _KERNEL_TBIT_UINT
175 #endif
176 #else
177 #define _KERNEL_TBIT_ER_UINT    _KERNEL_CFG_TBIT_ER_UINT
178 #endif
179
180
181
182 /**< %jp{タスク例外要因のパターン(符号無し整数)}%en{Bit pattern for the task exception code(unsigned integer)} */
183 #if _KERNEL_CFG_TBIT_TEXPTN <= 0
184 #define _KERNEL_TBIT_TEXPTN             _KERNEL_TBIT_PROC_UINT
185 #else
186 #define _KERNEL_TBIT_TEXPTN             _KERNEL_CFG_TBIT_TEXPTN
187 #endif
188
189
190 #if _KERNEL_CFG_TBIT_FLGPTN <= 0
191 #define _KERNEL_TBIT_FLGPTN             _KERNEL_TBIT_PROC_UINT
192 #else
193 #define _KERNEL_TBIT_FLGPTN             _KERNEL_CFG_TBIT_FLGPTN
194 #endif
195
196
197 #if _KERNEL_CFG_TBIT_RDVPTN <= 0
198 #define _KERNEL_TBIT_RDVPTN             _KERNEL_TBIT_PROC_UINT
199 #else
200 #define _KERNEL_TBIT_RDVPTN             _KERNEL_CFG_TBIT_RDVPTN
201 #endif
202
203
204 #if _KERNEL_CFG_TBIT_RDVNO <= 0
205
206 #define _KERNEL_TBIT_RDVNO              _KERNEL_TBIT_PROC_UINT
207 #else
208 #define _KERNEL_TBIT_RDVNO              _KERNEL_CFG_TBIT_RDVNO
209 #endif
210
211
212 #if _KERNEL_CFG_TBIT_OVRTIM <= 0
213 #define _KERNEL_TBIT_OVRTIM             _KERNEL_TBIT_PROC_INT
214 #else
215 #define _KERNEL_TBIT_OVRTIM             _KERNEL_CFG_TBIT_OVRTIM
216 #endif
217
218
219 #if _KERNEL_CFG_TBIT_INHNO <= 0
220 #define _KERNEL_TBIT_INHNO              _KERNEL_TBIT_PROC_INT
221 #else
222 #define _KERNEL_TBIT_INHNO              _KERNEL_CFG_TBIT_INHNO
223 #endif
224
225
226 #if _KERNEL_CFG_TBIT_INTNO <= 0
227 #define _KERNEL_TBIT_INTNO              _KERNEL_TBIT_PROC_INT
228 #else
229 #define _KERNEL_TBIT_INTNO              _KERNEL_CFG_TBIT_INTNO
230 #endif
231
232
233 #if _KERNEL_CFG_TBIT_EXCNO <= 0
234 #define _KERNEL_TBIT_EXCNO              _KERNEL_TBIT_PROC_INT
235 #else
236 #define _KERNEL_TBIT_EXCNO              _KERNEL_CFG_TBIT_EXCNO
237 #endif
238
239
240 /* */
241 /* %jp{優先度の範囲}%en{Priority Range} */
242 #if _KERNEL_CFG_TMAX_TPRI <= 0
243 #define _KERNEL_TMAX_TPRI               _KERNEL_TMAX_PROC_INT                                   /**< %jp{タスク優先度の最大値}%en{Maximum task priority} */
244 #else
245 #define _KERNEL_TMAX_TPRI               _KERNEL_CFG_TMAX_TPRI                                   /**< %jp{タスク優先度の最大値}%en{Maximum task priority} */
246 #endif
247
248 #if _KERNEL_CFG_TMAX_MPRI <= 0
249 #define _KERNEL_TMAX_MPRI               _KERNEL_TMAX_PROC_INT                                   /**< %jp{メッセージ優先度の最大値}%en{Maximum message priority} */
250 #else
251 #define _KERNEL_TMAX_MPRI               _KERNEL_CFG_TMAX_MPRI                                   /**< %jp{メッセージ優先度の最大値}%en{Maximum message priority} */
252 #endif
253
254
255 /* %jp{キューイング/ネスト回数の最大値}%en{Maximum Nesting/Queueing Count} */
256 /*#define _KERNEL_TMAX_ACTCNT           _KERNEL_CFG_TMAX_ACTCNT */                              /**< %jp{タスク起動要求キューイング数の最大値(-1の時デフォルト値)} */
257 /*#define _KERNEL_TMAX_WUPCNT           _KERNEL_CFG_TMAX_WUPCNT */                                      /**< %jp{タスク起床要求キューイング数の最大値(-1の時デフォルト値)} */
258 /*#define _KERNEL_TMAX_SUSCNT           _KERNEL_CFG_TMAX_SUSCNT */                              /**< %jp{タスク強制待ち要求ネスト数の最大値(-1の時デフォルト値)} */
259
260 #if _KERNEL_CFG_TMAX_ACTCNT < 0
261 #define _KERNEL_TMAX_ACTCNT                     _KERNEL_TMAX_UINT
262 #else
263 #define _KERNEL_TMAX_ACTCNT                     _KERNEL_CFG_TMAX_ACTCNT
264 #endif
265
266 #if _KERNEL_CFG_TMAX_WUPCNT < 0
267 #define _KERNEL_TMAX_WUPCNT                     _KERNEL_TMAX_UINT
268 #else
269 #define _KERNEL_TMAX_WUPCNT                     _KERNEL_CFG_TMAX_WUPCNT
270 #endif
271
272 #if _KERNEL_CFG_TMAX_SUSCNT     < 0
273 #define _KERNEL_TMAX_SUSCNT                     _KERNEL_TMAX_UINT
274 #else
275 #define _KERNEL_TMAX_SUSCNT                     _KERNEL_CFG_TMAX_SUSCNT
276 #endif
277
278
279
280 /* */
281
282 #if _KERNEL_CFG_TEX_TBIT_TEXPTN < 0                                                             /**< %jp{タスク例外要因のビット数} */
283 #define _KERNEL_TEX_TBIT_TEXPTN _KERNEL_TBIT_TEXPTN
284 #else
285 #define _KERNEL_TEX_TBIT_TEXPTN _KERNEL_CFG_TEX_TBIT_TEXPTN
286 #endif
287
288 #if _KERNEL_CFG_FLG_TBIT_FLGPTN < 0                                                             /**< %jp{イベントフラグのビット数} */
289 #define _KERNEL_FLG_TBIT_FLGPTN _KERNEL_TBIT_FLGPTN
290 #else
291 #define _KERNEL_FLG_TBIT_FLGPTN _KERNEL_CFG_FLG_TBIT_FLGPTN
292 #endif
293
294 #if _KERNEL_CFG_RDV_TBIT_RDVPTN < 0
295 #define _KERNEL_RDV_TBIT_RDVPTN _KERNEL_TBIT_RDVPTN                             /**< %jp{ランデブ条件のビット数} */
296 #else
297 #define _KERNEL_RDV_TBIT_RDVPTN _KERNEL_CFG_RDV_TBIT_RDVPTN
298 #endif
299
300
301 /* %jp{セマフォの最大値}%en{Maximum value of the maximum definable semaphore resource count} */
302 #if _KERNEL_CFG_TMAX_MAXSEM <= 0
303 #define _KERNEL_TMAX_MAXSEM             _KERNEL_TMAX_PROC_UINT
304 #else
305 #define _KERNEL_TMAX_MAXSEM             _KERNEL_CFG_TMAX_MAXSEM
306 #endif
307
308
309
310 #endif  /* _KERNEL__prser_pitrncfg_h__ */
311
312
313 /* end of file */