2 * Hyper Operating System V4 Advance
5 * @brief %jp{itrncfgのパーサー}%en{perser for itrncfg.h}
7 * @version $Id: parssys.h,v 1.1 2006-08-16 16:27:03 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_IDのbit数を定義する}%en{Error code or an object ID number} */
170 #if _KERNEL_CFG_TBIT_ER_ID <= 0
171 #if _KERNEL_TBIT_ER >= _KERNEL_TBIT_ID
172 #define _KERNEL_TBIT_ER_ID _KERNEL_TBIT_ER
174 #define _KERNEL_TBIT_ER_ID _KERNEL_TBIT_ID
177 #define _KERNEL_TBIT_ER_ID _KERNEL_CFG_TBIT_ER_ID
181 /**< %jp{ER_UINTのbit数を定義する}%en{Error code or an unsigned integer} */
182 #if _KERNEL_CFG_TBIT_ER_UINT <= 0
183 #if _KERNEL_TBIT_ER >= _KERNEL_TBIT_UINT
184 #define _KERNEL_TBIT_ER_UINT _KERNEL_TBIT_ER
186 #define _KERNEL_TBIT_ER_UINT _KERNEL_TBIT_UINT
189 #define _KERNEL_TBIT_ER_UINT _KERNEL_CFG_TBIT_ER_UINT
194 /**< %jp{タスク例外要因のパターン(符号無し整数)}%en{Bit pattern for the task exception code(unsigned integer)} */
195 #if _KERNEL_CFG_TBIT_TEXPTN <= 0
196 #define _KERNEL_TBIT_TEXPTN _KERNEL_TBIT_PROC_UINT
198 #define _KERNEL_TBIT_TEXPTN _KERNEL_CFG_TBIT_TEXPTN
202 #if _KERNEL_CFG_TBIT_FLGPTN <= 0
203 #define _KERNEL_TBIT_FLGPTN _KERNEL_TBIT_PROC_UINT
205 #define _KERNEL_TBIT_FLGPTN _KERNEL_CFG_TBIT_FLGPTN
209 #if _KERNEL_CFG_TBIT_RDVPTN <= 0
210 #define _KERNEL_TBIT_RDVPTN _KERNEL_TBIT_PROC_UINT
212 #define _KERNEL_TBIT_RDVPTN _KERNEL_CFG_TBIT_RDVPTN
216 #if _KERNEL_CFG_TBIT_RDVNO <= 0
218 #define _KERNEL_TBIT_RDVNO _KERNEL_TBIT_PROC_UINT
220 #define _KERNEL_TBIT_RDVNO _KERNEL_CFG_TBIT_RDVNO
224 #if _KERNEL_CFG_TBIT_OVRTIM <= 0
225 #define _KERNEL_TBIT_OVRTIM _KERNEL_TBIT_PROC_INT
227 #define _KERNEL_TBIT_OVRTIM _KERNEL_CFG_TBIT_OVRTIM
231 #if _KERNEL_CFG_TBIT_INHNO <= 0
232 #define _KERNEL_TBIT_INHNO _KERNEL_TBIT_PROC_INT
234 #define _KERNEL_TBIT_INHNO _KERNEL_CFG_TBIT_INHNO
238 #if _KERNEL_CFG_TBIT_INTNO <= 0
239 #define _KERNEL_TBIT_INTNO _KERNEL_TBIT_PROC_INT
241 #define _KERNEL_TBIT_INTNO _KERNEL_CFG_TBIT_INTNO
245 #if _KERNEL_CFG_TBIT_EXCNO <= 0
246 #define _KERNEL_TBIT_EXCNO _KERNEL_TBIT_PROC_INT
248 #define _KERNEL_TBIT_EXCNO _KERNEL_CFG_TBIT_EXCNO
253 /* %jp{優先度の範囲}%en{Priority Range} */
254 #if _KERNEL_CFG_TMAX_TPRI <= 0
255 #define _KERNEL_TMAX_TPRI _KERNEL_TMAX_PROC_INT /**< %jp{タスク優先度の最大値}%en{Maximum task priority} */
257 #define _KERNEL_TMAX_TPRI _KERNEL_CFG_TMAX_TPRI /**< %jp{タスク優先度の最大値}%en{Maximum task priority} */
260 #if _KERNEL_CFG_TMAX_MPRI <= 0
261 #define _KERNEL_TMAX_MPRI _KERNEL_TMAX_PROC_INT /**< %jp{メッセージ優先度の最大値}%en{Maximum message priority} */
263 #define _KERNEL_TMAX_MPRI _KERNEL_CFG_TMAX_MPRI /**< %jp{メッセージ優先度の最大値}%en{Maximum message priority} */
267 /* %jp{キューイング/ネスト回数の最大値}%en{Maximum Nesting/Queueing Count} */
268 #define _KERNEL_TMAX_ACTCNT _KERNEL_CFG_TMAX_ACTCNT /**< %jp{タスク起動要求キューイング数の最大値(-1の時デフォルト値)} */
269 #define _KERNEL_TMAX_WUPCNT _KERNEL_CFG_TMAX_WUPCNT /**< %jp{タスク起床要求キューイング数の最大値(-1の時デフォルト値)} */
270 #define _KERNEL_TMAX_SUSCNT _KERNEL_CFG_TMAX_SUSCNT /**< %jp{タスク強制待ち要求ネスト数の最大値(-1の時デフォルト値)} */
275 #if _KERNEL_CFG_TEX_TBIT_TEXPTN < 0 /**< %jp{タスク例外要因のビット数} */
276 #define _KERNEL_TEX_TBIT_TEXPTN _KERNEL_TBIT_TEXPTN
278 #define _KERNEL_TEX_TBIT_TEXPTN _KERNEL_CFG_TEX_TBIT_TEXPTN
281 #if _KERNEL_CFG_FLG_TBIT_FLGPTN < 0 /**< %jp{イベントフラグのビット数} */
282 #define _KERNEL_FLG_TBIT_FLGPTN _KERNEL_TBIT_FLGPTN
284 #define _KERNEL_FLG_TBIT_FLGPTN _KERNEL_CFG_FLG_TBIT_FLGPTN
287 #if _KERNEL_CFG_RDV_TBIT_RDVPTN < 0
288 #define _KERNEL_RDV_TBIT_RDVPTN _KERNEL_TBIT_RDVPTN /**< %jp{ランデブ条件のビット数} */
290 #define _KERNEL_RDV_TBIT_RDVPTN _KERNEL_CFG_RDV_TBIT_RDVPTN
294 /* %jp{セマフォの最大値}%en{Maximum value of the maximum definable semaphore resource count} */
295 #if _KERNEL_CFG_TMAX_MAXSEM <= 0
296 #define _KERNEL_TMAX_MAXSEM _KERNEL_TMAX_PROC_UINT
298 #define _KERNEL_TMAX_MAXSEM _KERNEL_CFG_TMAX_MAXSEM
303 #endif /* _KERNEL__prser_pitrncfg_h__ */