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