Changeset 315 for rubycfg_asp/trunk/asp_dcre/kernel/check.h
- Timestamp:
- Jul 23, 2017, 2:29:40 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
rubycfg_asp/trunk/asp_dcre/kernel/check.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * @(#) $Id$ … … 57 42 58 43 /* 59 * ã¨ã©ã¼ãã§ãã¯ç¨ãã¯ã44 * エラーチェック用マクロ 60 45 */ 61 46 … … 64 49 65 50 /* 66 * äºç´å±æ§ã¨ã©ã¼ã®ãã§ãã¯ï¼E_PARï¼51 * 予約属性エラーのチェック(E_PAR) 67 52 */ 68 53 #define CHECK_RSATR(atr, valid_atr) do { \ … … 74 59 75 60 /* 76 * åªå 77 度ã®ç¯å²ã®å¤å® 61 * 優先度の範囲の判定 78 62 */ 79 63 #define VALID_TPRI(tpri) (TMIN_TPRI <= (tpri) && (tpri) <= TMAX_TPRI) … … 92 76 93 77 /* 94 * ã¿ã¹ã¯åªå 95 度ã®ãã§ãã¯ï¼E_PARï¼ 78 * タスク優先度のチェック(E_PAR) 96 79 */ 97 80 #define CHECK_TPRI(tpri) do { \ … … 117 100 118 101 /* 119 * ãã¼ã¿åªå 120 度ã®ãã§ãã¯ï¼E_PARï¼ 102 * データ優先度のチェック(E_PAR) 121 103 */ 122 104 #define CHECK_DPRI(dpri) do { \ … … 128 110 129 111 /* 130 * ã¡ãã»ã¼ã¸åªå 131 度ã®ãã§ãã¯ï¼E_PARï¼ 112 * メッセージ優先度のチェック(E_PAR) 132 113 */ 133 114 #define CHECK_MPRI(mpri) do { \ … … 139 120 140 121 /* 141 * å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³åªå 142 度ã®ãã§ãã¯ï¼E_PARï¼ 122 * 割込みサービスルーチン優先度のチェック(E_PAR) 143 123 */ 144 124 #define CHECK_ISRPRI(isrpri) do { \ … … 150 130 151 131 /* 152 * ã¿ã¤ã ã¢ã¦ãæå®å¤ã®ãã§ãã¯ï¼E_PARï¼132 * タイムアウト指定値のチェック(E_PAR) 153 133 */ 154 134 #define CHECK_TMOUT(tmout) do { \ … … 160 140 161 141 /* 162 * å²è¾¼ã¿åªå 163 度ã®ãã§ãã¯ï¼E_PARï¼ 142 * 割込み優先度のチェック(E_PAR) 164 143 */ 165 144 #define CHECK_INTPRI_CHGIPM(intpri) do { \ … … 171 150 172 151 /* 173 * å²è¾¼ã¿çªå·ã®ãã§ãã¯ï¼E_PARï¼152 * 割込み番号のチェック(E_PAR) 174 153 */ 175 154 #define CHECK_INTNO_CREISR(intno) do { \ … … 188 167 189 168 /* 190 * ã¢ã©ã¤ã³ãã¦ãããã®å¤å®169 * アラインしているかの判定 191 170 */ 192 171 #define ALIGNED(val, align) ((((uintptr_t)(val)) & ((align) - 1U)) == 0U) … … 223 202 224 203 /* 225 * NULL ã§ãªããã¨ã®ãã§ãã¯204 * NULLでないことのチェック 226 205 */ 227 206 #ifdef CHECK_FUNC_NONNULL … … 232 211 233 212 /* 234 * é¢æ°ã®å 235 é çªå°ã®ãã§ãã¯ï¼E_PARï¼ 213 * 関数の先頭番地のチェック(E_PAR) 236 214 */ 237 215 #define CHECK_ALIGN_FUNC(func) do { \ … … 250 228 251 229 /* 252 * ã¹ã¿ãã¯ãµã¤ãºã®ãã§ãã¯ï¼E_PARï¼230 * スタックサイズのチェック(E_PAR) 253 231 */ 254 232 #define CHECK_ALIGN_STKSZ(stksz) do { \ … … 260 238 261 239 /* 262 * ã¹ã¿ãã¯ã®å 263 é çªå°ã®ãã§ãã¯ï¼E_PARï¼ 240 * スタックの先頭番地のチェック(E_PAR) 264 241 */ 265 242 #define CHECK_ALIGN_STACK(stack) do { \ … … 271 248 272 249 /* 273 * åºå®é·ã¡ã¢ãªãã¼ã«é åã®å 274 é çªå°ã®ãã§ãã¯ï¼E_PARï¼ 250 * 固定長メモリプール領域の先頭番地のチェック(E_PAR) 275 251 */ 276 252 #define CHECK_ALIGN_MPF(mpf) do { \ … … 282 258 283 259 /* 284 * 管çé åã®å 285 é çªå°ã®ãã§ãã¯ï¼E_PARï¼ 260 * 管理領域の先頭番地のチェック(E_PAR) 286 261 */ 287 262 #define CHECK_ALIGN_MB(mb) do { \ … … 293 268 294 269 /* 295 * ãã®ä»ã®ãã©ã¡ã¼ã¿ã¨ã©ã¼ã®ãã§ãã¯ï¼E_PARï¼270 * その他のパラメータエラーのチェック(E_PAR) 296 271 */ 297 272 #define CHECK_PAR(exp) do { \ … … 303 278 304 279 /* 305 * ãªãã¸ã§ã¯ãIDã®ç¯å²ã®å¤å®280 * オブジェクトIDの範囲の判定 306 281 */ 307 282 #define VALID_TSKID(tskid) (TMIN_TSKID <= (tskid) && (tskid) <= tmax_tskid) … … 317 292 318 293 /* 319 * ãªãã¸ã§ã¯ãIDã®ãã§ãã¯ï¼E_IDï¼294 * オブジェクトIDのチェック(E_ID) 320 295 */ 321 296 #define CHECK_TSKID(tskid) do { \ … … 397 372 398 373 /* 399 * å¼åºãã³ã³ããã¹ãã®ãã§ãã¯ï¼E_CTXï¼374 * 呼出しコンテキストのチェック(E_CTX) 400 375 */ 401 376 #define CHECK_TSKCTX() do { \ … … 414 389 415 390 /* 416 * å¼åºãã³ã³ããã¹ãã¨CPUããã¯ç¶æ 417 ã®ãã§ãã¯ï¼E_CTXï¼ 391 * 呼出しコンテキストとCPUロック状態のチェック(E_CTX) 418 392 */ 419 393 #define CHECK_TSKCTX_UNL() do { \ … … 432 406 433 407 /* 434 * ãã£ã¹ãããä¿çç¶æ 435 ã§ãªããã®ãã§ãã¯ï¼E_CTXï¼ 408 * ディスパッチ保留状態でないかのチェック(E_CTX) 436 409 */ 437 410 #define CHECK_DISPATCH() do { \ … … 443 416 444 417 /* 445 * ãã®ä»ã®ã³ã³ããã¹ãã¨ã©ã¼ã®ãã§ãã¯ï¼E_CTXï¼418 * その他のコンテキストエラーのチェック(E_CTX) 446 419 */ 447 420 #define CHECK_CTX(exp) do { \ … … 453 426 454 427 /* 455 * èªã¿ã¹ã¯ãæå®ãã¦ããªããã®ãã§ãã¯ï¼E_ILUSEï¼428 * 自タスクを指定していないかのチェック(E_ILUSE) 456 429 */ 457 430 #define CHECK_NONSELF(p_tcb) do { \ … … 463 436 464 437 /* 465 * ãã®ä»ã®ä¸æ£ä½¿ç¨ã¨ã©ã¼ã®ãã§ãã¯ï¼E_ILUSEï¼438 * その他の不正使用エラーのチェック(E_ILUSE) 466 439 */ 467 440 #define CHECK_ILUSE(exp) do { \ … … 473 446 474 447 /* 475 * æªãµãã¼ãæ©è½ã¨ã©ã¼ã®ãã§ãã¯ï¼E_NOSPTï¼448 * 未サポート機能エラーのチェック(E_NOSPT) 476 449 */ 477 450 #define CHECK_NOSPT(exp) do { \ … … 483 456 484 457 /* 485 * éçãªãªãã¸ã§ã¯ãç¶æ 486 ã¨ã©ã¼ã®ãã§ãã¯ï¼E_OBJï¼ 458 * 静的なオブジェクト状態エラーのチェック(E_OBJ) 487 459 */ 488 460 #define CHECK_OBJ(exp) do { \ -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.