Ignore:
Timestamp:
Mar 8, 2016, 8:37:45 PM (8 years ago)
Author:
coas-nagasima
Message:

MIMEにSJISを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • UsbWattMeter/trunk/asp_dcre/include/kernel.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    11  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    12  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    13  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    14  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    15  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    16  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    17  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    18  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    19 ƒƒ“ƒgi—˜—p
    20  *      ŽÒƒ}ƒjƒ
    21 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    22  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    23  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    24  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    25  *      ‚ƁD
    26  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    27 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    28 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    29  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    30  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    31  *        •ñ‚·‚邱‚ƁD
    32  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    33  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    34  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    35  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    36  *      –Ɛӂ·‚邱‚ƁD
     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 *      免責すること.
    3733 *
    38  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    39  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    40  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    41  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    42  *  ‚̐ӔC‚𕉂í‚È‚¢D
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    4339 *
    4440 *  @(#) $Id$
     
    4642
    4743/*
    48  *              TOPPERS/ASPƒJ[ƒlƒ‹ •W€ƒwƒbƒ_ƒtƒ@ƒCƒ‹
     44 *              TOPPERS/ASPカーネル 標準ヘッダファイル
    4945 *
    50  *  TOPPERS/ASPƒJ[ƒlƒ‹‚ªƒTƒ|[ƒg‚·‚éƒT[ƒrƒXƒR[ƒ‹‚̐錾‚ƁC•K—v‚ȃf[
    51  *  ƒ^Œ^C’萔Cƒ}ƒNƒ‚Ì’è‹`‚ðŠÜ‚Þƒwƒbƒ_ƒtƒ@ƒCƒ‹D
     46 *  TOPPERS/ASPカーネルがサポートするサービスコールの宣言と,必要なデー
     47 *  タ型,定数,マクロの定義を含むヘッダファイル.
    5248 *
    53  *  ƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚炱‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚鎞
    54  *  ‚́CTOPPERS_MACRO_ONLY‚ð’è‹`‚µ‚Ä‚¨‚­D‚±‚ê‚É‚æ‚èCƒ}ƒNƒ’è‹`ˆÈŠO‚ð
    55  *  œ‚­‚悤‚É‚È‚Á‚Ä‚¢‚éD
     49 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     50 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     51 *  除くようになっている.
    5652 *
    57  *  ‚±‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɃCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¨‚­‚ׂ«ƒtƒ@ƒCƒ‹
    58  *  ‚Í‚È‚¢D
     53 *  このファイルをインクルードする前にインクルードしておくべきファイル
     54 *  はない.
    5955 */
    6056
     
    6763
    6864/*
    69  *      TOPPERS‹¤’ʂ̃f[ƒ^Œ^E’萔Eƒ}ƒNƒ
     65 *      TOPPERS共通のデータ型・定数・マクロ
    7066 */
    7167#include <t_stddef.h>
    7268
    7369/*
    74  *  ƒ^[ƒQƒbƒgˆË‘¶•”
     70 *  ターゲット依存部
    7571 */
    7672#include "target_kernel.h"
     
    7975
    8076/*
    81  *  ƒf[ƒ^Œ^‚Ì’è‹`
    82  */
    83 
    84 /*
    85  *  ƒrƒbƒgƒpƒ^[ƒ“‚âƒIƒuƒWƒFƒNƒg”ԍ†‚ÌŒ^’è‹`
    86  */
    87 typedef uint_t          TEXPTN;         /* ƒ^ƒXƒN—áŠO—vˆö‚̃rƒbƒgƒpƒ^[ƒ“ */
    88 typedef uint_t          FLGPTN;         /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚̃rƒbƒgƒpƒ^[ƒ“ */
    89 typedef uint_t          INTNO;          /* Š„ž‚ݔԍ† */
    90 typedef uint_t          INHNO;          /* Š„ž‚݃nƒ“ƒhƒ‰”ԍ† */
    91 typedef uint_t          EXCNO;          /* CPU—áŠOƒnƒ“ƒhƒ‰”ԍ† */
    92 
    93 /*
    94  *  ˆ—’PˆÊ‚ÌŒ^’è‹`
     77 *  データ型の定義
     78 */
     79
     80/*
     81 *  ビットパターンやオブジェクト番号の型定義
     82 */
     83typedef uint_t          TEXPTN;         /* タスク例外要因のビットパターン */
     84typedef uint_t          FLGPTN;         /* イベントフラグのビットパターン */
     85typedef uint_t          INTNO;          /* 割込み番号 */
     86typedef uint_t          INHNO;          /* 割込みハンドラ番号 */
     87typedef uint_t          EXCNO;          /* CPU例外ハンドラ番号 */
     88
     89/*
     90 *  処理単位の型定義
    9591 */
    9692typedef void    (*TASK)(intptr_t exinf);
     
    105101
    106102/*
    107  *  ƒƒ‚ƒŠ—̈æŠm•Û‚Ì‚½‚ß‚ÌŒ^’è‹`
     103 *  メモリ領域確保のための型定義
    108104 */
    109105#ifndef TOPPERS_STK_T
    110106#define TOPPERS_STK_T   intptr_t
    111107#endif /* TOPPERS_STK_T */
    112 typedef TOPPERS_STK_T   STK_T;  /* ƒXƒ^ƒbƒN—̈æ‚ðŠm•Û‚·‚邽‚ß‚ÌŒ^ */
     108typedef TOPPERS_STK_T   STK_T;  /* スタック領域を確保するための型 */
    113109
    114110#ifndef TOPPERS_MPF_T
    115111#define TOPPERS_MPF_T   intptr_t
    116112#endif /* TOPPERS_MPF_T */
    117 typedef TOPPERS_MPF_T   MPF_T;  /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹—̈æ‚ðŠm•Û‚·‚邽‚ß‚ÌŒ^ */
    118 
    119 /*
    120  *  ƒƒbƒZ[ƒWƒwƒbƒ_‚ÌŒ^’è‹`
    121  */
    122 typedef struct t_msg {                  /* ƒ[ƒ‹ƒ{ƒbƒNƒX‚̃ƒbƒZ[ƒWƒwƒbƒ_ */
     113typedef TOPPERS_MPF_T   MPF_T;  /* 固定長メモリプール領域を確保するための型 */
     114
     115/*
     116 *  メッセージヘッダの型定義
     117 */
     118typedef struct t_msg {                  /* メールボックスのメッセージヘッダ */
    123119        struct t_msg    *pk_next;
    124120} T_MSG;
    125121
    126 typedef struct t_msg_pri {              /* —Dæ“x•t‚«ƒƒbƒZ[ƒWƒwƒbƒ_ */
    127         T_MSG   msgque;                         /* ƒƒbƒZ[ƒWƒwƒbƒ_ */
    128         PRI             msgpri;                         /* ƒƒbƒZ[ƒW—Dæ“x */
     122typedef struct t_msg_pri {              /* 優先度付きメッセージヘッダ */
     123        T_MSG   msgque;                         /* メッセージヘッダ */
     124        PRI             msgpri;                         /* メッセージ優先度 */
    129125} T_MSG_PRI;
    130126
    131127/*
    132  *  ƒpƒPƒbƒgŒ`Ž®‚Ì’è‹`
     128 *  パケット形式の定義
    133129 */
    134130typedef struct t_ctsk {
    135         ATR                     tskatr;         /* ƒ^ƒXƒN‘®« */
    136         intptr_t        exinf;          /* ƒ^ƒXƒN‚ÌŠg’£î•ñ */
    137         TASK            task;           /* ƒ^ƒXƒN‚̃ƒCƒ“ƒ‹[ƒ`ƒ“‚̐擪”Ô’n */
    138         PRI                     itskpri;        /* ƒ^ƒXƒN‚Ì‹N“®Žž—Dæ“x */
    139         SIZE            stksz;          /* ƒ^ƒXƒN‚̃Xƒ^ƒbƒN—̈æ‚̃TƒCƒY */
    140         STK_T           *stk;           /* ƒ^ƒXƒN‚̃Xƒ^ƒbƒN—̈æ‚̐擪”Ô’n */
     131        ATR                     tskatr;         /* タスク属性 */
     132        intptr_t        exinf;          /* タスクの拡張情報 */
     133        TASK            task;           /* タスクのメインルーチンの先頭番地 */
     134        PRI                     itskpri;        /* タスクの起動時優先度 */
     135        SIZE            stksz;          /* タスクのスタック領域のサイズ */
     136        STK_T           *stk;           /* タスクのスタック領域の先頭番地 */
    141137} T_CTSK;
    142138
    143139typedef struct t_rtsk {
    144         STAT    tskstat;        /* ƒ^ƒXƒNó‘Ô */
    145         PRI             tskpri;         /* ƒ^ƒXƒN‚ÌŒ»Ý—Dæ“x */
    146         PRI             tskbpri;        /* ƒ^ƒXƒN‚̃x[ƒX—Dæ“x */
    147         STAT    tskwait;        /* ‘Ò‚¿—vˆö */
    148         ID              wobjid;         /* ‘Ò‚¿‘Ώۂ̃IƒuƒWƒFƒNƒg‚ÌID */
    149         TMO             lefttmo;        /* ƒ^ƒCƒ€ƒAƒEƒg‚·‚é‚Ü‚Å‚ÌŽžŠÔ */
    150         uint_t  actcnt;         /* ‹N“®—v‹ƒLƒ
    151 [ƒCƒ“ƒO” */
    152         uint_t  wupcnt;         /* ‹N°—v‹ƒLƒ
    153 [ƒCƒ“ƒO” */
     140        STAT    tskstat;        /* タスク状態 */
     141        PRI             tskpri;         /* タスクの現在優先度 */
     142        PRI             tskbpri;        /* タスクのベース優先度 */
     143        STAT    tskwait;        /* 待ち要因 */
     144        ID              wobjid;         /* 待ち対象のオブジェクトのID */
     145        TMO             lefttmo;        /* タイムアウトするまでの時間 */
     146        uint_t  actcnt;         /* 起動要求キューイング数 */
     147        uint_t  wupcnt;         /* 起床要求キューイング数 */
    154148} T_RTSK;
    155149
    156150typedef struct t_dtex {
    157         ATR             texatr;         /* ƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ“‘®« */
    158         TEXRTN  texrtn;         /* ƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ“‚̐擪”Ô’n */
     151        ATR             texatr;         /* タスク例外処理ルーチン属性 */
     152        TEXRTN  texrtn;         /* タスク例外処理ルーチンの先頭番地 */
    159153} T_DTEX;
    160154
    161155typedef struct t_rtex {
    162         STAT    texstat;        /* ƒ^ƒXƒN—áŠOˆ—‚̏ó‘Ô */
    163         TEXPTN  pndptn;         /* •Û—¯—áŠO—vˆö */
     156        STAT    texstat;        /* タスク例外処理の状態 */
     157        TEXPTN  pndptn;         /* 保留例外要因 */
    164158} T_RTEX;
    165159
    166160typedef struct t_csem {
    167         ATR             sematr;         /* ƒZƒ}ƒtƒH‘®« */
    168         uint_t  isemcnt;        /* ƒZƒ}ƒtƒH‚̏‰ŠúŽ‘Œ¹” */
    169         uint_t  maxsem;         /* ƒZƒ}ƒtƒH‚̍ő厑Œ¹” */
     161        ATR             sematr;         /* セマフォ属性 */
     162        uint_t  isemcnt;        /* セマフォの初期資源数 */
     163        uint_t  maxsem;         /* セマフォの最大資源数 */
    170164} T_CSEM;
    171165
    172166typedef struct t_rsem {
    173         ID              wtskid;         /* ƒZƒ}ƒtƒH‚Ì‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚ÌID”ԍ† */
    174         uint_t  semcnt;         /* ƒZƒ}ƒtƒH‚ÌŒ»Ý‚ÌŽ‘Œ¹” */
     167        ID              wtskid;         /* セマフォの待ち行列の先頭のタスクのID番号 */
     168        uint_t  semcnt;         /* セマフォの現在の資源数 */
    175169} T_RSEM;
    176170
    177171typedef struct t_cflg {
    178         ATR             flgatr;         /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‘®« */
    179         FLGPTN  iflgptn;        /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚̏‰Šúƒrƒbƒgƒpƒ^[ƒ“ */
     172        ATR             flgatr;         /* イベントフラグ属性 */
     173        FLGPTN  iflgptn;        /* イベントフラグの初期ビットパターン */
    180174} T_CFLG;
    181175
    182176typedef struct t_rflg {
    183         ID              wtskid;         /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚Ì‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚ÌID”ԍ† */
    184         FLGPTN  flgptn;         /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚ÌŒ»Ý‚̃rƒbƒgƒpƒ^[ƒ“ */
     177        ID              wtskid;         /* イベントフラグの待ち行列の先頭のタスクのID番号 */
     178        FLGPTN  flgptn;         /* イベントフラグの現在のビットパターン */
    185179} T_RFLG;
    186180
    187181typedef struct t_cdtq {
    188         ATR             dtqatr;         /* ƒf[ƒ^ƒLƒ
    189 [‘®« */
    190         uint_t  dtqcnt;         /* ƒf[ƒ^ƒLƒ
    191 [ŠÇ——̈æ‚ÉŠi”[‚Å‚«‚éƒf[ƒ^” */
    192         void    *dtqmb;         /* ƒf[ƒ^ƒLƒ
    193 [ŠÇ——̈æ‚̐擪”Ô’n */
     182        ATR             dtqatr;         /* データキュー属性 */
     183        uint_t  dtqcnt;         /* データキュー管理領域に格納できるデータ数 */
     184        void    *dtqmb;         /* データキュー管理領域の先頭番地 */
    194185} T_CDTQ;
    195186
    196187typedef struct t_rdtq {
    197         ID              stskid;         /* ƒf[ƒ^ƒLƒ
    198 [‚Ì‘—M‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚ÌID”ԍ† */
    199         ID              rtskid;         /* ƒf[ƒ^ƒLƒ
    200 [‚ÌŽóM‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚ÌID”ԍ† */
    201         uint_t  sdtqcnt;        /* ƒf[ƒ^ƒLƒ
    202 [ŠÇ——̈æ‚ÉŠi”[‚³‚ê‚Ä‚¢‚éƒf[ƒ^‚̐” */
     188        ID              stskid;         /* データキューの送信待ち行列の先頭のタスクのID番号 */
     189        ID              rtskid;         /* データキューの受信待ち行列の先頭のタスクのID番号 */
     190        uint_t  sdtqcnt;        /* データキュー管理領域に格納されているデータの数 */
    203191} T_RDTQ;
    204192
    205193typedef struct t_cpdq {
    206         ATR             pdqatr;         /* —Dæ“xƒf[ƒ^ƒLƒ
    207 [‘®« */
    208         uint_t  pdqcnt;         /* —Dæ“xƒf[ƒ^ƒLƒ
    209 [ŠÇ——̈æ‚ÉŠi”[‚Å‚«‚éƒf[ƒ^” */
    210         PRI             maxdpri;        /* —Dæ“xƒf[ƒ^ƒLƒ
    211 [‚É‘—M‚Å‚«‚éƒf[ƒ^—Dæ“x‚̍Å
    212                                                    ‘å’l */
    213         void    *pdqmb;         /* —Dæ“xƒf[ƒ^ƒLƒ
    214 [ŠÇ——̈æ‚̐擪”Ô’n */
     194        ATR             pdqatr;         /* 優先度データキュー属性 */
     195        uint_t  pdqcnt;         /* 優先度データキュー管理領域に格納できるデータ数 */
     196        PRI             maxdpri;        /* 優先度データキューに送信できるデータ優先度の最
     197                                                   大値 */
     198        void    *pdqmb;         /* 優先度データキュー管理領域の先頭番地 */
    215199} T_CPDQ;
    216200
    217201typedef struct t_rpdq {
    218         ID              stskid;         /* —Dæ“xƒf[ƒ^ƒLƒ
    219 [‚Ì‘—M‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN
    220                                                    ‚ÌID”ԍ† */
    221         ID              rtskid;         /* —Dæ“xƒf[ƒ^ƒLƒ
    222 [‚ÌŽóM‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN
    223                                                    ‚ÌID”ԍ† */
    224         uint_t  spdqcnt;        /* —Dæ“xƒf[ƒ^ƒLƒ
    225 [ŠÇ——̈æ‚ÉŠi”[‚³‚ê‚Ä‚¢‚éƒf[
    226                                                    ƒ^‚̐” */
     202        ID              stskid;         /* 優先度データキューの送信待ち行列の先頭のタスク
     203                                                   のID番号 */
     204        ID              rtskid;         /* 優先度データキューの受信待ち行列の先頭のタスク
     205                                                   のID番号 */
     206        uint_t  spdqcnt;        /* 優先度データキュー管理領域に格納されているデー
     207                                                   タの数 */
    227208} T_RPDQ;
    228209
    229210typedef struct t_cmbx {
    230         ATR             mbxatr;         /* ƒ[ƒ‹ƒ{ƒbƒNƒX‘®« */
    231         PRI             maxmpri;        /* —Dæ“xƒ[ƒ‹ƒ{ƒbƒNƒX‚É‘—M‚Å‚«‚郁ƒbƒZ[ƒW—Dæ
    232                                                    “x‚̍őå’l */
    233         void    *mprihd;        /* —Dæ“x•Ê‚̃ƒbƒZ[ƒWƒLƒ
    234 [ƒwƒbƒ_—̈æ‚̐擪”Ô’n */
     211        ATR             mbxatr;         /* メールボックス属性 */
     212        PRI             maxmpri;        /* 優先度メールボックスに送信できるメッセージ優先
     213                                                   度の最大値 */
     214        void    *mprihd;        /* 優先度別のメッセージキューヘッダ領域の先頭番地 */
    235215} T_CMBX;
    236216
    237217typedef struct t_rmbx {
    238         ID              wtskid;         /* ƒ[ƒ‹ƒ{ƒbƒNƒX‚Ì‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚ÌID”ԍ† */
    239         T_MSG   *pk_msg;        /* ƒƒbƒZ[ƒWƒLƒ
    240 [‚̐擪‚ɂ‚Ȃª‚ꂽƒƒbƒZ[ƒW
    241                                                    ‚̐擪”Ô’n */
     218        ID              wtskid;         /* メールボックスの待ち行列の先頭のタスクのID番号 */
     219        T_MSG   *pk_msg;        /* メッセージキューの先頭につながれたメッセージ
     220                                                   の先頭番地 */
    242221} T_RMBX;
    243222
    244223typedef struct t_cmpf {
    245         ATR             mpfatr;         /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹‘®« */
    246         uint_t  blkcnt;         /* Šl“¾‚Å‚«‚éŒÅ’è’·ƒƒ‚ƒŠƒuƒƒbƒN‚̐” */
    247         uint_t  blksz;          /* ŒÅ’è’·ƒƒ‚ƒŠƒuƒƒbƒN‚̃TƒCƒY */
    248         MPF_T   *mpf;           /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹—̈æ‚̐擪”Ô’n */
    249         void    *mpfmb;         /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹ŠÇ——̈æ‚̐擪”Ô’n */
     224        ATR             mpfatr;         /* 固定長メモリプール属性 */
     225        uint_t  blkcnt;         /* 獲得できる固定長メモリブロックの数 */
     226        uint_t  blksz;          /* 固定長メモリブロックのサイズ */
     227        MPF_T   *mpf;           /* 固定長メモリプール領域の先頭番地 */
     228        void    *mpfmb;         /* 固定長メモリプール管理領域の先頭番地 */
    250229} T_CMPF;
    251230
    252231typedef struct t_rmpf {
    253         ID              wtskid;         /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹‚Ì‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚Ì
    254                                                    ID”ԍ† */
    255         uint_t  fblkcnt;        /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹—̈æ‚̋󂫃ƒ‚ƒŠ—̈æ‚ÉŠ„‚è
    256                                                    •t‚¯‚邱‚Æ‚ª‚Å‚«‚éŒÅ’è’·ƒƒ‚ƒŠƒuƒƒbƒN‚̐” */
     232        ID              wtskid;         /* 固定長メモリプールの待ち行列の先頭のタスクの
     233                                                   ID番号 */
     234        uint_t  fblkcnt;        /* 固定長メモリプール領域の空きメモリ領域に割り
     235                                                   付けることができる固定長メモリブロックの数 */
    257236} T_RMPF;
    258237
    259238typedef struct t_ccyc {
    260         ATR                     cycatr;         /* ŽüŠúƒnƒ“ƒhƒ‰‘®« */
    261         intptr_t        exinf;          /* ŽüŠúƒnƒ“ƒhƒ‰‚ÌŠg’£î•ñ */
    262         CYCHDR          cychdr;         /* ŽüŠúƒnƒ“ƒhƒ‰‚̐擪”Ô’n */
    263         RELTIM          cyctim;         /* ŽüŠúƒnƒ“ƒhƒ‰‚Ì‹N“®ŽüŠú */
    264         RELTIM          cycphs;         /* ŽüŠúƒnƒ“ƒhƒ‰‚Ì‹N“®ˆÊ‘Š */
     239        ATR                     cycatr;         /* 周期ハンドラ属性 */
     240        intptr_t        exinf;          /* 周期ハンドラの拡張情報 */
     241        CYCHDR          cychdr;         /* 周期ハンドラの先頭番地 */
     242        RELTIM          cyctim;         /* 周期ハンドラの起動周期 */
     243        RELTIM          cycphs;         /* 周期ハンドラの起動位相 */
    265244} T_CCYC;
    266245
    267246typedef struct t_rcyc {
    268         STAT    cycstat;        /* ŽüŠúƒnƒ“ƒhƒ‰‚Ì“®ìó‘Ô */
    269         RELTIM  lefttim;        /* ŽŸ‚ÉŽüŠúƒnƒ“ƒhƒ‰‚ð‹N“®‚·‚鎞‚Ü‚Å‚Ì‘Š‘ÎŽžŠÔ */
     247        STAT    cycstat;        /* 周期ハンドラの動作状態 */
     248        RELTIM  lefttim;        /* 次に周期ハンドラを起動する時刻までの相対時間 */
    270249} T_RCYC;
    271250
    272251typedef struct t_calm {
    273         ATR                     almatr;         /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‘®« */
    274         intptr_t        exinf;          /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚ÌŠg’£î•ñ */
    275         ALMHDR          almhdr;         /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚̐擪”Ô’n */
     252        ATR                     almatr;         /* アラームハンドラ属性 */
     253        intptr_t        exinf;          /* アラームハンドラの拡張情報 */
     254        ALMHDR          almhdr;         /* アラームハンドラの先頭番地 */
    276255} T_CALM;
    277256
    278257typedef struct t_ralm {
    279         STAT    almstat;        /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚Ì“®ìó‘Ô */
    280         RELTIM  lefttim;        /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚ð‹N“®‚·‚鎞‚Ü‚Å‚Ì‘Š‘ÎŽžŠÔ */
     258        STAT    almstat;        /* アラームハンドラの動作状態 */
     259        RELTIM  lefttim;        /* アラームハンドラを起動する時刻までの相対時間 */
    281260} T_RALM;
    282261
    283262typedef struct t_cisr {
    284         ATR                     isratr;         /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‘®« */
    285         intptr_t        exinf;          /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ÌŠg’£î•ñ */
    286         INTNO           intno;          /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ð“o˜^‚·‚銄ž‚ݔԍ† */
    287         ISR                     isr;            /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚̐擪”Ô’n */
    288         PRI                     isrpri;         /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“—Dæ“x */
     263        ATR                     isratr;         /* 割込みサービスルーチン属性 */
     264        intptr_t        exinf;          /* 割込みサービスルーチンの拡張情報 */
     265        INTNO           intno;          /* 割込みサービスルーチンを登録する割込み番号 */
     266        ISR                     isr;            /* 割込みサービスルーチンの先頭番地 */
     267        PRI                     isrpri;         /* 割込みサービスルーチン優先度 */
    289268} T_CISR;
    290269
    291270/*
    292  *  ƒT[ƒrƒXƒR[ƒ‹‚̐錾
    293  */
    294 
    295 /*
    296  *  ƒ^ƒXƒNŠÇ—‹@”\
     271 *  サービスコールの宣言
     272 */
     273
     274/*
     275 *  タスク管理機能
    297276 */
    298277extern ER_UINT  acre_tsk(const T_CTSK *pk_ctsk) throw();
     
    309288
    310289/*
    311  *  ƒ^ƒXƒN•t‘®“¯Šú‹@”\
     290 *  タスク付属同期機能
    312291 */
    313292extern ER               slp_tsk(void) throw();
     
    323302
    324303/*
    325  *  ƒ^ƒXƒN—áŠOˆ—‹@”\
     304 *  タスク例外処理機能
    326305 */
    327306extern ER               def_tex(ID tskid, const T_DTEX *pk_dtex) throw();
     
    334313
    335314/*
    336  *  “¯ŠúE’ʐM‹@”\
     315 *  同期・通信機能
    337316 */
    338317extern ER_ID    acre_sem(const T_CSEM *pk_csem) throw();
     
    398377
    399378/*
    400  *  ƒƒ‚ƒŠƒv[ƒ‹ŠÇ—‹@”\
     379 *  メモリプール管理機能
    401380 */
    402381extern ER_ID    acre_mpf(const T_CMPF *pk_cmpf) throw();
     
    410389
    411390/*
    412  *  ŽžŠÔŠÇ—‹@”\
     391 *  時間管理機能
    413392 */
    414393extern ER               get_tim(SYSTIM *p_systim) throw();
     
    430409
    431410/*
    432  *  ƒVƒXƒeƒ€ó‘ÔŠÇ—‹@”\
     411 *  システム状態管理機能
    433412 */
    434413extern ER               rot_rdq(PRI tskpri) throw();
     
    450429
    451430/*
    452  *  Š„ž‚ÝŠÇ—‹@”\
     431 *  割込み管理機能
    453432 */
    454433extern ER_ID    acre_isr(const T_CISR *pk_cisr) throw();
     
    460439
    461440/*
    462  *  CPU—áŠOŠÇ—‹@”\
     441 *  CPU例外管理機能
    463442 */
    464443extern bool_t   xsns_dpn(void *p_excinf) throw();
     
    468447
    469448/*
    470  *  ƒIƒuƒWƒFƒNƒg‘®«‚Ì’è‹`
    471  */
    472 #define TA_ACT                  UINT_C(0x02)    /* ƒ^ƒXƒN‚ð‹N“®‚³‚ꂽó‘ԂŐ¶¬ */
    473 
    474 #define TA_TPRI                 UINT_C(0x01)    /* ƒ^ƒXƒN‚Ì‘Ò‚¿s—ñ‚ð—Dæ“x‡‚É */
    475 #define TA_MPRI                 UINT_C(0x02)    /* ƒƒbƒZ[ƒWƒLƒ
    476 [‚ð—Dæ“x‡‚É */
    477 
    478 #define TA_WMUL                 UINT_C(0x02)    /* •¡”‚Ì‘Ò‚¿ƒ^ƒXƒN */
    479 #define TA_CLR                  UINT_C(0x04)    /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚̃NƒŠƒAŽw’è */
    480 
    481 #define TA_STA                  UINT_C(0x02)    /* ŽüŠúƒnƒ“ƒhƒ‰‚𓮍ìó‘ԂŐ¶¬ */
    482 
    483 #define TA_NONKERNEL    UINT_C(0x02)    /* ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý */
    484 
    485 #define TA_ENAINT               UINT_C(0x01)    /* Š„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ðƒNƒŠƒA */
    486 #define TA_EDGE                 UINT_C(0x02)    /* ƒGƒbƒWƒgƒŠƒK */
    487 
    488 /*
    489  *  ƒT[ƒrƒXƒR[ƒ‹‚Ì“®ìƒ‚[ƒh‚Ì’è‹`
    490  */
    491 #define TWF_ORW                 UINT_C(0x01)    /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚ÌOR‘Ò‚¿ */
    492 #define TWF_ANDW                UINT_C(0x02)    /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚ÌAND‘Ò‚¿ */
    493 
    494 /*
    495  *  ƒIƒuƒWƒFƒNƒg‚̏ó‘Ô‚Ì’è‹`
    496  */
    497 #define TTS_RUN                 UINT_C(0x01)    /* ŽÀsó‘Ô */
    498 #define TTS_RDY                 UINT_C(0x02)    /* ŽÀs‰Â”\ó‘Ô */
    499 #define TTS_WAI                 UINT_C(0x04)    /* ‘Ò‚¿ó‘Ô */
    500 #define TTS_SUS                 UINT_C(0x08)    /* ‹­§‘Ò‚¿ó‘Ô */
    501 #define TTS_WAS                 UINT_C(0x0c)    /* “ñd‘Ò‚¿ó‘Ô */
    502 #define TTS_DMT                 UINT_C(0x10)    /* ‹xŽ~ó‘Ô */
    503 
    504 #define TTW_SLP                 UINT_C(0x0001)  /* ‹N°‘Ò‚¿ */
    505 #define TTW_DLY                 UINT_C(0x0002)  /* ŽžŠÔŒo‰ß‘Ò‚¿ */
    506 #define TTW_SEM                 UINT_C(0x0004)  /* ƒZƒ}ƒtƒH‚ÌŽ‘Œ¹Šl“¾‘Ò‚¿ */
    507 #define TTW_FLG                 UINT_C(0x0008)  /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‘Ò‚¿ */
    508 #define TTW_SDTQ                UINT_C(0x0010)  /* ƒf[ƒ^ƒLƒ
    509 [‚Ö‚Ì‘—M‘Ò‚¿ */
    510 #define TTW_RDTQ                UINT_C(0x0020)  /* ƒf[ƒ^ƒLƒ
    511 [‚©‚ç‚ÌŽóM‘Ò‚¿ */
    512 #define TTW_SPDQ                UINT_C(0x0100)  /* —Dæ“xƒf[ƒ^ƒLƒ
    513 [‚Ö‚Ì‘—M‘Ò‚¿ */
    514 #define TTW_RPDQ                UINT_C(0x0200)  /* —Dæ“xƒf[ƒ^ƒLƒ
    515 [‚©‚ç‚ÌŽóM‘Ò‚¿ */
    516 #define TTW_MBX                 UINT_C(0x0040)  /* ƒ[ƒ‹ƒ{ƒbƒNƒX‚©‚ç‚ÌŽóM‘Ò‚¿ */
    517 #define TTW_MPF                 UINT_C(0x2000)  /* ŒÅ’è’·ƒƒ‚ƒŠƒuƒƒbƒN‚ÌŠl“¾‘Ò‚¿ */
    518 
    519 #define TTEX_ENA                UINT_C(0x01)    /* ƒ^ƒXƒN—áŠOˆ—‹–‰Âó‘Ô */
    520 #define TTEX_DIS                UINT_C(0x02)    /* ƒ^ƒXƒN—áŠOˆ—‹ÖŽ~ó‘Ô */
    521 
    522 #define TCYC_STP                UINT_C(0x01)    /* ŽüŠúƒnƒ“ƒhƒ‰‚ª“®ì‚µ‚Ä‚¢‚È‚¢ */
    523 #define TCYC_STA                UINT_C(0x02)    /* ŽüŠúƒnƒ“ƒhƒ‰‚ª“®ì‚µ‚Ä‚¢‚é */
    524 
    525 #define TALM_STP                UINT_C(0x01)    /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚ª“®ì‚µ‚Ä‚¢‚È‚¢ */
    526 #define TALM_STA                UINT_C(0x02)    /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚ª“®ì‚µ‚Ä‚¢‚é */
    527 
    528 /*
    529  *  ‚»‚Ì‘¼‚̒萔‚Ì’è‹`
    530  */
    531 #define TSK_SELF                0                       /* Ž©ƒ^ƒXƒNŽw’è */
    532 #define TSK_NONE                0                       /* ŠY“–‚·‚éƒ^ƒXƒN‚ª‚È‚¢ */
    533 
    534 #define TPRI_SELF               0                       /* Ž©ƒ^ƒXƒN‚̃x[ƒX—Dæ“x */
    535 #define TPRI_INI                0                       /* ƒ^ƒXƒN‚Ì‹N“®Žž—Dæ“x */
    536 
    537 #define TIPM_ENAALL             0                       /* Š„ž‚Ý—Dæ“xƒ}ƒXƒN‘S‰ðœ */
    538 
    539 /*
    540  *  \¬’萔‚ƃ}ƒNƒ
    541  */
    542 
    543 /*
    544  *  ƒTƒ|[ƒg‚·‚é‹@”\
     449 *  オブジェクト属性の定義
     450 */
     451#define TA_ACT                  UINT_C(0x02)    /* タスクを起動された状態で生成 */
     452
     453#define TA_TPRI                 UINT_C(0x01)    /* タスクの待ち行列を優先度順に */
     454#define TA_MPRI                 UINT_C(0x02)    /* メッセージキューを優先度順に */
     455
     456#define TA_WMUL                 UINT_C(0x02)    /* 複数の待ちタスク */
     457#define TA_CLR                  UINT_C(0x04)    /* イベントフラグのクリア指定 */
     458
     459#define TA_STA                  UINT_C(0x02)    /* 周期ハンドラを動作状態で生成 */
     460
     461#define TA_NONKERNEL    UINT_C(0x02)    /* カーネル管理外の割込み */
     462
     463#define TA_ENAINT               UINT_C(0x01)    /* 割込み要求禁止フラグをクリア */
     464#define TA_EDGE                 UINT_C(0x02)    /* エッジトリガ */
     465
     466/*
     467 *  サービスコールの動作モードの定義
     468 */
     469#define TWF_ORW                 UINT_C(0x01)    /* イベントフラグのOR待ち */
     470#define TWF_ANDW                UINT_C(0x02)    /* イベントフラグのAND待ち */
     471
     472/*
     473 *  オブジェクトの状態の定義
     474 */
     475#define TTS_RUN                 UINT_C(0x01)    /* 実行状態 */
     476#define TTS_RDY                 UINT_C(0x02)    /* 実行可能状態 */
     477#define TTS_WAI                 UINT_C(0x04)    /* 待ち状態 */
     478#define TTS_SUS                 UINT_C(0x08)    /* 強制待ち状態 */
     479#define TTS_WAS                 UINT_C(0x0c)    /* 二重待ち状態 */
     480#define TTS_DMT                 UINT_C(0x10)    /* 休止状態 */
     481
     482#define TTW_SLP                 UINT_C(0x0001)  /* 起床待ち */
     483#define TTW_DLY                 UINT_C(0x0002)  /* 時間経過待ち */
     484#define TTW_SEM                 UINT_C(0x0004)  /* セマフォの資源獲得待ち */
     485#define TTW_FLG                 UINT_C(0x0008)  /* イベントフラグ待ち */
     486#define TTW_SDTQ                UINT_C(0x0010)  /* データキューへの送信待ち */
     487#define TTW_RDTQ                UINT_C(0x0020)  /* データキューからの受信待ち */
     488#define TTW_SPDQ                UINT_C(0x0100)  /* 優先度データキューへの送信待ち */
     489#define TTW_RPDQ                UINT_C(0x0200)  /* 優先度データキューからの受信待ち */
     490#define TTW_MBX                 UINT_C(0x0040)  /* メールボックスからの受信待ち */
     491#define TTW_MPF                 UINT_C(0x2000)  /* 固定長メモリブロックの獲得待ち */
     492
     493#define TTEX_ENA                UINT_C(0x01)    /* タスク例外処理許可状態 */
     494#define TTEX_DIS                UINT_C(0x02)    /* タスク例外処理禁止状態 */
     495
     496#define TCYC_STP                UINT_C(0x01)    /* 周期ハンドラが動作していない */
     497#define TCYC_STA                UINT_C(0x02)    /* 周期ハンドラが動作している */
     498
     499#define TALM_STP                UINT_C(0x01)    /* アラームハンドラが動作していない */
     500#define TALM_STA                UINT_C(0x02)    /* アラームハンドラが動作している */
     501
     502/*
     503 *  その他の定数の定義
     504 */
     505#define TSK_SELF                0                       /* 自タスク指定 */
     506#define TSK_NONE                0                       /* 該当するタスクがない */
     507
     508#define TPRI_SELF               0                       /* 自タスクのベース優先度 */
     509#define TPRI_INI                0                       /* タスクの起動時優先度 */
     510
     511#define TIPM_ENAALL             0                       /* 割込み優先度マスク全解除 */
     512
     513/*
     514 *  構成定数とマクロ
     515 */
     516
     517/*
     518 *  サポートする機能
    545519 */
    546520#ifdef TOPPERS_TARGET_SUPPORT_DIS_INT
    547 #define TOPPERS_SUPPORT_DIS_INT                 /* dis_int‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚é */
     521#define TOPPERS_SUPPORT_DIS_INT                 /* dis_intがサポートされている */
    548522#endif /* TOPPERS_TARGET_SUPPORT_DIS_INT */
    549523
    550524#ifdef TOPPERS_TARGET_SUPPORT_ENA_INT
    551 #define TOPPERS_SUPPORT_ENA_INT                 /* ena_int‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚é */
     525#define TOPPERS_SUPPORT_ENA_INT                 /* ena_intがサポートされている */
    552526#endif /* TOPPERS_TARGET_SUPPORT_ENA_INT */
    553527
    554528#ifdef TOPPERS_TARGET_SUPPORT_GET_UTM
    555 #define TOPPERS_SUPPORT_GET_UTM                 /* get_utm‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚é */
     529#define TOPPERS_SUPPORT_GET_UTM                 /* get_utmがサポートされている */
    556530#endif /* TOPPERS_TARGET_SUPPORT_GET_UTM */
    557531
    558 #define TOPPERS_SUPPORT_DYNAMIC_CRE             /* “®“I¶¬‹@”\Šg’£ */
    559 
    560 /*
    561  *  —Dæ“x‚͈̔Í
    562  */
    563 #define TMIN_TPRI               1                       /* ƒ^ƒXƒN—Dæ“x‚̍ŏ¬’liÅ‚’lj*/
    564 #define TMAX_TPRI               16                      /* ƒ^ƒXƒN—Dæ“x‚̍őå’liÅ’á’lj*/
    565 #define TMIN_DPRI               1                       /* ƒf[ƒ^—Dæ“x‚̍ŏ¬’liÅ‚’lj*/
    566 #define TMAX_DPRI               16                      /* ƒf[ƒ^—Dæ“x‚̍őå’liÅ’á’lj*/
    567 #define TMIN_MPRI               1                       /* ƒƒbƒZ[ƒW—Dæ“x‚̍ŏ¬’liÅ‚’lj*/
    568 #define TMAX_MPRI               16                      /* ƒƒbƒZ[ƒW—Dæ“x‚̍őå’liÅ’á’lj*/
    569 #define TMIN_ISRPRI             1                       /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“—Dæ“x‚̍ŏ¬’l */
    570 #define TMAX_ISRPRI             16                      /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“—Dæ“x‚̍őå’l */
    571 
    572 /*
    573  *  ƒo[ƒWƒ‡ƒ“î•ñ
    574  */
    575 #define TKERNEL_MAKER   UINT_C(0x0118)  /* ƒJ[ƒlƒ‹‚̃[ƒJ[ƒR[ƒh */
    576 #define TKERNEL_PRID    UINT_C(0x0007)  /* ƒJ[ƒlƒ‹‚ÌŽ¯•Ê”ԍ† */
    577 #define TKERNEL_SPVER   UINT_C(0xf517)  /* ƒJ[ƒlƒ‹Žd—l‚̃o[ƒWƒ‡ƒ“”ԍ† */
    578 #define TKERNEL_PRVER   UINT_C(0x1092)  /* ƒJ[ƒlƒ‹‚̃o[ƒWƒ‡ƒ“”ԍ† */
    579 
    580 /*
    581  *  ƒLƒ
    582 [ƒCƒ“ƒO‰ñ”‚̍őå’l
    583  */
    584 #define TMAX_ACTCNT             UINT_C(1)               /* ‹N“®—v‹ƒLƒ
    585 [ƒCƒ“ƒO”‚̍őå’l */
    586 #define TMAX_WUPCNT             UINT_C(1)               /* ‹N°—v‹ƒLƒ
    587 [ƒCƒ“ƒO”‚̍őå’l */
    588 
    589 /*
    590  *  ƒrƒbƒgƒpƒ^[ƒ“‚̃rƒbƒg”
    591  */
    592 #ifndef TBIT_TEXPTN                                     /* ƒ^ƒXƒN—áŠO—vˆö‚̃rƒbƒg” */
     532#define TOPPERS_SUPPORT_DYNAMIC_CRE             /* 動的生成機能拡張 */
     533
     534/*
     535 *  優先度の範囲
     536 */
     537#define TMIN_TPRI               1                       /* タスク優先度の最小値(最高値)*/
     538#define TMAX_TPRI               16                      /* タスク優先度の最大値(最低値)*/
     539#define TMIN_DPRI               1                       /* データ優先度の最小値(最高値)*/
     540#define TMAX_DPRI               16                      /* データ優先度の最大値(最低値)*/
     541#define TMIN_MPRI               1                       /* メッセージ優先度の最小値(最高値)*/
     542#define TMAX_MPRI               16                      /* メッセージ優先度の最大値(最低値)*/
     543#define TMIN_ISRPRI             1                       /* 割込みサービスルーチン優先度の最小値 */
     544#define TMAX_ISRPRI             16                      /* 割込みサービスルーチン優先度の最大値 */
     545
     546/*
     547 *  バージョン情報
     548 */
     549#define TKERNEL_MAKER   UINT_C(0x0118)  /* カーネルのメーカーコード */
     550#define TKERNEL_PRID    UINT_C(0x0007)  /* カーネルの識別番号 */
     551#define TKERNEL_SPVER   UINT_C(0xf517)  /* カーネル仕様のバージョン番号 */
     552#define TKERNEL_PRVER   UINT_C(0x1092)  /* カーネルのバージョン番号 */
     553
     554/*
     555 *  キューイング回数の最大値
     556 */
     557#define TMAX_ACTCNT             UINT_C(1)               /* 起動要求キューイング数の最大値 */
     558#define TMAX_WUPCNT             UINT_C(1)               /* 起床要求キューイング数の最大値 */
     559
     560/*
     561 *  ビットパターンのビット数
     562 */
     563#ifndef TBIT_TEXPTN                                     /* タスク例外要因のビット数 */
    593564#define TBIT_TEXPTN             (sizeof(TEXPTN) * CHAR_BIT)
    594565#endif /* TBIT_TEXPTN */
    595566
    596 #ifndef TBIT_FLGPTN                                     /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚̃rƒbƒg” */
     567#ifndef TBIT_FLGPTN                                     /* イベントフラグのビット数 */
    597568#define TBIT_FLGPTN             (sizeof(FLGPTN) * CHAR_BIT)
    598569#endif /* TBIT_FLGPTN */
    599570
    600571/*
    601  *  ƒƒ‚ƒŠ—̈æŠm•Û‚Ì‚½‚߂̃}ƒNƒ
     572 *  メモリ領域確保のためのマクロ
    602573 *
    603  *  ˆÈ‰º‚ÌTOPPERS_COUNT_SZ‚ÆTOPPERS_ROUND_SZ‚Ì’è‹`‚́Cunit‚ª2‚̋Џæ‚Å‚ 
    604  *  ‚邱‚Æ‚ð‰¼’è‚µ‚Ä‚¢‚éD
     574 *  以下のTOPPERS_COUNT_SZとTOPPERS_ROUND_SZの定義は,unitが2の巾乗であ
     575 *  ることを仮定している.
    605576 */
    606577#ifndef TOPPERS_COUNT_SZ
     
    629600
    630601/*
    631  *  ‚»‚Ì‘¼‚̍\¬’萔
    632  */
    633 #define TMAX_MAXSEM             UINT_MAX        /* ƒZƒ}ƒtƒH‚̍ő厑Œ¹”‚̍őå’l */
     602 *  その他の構成定数
     603 */
     604#define TMAX_MAXSEM             UINT_MAX        /* セマフォの最大資源数の最大値 */
    634605
    635606#ifdef __cplusplus
Note: See TracChangeset for help on using the changeset viewer.