2 * Hyper Operating System V4 Advance
5 * @brief %jp{itrncfgのパーサー}%en{perser for itrncfg.h}
7 * @version $Id: parssys.h,v 1.2 2006-10-08 05:30:35 ryuz Exp $
9 * Copyright (C) 1998-2006 by Project HOS
10 * http://sourceforge.jp/projects/hos/
14 #ifndef _KERNEL__prser_pitrncfg_h__
15 #define _KERNEL__prser_pitrncfg_h__
18 #if _KERNEL_CFG_MEM_ALIGN <= 0
19 #define _KERNEL_MEM_ALIGN (sizeof(void *))
21 #define _KERNEL_MEM_ALIGN _KERNEL_CFG_MEM_ALIGN
25 /* %jp{INT型のbit数を定義する} */
26 #if _KERNEL_CFG_TBIT_INT <= 0 /* default */
27 #define _KERNEL_TBIT_INT _KERNEL_TBIT_PROC_INT
29 #define _KERNEL_TBIT_INT _KERNEL_CFG_TBIT_INT
32 /* %jp{UINT型のbit数を定義する} */
33 #if _KERNEL_CFG_TBIT_UINT <= 0 /* default */
34 #define _KERNEL_TBIT_UINT _KERNEL_TBIT_PROC_UINT
36 #define _KERNEL_TBIT_UINT _KERNEL_CFG_TBIT_UINT
40 /* %jp{VP_INTをポインタ型とするか} */
41 #define _KERNEL_VP_INT_PTR _KERNEL_CFG_VP_INT_PTR
44 /* %jp{BOOL型のbit数を定義する} */
45 #if _KERNEL_CFG_TBIT_BOOL <= 0 /* default */
46 #define _KERNEL_TBIT_BOOL _KERNEL_TBIT_PROC_INT
48 #define _KERNEL_TBIT_BOOL _KERNEL_CFG_TBIT_BOOL
52 /* %jp{FN型のbit数を定義する}%en{Function code} */
53 #if _KERNEL_CFG_TBIT_FN <= 0 /* default */
54 #define _KERNEL_TBIT_FN _KERNEL_TBIT_PROC_INT
56 #define _KERNEL_TBIT_FN _KERNEL_CFG_TBIT_FN
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
64 #define _KERNEL_TBIT_ER _KERNEL_CFG_TBIT_ER
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
72 #define _KERNEL_TBIT_ID _KERNEL_CFG_TBIT_ID
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
80 #define _KERNEL_TBIT_ATR _KERNEL_CFG_TBIT_ATR
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
88 #define _KERNEL_TBIT_STAT _KERNEL_CFG_TBIT_STAT
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
96 #define _KERNEL_TBIT_MODE _KERNEL_CFG_TBIT_MODE
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
104 #define _KERNEL_TBIT_PRI _KERNEL_CFG_TBIT_PRI
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
112 #define _KERNEL_TBIT_SIZE _KERNEL_CFG_TBIT_SIZE
116 /* %jp{TMO型のbit数を定義する}%en{Timeout} */
117 #if _KERNEL_CFG_TBIT_TMO <= 0 /* default */
118 #define _KERNEL_TBIT_TMO _KERNEL_TBIT_PROC_INT
120 #define _KERNEL_TBIT_TMO _KERNEL_CFG_TBIT_TMO
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
128 #define _KERNEL_TBIT_RELTIM _KERNEL_CFG_TBIT_RELTIM
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
138 #define _KERNEL_TBIT_SYSTIM 32
141 #define _KERNEL_TBIT_SYSTIM _KERNEL_CFG_TBIT_SYSTIM
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
150 #define _KERNEL_TBIT_ER_BOOL _KERNEL_TBIT_BOOL
153 #define _KERNEL_TBIT_ER_BOOL _KERNEL_CFG_TBIT_ER_BOOL
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
162 #define _KERNEL_TBIT_ER_ID _KERNEL_TBIT_ID
165 #define _KERNEL_TBIT_ER_ID _KERNEL_CFG_TBIT_ER_ID
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
174 #define _KERNEL_TBIT_ER_UINT _KERNEL_TBIT_UINT
177 #define _KERNEL_TBIT_ER_UINT _KERNEL_CFG_TBIT_ER_UINT
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
186 #define _KERNEL_TBIT_TEXPTN _KERNEL_CFG_TBIT_TEXPTN
190 #if _KERNEL_CFG_TBIT_FLGPTN <= 0
191 #define _KERNEL_TBIT_FLGPTN _KERNEL_TBIT_PROC_UINT
193 #define _KERNEL_TBIT_FLGPTN _KERNEL_CFG_TBIT_FLGPTN
197 #if _KERNEL_CFG_TBIT_RDVPTN <= 0
198 #define _KERNEL_TBIT_RDVPTN _KERNEL_TBIT_PROC_UINT
200 #define _KERNEL_TBIT_RDVPTN _KERNEL_CFG_TBIT_RDVPTN
204 #if _KERNEL_CFG_TBIT_RDVNO <= 0
206 #define _KERNEL_TBIT_RDVNO _KERNEL_TBIT_PROC_UINT
208 #define _KERNEL_TBIT_RDVNO _KERNEL_CFG_TBIT_RDVNO
212 #if _KERNEL_CFG_TBIT_OVRTIM <= 0
213 #define _KERNEL_TBIT_OVRTIM _KERNEL_TBIT_PROC_INT
215 #define _KERNEL_TBIT_OVRTIM _KERNEL_CFG_TBIT_OVRTIM
219 #if _KERNEL_CFG_TBIT_INHNO <= 0
220 #define _KERNEL_TBIT_INHNO _KERNEL_TBIT_PROC_INT
222 #define _KERNEL_TBIT_INHNO _KERNEL_CFG_TBIT_INHNO
226 #if _KERNEL_CFG_TBIT_INTNO <= 0
227 #define _KERNEL_TBIT_INTNO _KERNEL_TBIT_PROC_INT
229 #define _KERNEL_TBIT_INTNO _KERNEL_CFG_TBIT_INTNO
233 #if _KERNEL_CFG_TBIT_EXCNO <= 0
234 #define _KERNEL_TBIT_EXCNO _KERNEL_TBIT_PROC_INT
236 #define _KERNEL_TBIT_EXCNO _KERNEL_CFG_TBIT_EXCNO
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} */
245 #define _KERNEL_TMAX_TPRI _KERNEL_CFG_TMAX_TPRI /**< %jp{タスク優先度の最大値}%en{Maximum task priority} */
248 #if _KERNEL_CFG_TMAX_MPRI <= 0
249 #define _KERNEL_TMAX_MPRI _KERNEL_TMAX_PROC_INT /**< %jp{メッセージ優先度の最大値}%en{Maximum message priority} */
251 #define _KERNEL_TMAX_MPRI _KERNEL_CFG_TMAX_MPRI /**< %jp{メッセージ優先度の最大値}%en{Maximum message priority} */
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の時デフォルト値)} */
260 #if _KERNEL_CFG_TMAX_ACTCNT < 0
261 #define _KERNEL_TMAX_ACTCNT _KERNEL_TMAX_UINT
263 #define _KERNEL_TMAX_ACTCNT _KERNEL_CFG_TMAX_ACTCNT
266 #if _KERNEL_CFG_TMAX_WUPCNT < 0
267 #define _KERNEL_TMAX_WUPCNT _KERNEL_TMAX_UINT
269 #define _KERNEL_TMAX_WUPCNT _KERNEL_CFG_TMAX_WUPCNT
272 #if _KERNEL_CFG_TMAX_SUSCNT < 0
273 #define _KERNEL_TMAX_SUSCNT _KERNEL_TMAX_UINT
275 #define _KERNEL_TMAX_SUSCNT _KERNEL_CFG_TMAX_SUSCNT
282 #if _KERNEL_CFG_TEX_TBIT_TEXPTN < 0 /**< %jp{タスク例外要因のビット数} */
283 #define _KERNEL_TEX_TBIT_TEXPTN _KERNEL_TBIT_TEXPTN
285 #define _KERNEL_TEX_TBIT_TEXPTN _KERNEL_CFG_TEX_TBIT_TEXPTN
288 #if _KERNEL_CFG_FLG_TBIT_FLGPTN < 0 /**< %jp{イベントフラグのビット数} */
289 #define _KERNEL_FLG_TBIT_FLGPTN _KERNEL_TBIT_FLGPTN
291 #define _KERNEL_FLG_TBIT_FLGPTN _KERNEL_CFG_FLG_TBIT_FLGPTN
294 #if _KERNEL_CFG_RDV_TBIT_RDVPTN < 0
295 #define _KERNEL_RDV_TBIT_RDVPTN _KERNEL_TBIT_RDVPTN /**< %jp{ランデブ条件のビット数} */
297 #define _KERNEL_RDV_TBIT_RDVPTN _KERNEL_CFG_RDV_TBIT_RDVPTN
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
305 #define _KERNEL_TMAX_MAXSEM _KERNEL_CFG_TMAX_MAXSEM
310 #endif /* _KERNEL__prser_pitrncfg_h__ */