Ignore:
Timestamp:
Aug 3, 2017, 10:46:41 PM (7 years ago)
Author:
coas-nagasima
Message:

プロパティの文字コードにUTF-8を追加、キーワードを削除

Location:
asp3_gr_sakura/trunk/include
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • asp3_gr_sakura/trunk/include/itron.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    88 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    99 *
    10  *  上記著作権è€
    11 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    12  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13  *  変・再é
    14 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    15  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17  *      スコード中に含まれていること.
    18  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19  *      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22  *      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24  *      の無保証規定を掲載すること.
    25  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26  *      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    28  *      と.
    29  *    (a) 再é
    30 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    31 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    32  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    33  *    (b) 再é
    34 å¸ƒã®å½¢æ
    35 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    36  *        報告すること.
    37  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    38  *      害からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトをå
    40 è²¬ã™ã‚‹ã“と.
    41  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    42  *      由に基づく請求からも,上記著作権è€
    43 ãŠã‚ˆã³TOPPERSプロジェクトを
    44  *      å
    45 è²¬ã™ã‚‹ã“と.
     10 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     11 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     12 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     13 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     14 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     15 *      スコード中に含まれていること.
     16 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     17 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     18 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     19 *      の無保証規定を掲載すること.
     20 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     21 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     22 *      と.
     23 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     24 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     25 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     26 *        報告すること.
     27 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     28 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     29 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     30 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     31 *      免責すること.
    4632 *
    47  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    48 ãŠ
    49  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    50  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    51  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    52  *  の責任を負わない.
     33 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     34 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     35 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     36 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     37 *  の責任を負わない.
    5338 *
    5439 *  $Id$
     
    5641
    5742/*
    58  *              ITRON仕様å
    59 ±é€šè¦å®šã®ãƒ‡ãƒ¼ã‚¿åž‹ãƒ»å®šæ•°ãƒ»ãƒžã‚¯ãƒ­
     43 *              ITRON仕様共通規定のデータ型・定数・マクロ
    6044 *
    61  *  このヘッダファイルは,ITRON仕様å
    62 ±é€šè¦å®šã®ãƒ‡ãƒ¼ã‚¿åž‹ãƒ»å®šæ•°ãƒ»ãƒžã‚¯ãƒ­ã®ä¸­
    63  *  で,TOPPERSå
    64 ±é€šãƒ˜ãƒƒãƒ€ãƒ•ã‚¡ã‚¤ãƒ«ã«å«ã¾ã‚Œãªã„ものの定義を含む.ITRON仕
    65  *  様との互換性をå¿
    66 è¦ã¨ã™ã‚‹ã‚¢ãƒ—リケーションがインクルードすることを想
    67  *  定している.
     45 *  このヘッダファイルは,ITRON仕様共通規定のデータ型・定数・マクロの中
     46 *  で,TOPPERS共通ヘッダファイルに含まれないものの定義を含む.ITRON仕
     47 *  様との互換性を必要とするアプリケーションがインクルードすることを想
     48 *  定している.
    6849 *
    69  *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
    70  *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
    71  *  除くようになっている.
     50 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     51 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     52 *  除くようになっている.
    7253 */
    7354
     
    8061
    8162/*
    82  *  TOPPERSå
    83 ±é€šãƒ˜ãƒƒãƒ€ãƒ•ã‚¡ã‚¤ãƒ«
     63 *  TOPPERS共通ヘッダファイル
    8464 */
    8565#include <t_stddef.h>
    8666
    8767/*
    88  *  ITRON仕様å
    89 ±é€šãƒ‡ãƒ¼ã‚¿åž‹
     68 *  ITRON仕様共通データ型
    9069 */
    9170#ifndef TOPPERS_MACRO_ONLY
    9271
    9372#ifdef INT8_MAX
    94 typedef int8_t                  B;                      /* 符号付き8ビット整数 */
     73typedef int8_t                  B;                      /* 符号付き8ビット整数 */
    9574#endif /* INT8_MAX */
    9675
    9776#ifdef UINT8_MAX
    98 typedef uint8_t                 UB;                     /* 符号無し8ビット整数 */
    99 typedef uint8_t                 VB;                     /* 型が定まらない8ビットの値 */
     77typedef uint8_t                 UB;                     /* 符号無し8ビット整数 */
     78typedef uint8_t                 VB;                     /* 型が定まらない8ビットの値 */
    10079#endif /* UINT8_MAX */
    10180
    102 typedef int16_t                 H;                      /* 符号付き16ビット整数 */
    103 typedef uint16_t                UH;                     /* 符号無し16ビット整数 */
    104 typedef uint16_t                VH;                     /* 型が定まらない16ビットの値 */
     81typedef int16_t                 H;                      /* 符号付き16ビット整数 */
     82typedef uint16_t                UH;                     /* 符号無し16ビット整数 */
     83typedef uint16_t                VH;                     /* 型が定まらない16ビットの値 */
    10584
    106 typedef int32_t                 W;                      /* 符号付き32ビット整数 */
    107 typedef uint32_t                UW;                     /* 符号無し32ビット整数 */
    108 typedef uint32_t                VW;                     /* 型が定まらない32ビットの値 */
     85typedef int32_t                 W;                      /* 符号付き32ビット整数 */
     86typedef uint32_t                UW;                     /* 符号無し32ビット整数 */
     87typedef uint32_t                VW;                     /* 型が定まらない32ビットの値 */
    10988
    11089#ifdef INT64_MAX
    111 typedef int64_t                 D;                      /* 符号付き64ビット整数 */
     90typedef int64_t                 D;                      /* 符号付き64ビット整数 */
    11291#endif /* INT64_MAX */
    11392
    11493#ifdef UINT64_MAX
    115 typedef uint64_t                UD;                     /* 符号無し64ビット整数 */
    116 typedef uint64_t                VD;                     /* 型が定まらない64ビットの値 */
     94typedef uint64_t                UD;                     /* 符号無し64ビット整数 */
     95typedef uint64_t                VD;                     /* 型が定まらない64ビットの値 */
    11796#endif /* UINT64_MAX */
    11897
    119 typedef void                    *VP;            /* 型が定まらないものへのポインタ */
     98typedef void                    *VP;            /* 型が定まらないものへのポインタ */
    12099
    121 typedef int_t                   INT;            /* 自然なサイズの符号付き整数 */
    122 typedef uint_t                  UINT;           /* 自然なサイズの符号無し整数 */
     100typedef int_t                   INT;            /* 自然なサイズの符号付き整数 */
     101typedef uint_t                  UINT;           /* 自然なサイズの符号無し整数 */
    123102
    124 typedef bool_t                  BOOL;           /* 真偽値 */
     103typedef bool_t                  BOOL;           /* 真偽値 */
    125104
    126 typedef size_t                  SIZE;           /* メモリ領域のサイズを表す符号無し整数*/
    127 typedef intptr_t                VP_INT;         /* ポインタまたは符号付き整数 */
     105typedef size_t                  SIZE;           /* メモリ領域のサイズを表す符号無し整数*/
     106typedef intptr_t                VP_INT;         /* ポインタまたは符号付き整数 */
    128107
    129108#endif /* TOPPERS_MACRO_ONLY */
    130109
    131110/*
    132  *  ITRON仕様å
    133 ±é€šå®šæ•°
     111 *  ITRON仕様共通定数
    134112 */
    135 #define TRUE            true                    /* 真 */
    136 #define FALSE           false                   /* 偽 */
     113#define TRUE            true                    /* */
     114#define FALSE           false                   /* */
    137115
    138116/*
    139  *  強制å¾
    140 ã¡çŠ¶æ
    141 ‹ã‹ã‚‰ã®å¼·åˆ¶å†é–‹
     117 *  強制待ち状態からの強制再開
    142118 */
    143119#define frsm_tsk(tskid)         rsm_tsk(tskid)
    144120
    145121/*
    146  *  オブジェクト属性の定義
     122 *  オブジェクト属性の定義
    147123 */
    148 #define TA_HLNG                 UINT_C(0x00)    /* 高級言語用インタフェース */
    149 #define TA_TFIFO                UINT_C(0x00)    /* タスクのå¾
    150 ã¡è¡Œåˆ—ã‚’FIFO順に */
    151 #define TA_WSGL                 UINT_C(0x00)    /* å¾
    152 ã¡ã‚¿ã‚¹ã‚¯ã¯1つのみ */
     124#define TA_HLNG                 UINT_C(0x00)    /* 高級言語用インタフェース */
     125#define TA_TFIFO                UINT_C(0x00)    /* タスクの待ち行列をFIFO順に */
     126#define TA_WSGL                 UINT_C(0x00)    /* 待ちタスクは1つのみ */
    153127
    154128/*
    155  *  ネスト回数の最大値
     129 *  ネスト回数の最大値
    156130 */
    157 #define TMAX_SUSCNT             UINT_C(1)               /* 強制å¾
    158 ã¡è¦æ±‚ネスト数の最大値 */
     131#define TMAX_SUSCNT             UINT_C(1)               /* 強制待ち要求ネスト数の最大値 */
    159132
    160133#ifdef __cplusplus
  • asp3_gr_sakura/trunk/include/kernel.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    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 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              TOPPERS/ASPカーネル 標準ヘッダファイル
     44 *              TOPPERS/ASPカーネル 標準ヘッダファイル
    6045 *
    61  *  TOPPERS/ASPカーネルがサポートするサービスコールの宣言と,å¿
    62 è¦ãªãƒ‡ãƒ¼
    63  *  タ型,定数,マクロの定義を含むヘッダファイル.
     46 *  TOPPERS/ASPカーネルがサポートするサービスコールの宣言と,必要なデー
     47 *  タ型,定数,マクロの定義を含むヘッダファイル.
    6448 *
    65  *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
    66  *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
    67  *  除くようになっている.
     49 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     50 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     51 *  除くようになっている.
    6852 */
    6953
     
    7660
    7761/*
    78  *      TOPPERSå
    79 ±é€šã®ãƒ‡ãƒ¼ã‚¿åž‹ãƒ»å®šæ•°ãƒ»ãƒžã‚¯ãƒ­
     62 *      TOPPERS共通のデータ型・定数・マクロ
    8063 */
    8164#include <t_stddef.h>
    8265
    8366/*
    84  *  ターゲット依存部
     67 *  ターゲット依存部
    8568 */
    8669#include "target_kernel.h"
    8770
    8871/*
    89  *  サポートする機能
     72 *  サポートする機能
    9073 */
    9174#ifdef TOPPERS_TARGET_SUPPORT_DIS_INT
    92 #define TOPPERS_SUPPORT_DIS_INT                 /* dis_intがサポートされている */
     75#define TOPPERS_SUPPORT_DIS_INT                 /* dis_intがサポートされている */
    9376#endif /* TOPPERS_TARGET_SUPPORT_DIS_INT */
    9477
    9578#ifdef TOPPERS_TARGET_SUPPORT_ENA_INT
    96 #define TOPPERS_SUPPORT_ENA_INT                 /* ena_intがサポートされている */
     79#define TOPPERS_SUPPORT_ENA_INT                 /* ena_intがサポートされている */
    9780#endif /* TOPPERS_TARGET_SUPPORT_ENA_INT */
    9881
    9982#ifdef TOPPERS_TARGET_SUPPORT_CLR_INT
    100 #define TOPPERS_SUPPORT_CLR_INT                 /* clr_intがサポートされている */
     83#define TOPPERS_SUPPORT_CLR_INT                 /* clr_intがサポートされている */
    10184#endif /* TOPPERS_TARGET_SUPPORT_CLR_INT */
    10285
    10386#ifdef TOPPERS_TARGET_SUPPORT_RAS_INT
    104 #define TOPPERS_SUPPORT_RAS_INT                 /* ras_intがサポートされている */
     87#define TOPPERS_SUPPORT_RAS_INT                 /* ras_intがサポートされている */
    10588#endif /* TOPPERS_TARGET_SUPPORT_RAS_INT */
    10689
    10790#ifdef TOPPERS_TARGET_SUPPORT_PRB_INT
    108 #define TOPPERS_SUPPORT_PRB_INT                 /* prb_intがサポートされている */
     91#define TOPPERS_SUPPORT_PRB_INT                 /* prb_intがサポートされている */
    10992#endif /* TOPPERS_TARGET_SUPPORT_PRB_INT */
    11093
    11194#ifdef TOPPERS_TARGET_SUPPORT_OVRHDR
    112 #define TOPPERS_SUPPORT_OVRHDR                  /* オーバランハンドラ機能拡張 */
     95#define TOPPERS_SUPPORT_OVRHDR                  /* オーバランハンドラ機能拡張 */
    11396#endif /* TOPPERS_TARGET_SUPPORT_OVRHDR */
    11497
    115 #define TOPPERS_SUPPORT_DYNAMIC_CRE             /* 動的生成機能拡張 */
     98#define TOPPERS_SUPPORT_DYNAMIC_CRE             /* 動的生成機能拡張 */
    11699
    117100#ifndef TOPPERS_MACRO_ONLY
    118101
    119102/*
    120  *  データ型の定義
    121  */
    122 
    123 /*
    124  *  ビットパターンやオブジェクト番号の型定義
    125  */
    126 typedef uint_t          FLGPTN;         /* イベントフラグのビットパターン */
    127 typedef uint_t          INTNO;          /* 割込み番号 */
    128 typedef uint_t          INHNO;          /* 割込みハンドラ番号 */
    129 typedef uint_t          EXCNO;          /* CPU例外ハンドラ番号 */
    130 
    131 /*
    132  *  処理単位の型定義
     103 *  データ型の定義
     104 */
     105
     106/*
     107 *  ビットパターンやオブジェクト番号の型定義
     108 */
     109typedef uint_t          FLGPTN;         /* イベントフラグのビットパターン */
     110typedef uint_t          INTNO;          /* 割込み番号 */
     111typedef uint_t          INHNO;          /* 割込みハンドラ番号 */
     112typedef uint_t          EXCNO;          /* CPU例外ハンドラ番号 */
     113
     114/*
     115 *  処理単位の型定義
    133116 */
    134117typedef void    (*TASK)(intptr_t exinf);
     
    142125
    143126/*
    144  *  メモリ領域確保のための型定義
     127 *  メモリ領域確保のための型定義
    145128 */
    146129#ifndef TOPPERS_STK_T
    147130#define TOPPERS_STK_T   intptr_t
    148131#endif /* TOPPERS_STK_T */
    149 typedef TOPPERS_STK_T   STK_T;  /* スタック領域を確保するための型 */
     132typedef TOPPERS_STK_T   STK_T;  /* スタック領域を確保するための型 */
    150133
    151134#ifndef TOPPERS_MPF_T
    152135#define TOPPERS_MPF_T   intptr_t
    153136#endif /* TOPPERS_MPF_T */
    154 typedef TOPPERS_MPF_T   MPF_T;  /* 固定長メモリプール領域を確保するための型 */
    155 
    156 /*
    157  *  タイムイベントの通知方法のパケット形式の定義
    158  */
    159 typedef struct {
    160         intptr_t        exinf;          /* タイムイベントハンドラの拡張æƒ
    161 å ± */
    162         TMEHDR          tmehdr;         /* タイムイベントハンドラのå
    163 ˆé ­ç•ªåœ° */
     137typedef TOPPERS_MPF_T   MPF_T;  /* 固定長メモリプール領域を確保するための型 */
     138
     139/*
     140 *  タイムイベントの通知方法のパケット形式の定義
     141 */
     142typedef struct {
     143        intptr_t        exinf;          /* タイムイベントハンドラの拡張情報 */
     144        TMEHDR          tmehdr;         /* タイムイベントハンドラの先頭番地 */
    164145} T_NFY_HDR;
    165146
    166147typedef struct {
    167         intptr_t        *p_var;         /* 変数の番地 */
    168         intptr_t        value;          /* 設定する値 */
     148        intptr_t        *p_var;         /* 変数の番地 */
     149        intptr_t        value;          /* 設定する値 */
    169150} T_NFY_VAR;
    170151
    171152typedef struct {
    172         intptr_t        *p_var;         /* 変数の番地 */
     153        intptr_t        *p_var;         /* 変数の番地 */
    173154} T_NFY_IVAR;
    174155
    175156typedef struct {
    176         ID                      tskid;          /* タスクID */
     157        ID                      tskid;          /* タスクID */
    177158} T_NFY_TSK;
    178159
    179160typedef struct {
    180         ID                      semid;          /* セマフォID */
     161        ID                      semid;          /* セマフォID */
    181162} T_NFY_SEM;
    182163
    183164typedef struct {
    184         ID                      flgid;          /* イベントフラグID */
    185         FLGPTN          flgptn;         /* セットするビットパターン */
     165        ID                      flgid;          /* イベントフラグID */
     166        FLGPTN          flgptn;         /* セットするビットパターン */
    186167} T_NFY_FLG;
    187168
    188169typedef struct {
    189         ID                      dtqid;          /* データキューID */
    190         intptr_t        data;           /* 送信する値 */
     170        ID                      dtqid;          /* データキューID */
     171        intptr_t        data;           /* 送信する値 */
    191172} T_NFY_DTQ;
    192173
    193174typedef struct {
    194         intptr_t        *p_var;         /* 変数の番地 */
     175        intptr_t        *p_var;         /* 変数の番地 */
    195176} T_ENFY_VAR;
    196177
    197178typedef struct {
    198         ID                      dtqid;          /* データキューID */
     179        ID                      dtqid;          /* データキューID */
    199180} T_ENFY_DTQ;
    200181
    201182typedef struct {
    202         MODE    nfymode;                        /* 通知処理モード */
    203         union {                                         /* タイムイベントの通知に関する付随æƒ
    204 å ± */
     183        MODE    nfymode;                        /* 通知処理モード */
     184        union {                                         /* タイムイベントの通知に関する付随情報 */
    205185                T_NFY_HDR       handler;
    206186                T_NFY_VAR       setvar;         
     
    212192                T_NFY_DTQ       snddtq;
    213193        } nfy;
    214         union {                                         /* エラーの通知に関する付随æƒ
    215 å ± */
     194        union {                                         /* エラーの通知に関する付随情報 */
    216195                T_ENFY_VAR      setvar;
    217196                T_NFY_IVAR      incvar;         
     
    225204
    226205/*
    227  *  パケット形式の定義
     206 *  パケット形式の定義
    228207 */
    229208typedef struct t_ctsk {
    230         ATR                     tskatr;         /* タスク属性 */
    231         intptr_t        exinf;          /* タスクの拡張æƒ
    232 å ± */
    233         TASK            task;           /* タスクのメインルーチンのå
    234 ˆé ­ç•ªåœ° */
    235         PRI                     itskpri;        /* タスクの起動時優å
    236 ˆåº¦ */
    237         size_t          stksz;          /* タスクのスタック領域のサイズ */
    238         STK_T           *stk;           /* タスクのスタック領域のå
    239 ˆé ­ç•ªåœ° */
     209        ATR                     tskatr;         /* タスク属性 */
     210        intptr_t        exinf;          /* タスクの拡張情報 */
     211        TASK            task;           /* タスクのメインルーチンの先頭番地 */
     212        PRI                     itskpri;        /* タスクの起動時優先度 */
     213        size_t          stksz;          /* タスクのスタック領域のサイズ */
     214        STK_T           *stk;           /* タスクのスタック領域の先頭番地 */
    240215} T_CTSK;
    241216
    242217typedef struct t_rtsk {
    243         STAT    tskstat;        /* タスク状æ
    244 ‹ */
    245         PRI             tskpri;         /* タスクの現在優å
    246 ˆåº¦ */
    247         PRI             tskbpri;        /* タスクのベース優å
    248 ˆåº¦ */
    249         STAT    tskwait;        /* å¾
    250 ã¡è¦å›  */
    251         ID              wobjid;         /* å¾
    252 ã¡å¯¾è±¡ã®ã‚ªãƒ–ジェクトのID */
    253         TMO             lefttmo;        /* タイムアウトするまでの時間 */
    254         uint_t  actcnt;         /* 起動要求キューイング数 */
    255         uint_t  wupcnt;         /* 起床要求キューイング数 */
    256         bool_t  raster;         /* タスク終了要求状æ
    257 ‹ */
    258         bool_t  dister;         /* タスク終了禁止状æ
    259 ‹ */
     218        STAT    tskstat;        /* タスク状態 */
     219        PRI             tskpri;         /* タスクの現在優先度 */
     220        PRI             tskbpri;        /* タスクのベース優先度 */
     221        STAT    tskwait;        /* 待ち要因 */
     222        ID              wobjid;         /* 待ち対象のオブジェクトのID */
     223        TMO             lefttmo;        /* タイムアウトするまでの時間 */
     224        uint_t  actcnt;         /* 起動要求キューイング数 */
     225        uint_t  wupcnt;         /* 起床要求キューイング数 */
     226        bool_t  raster;         /* タスク終了要求状態 */
     227        bool_t  dister;         /* タスク終了禁止状態 */
    260228} T_RTSK;
    261229
    262230typedef struct t_csem {
    263         ATR             sematr;         /* セマフォ属性 */
    264         uint_t  isemcnt;        /* セマフォの初期資源数 */
    265         uint_t  maxsem;         /* セマフォの最大資源数 */
     231        ATR             sematr;         /* セマフォ属性 */
     232        uint_t  isemcnt;        /* セマフォの初期資源数 */
     233        uint_t  maxsem;         /* セマフォの最大資源数 */
    266234} T_CSEM;
    267235
    268236typedef struct t_rsem {
    269         ID              wtskid;         /* セマフォのå¾
    270 ã¡è¡Œåˆ—のå
    271 ˆé ­ã®ã‚¿ã‚¹ã‚¯ã®ID番号 */
    272         uint_t  semcnt;         /* セマフォの現在の資源数 */
     237        ID              wtskid;         /* セマフォの待ち行列の先頭のタスクのID番号 */
     238        uint_t  semcnt;         /* セマフォの現在の資源数 */
    273239} T_RSEM;
    274240
    275241typedef struct t_cflg {
    276         ATR             flgatr;         /* イベントフラグ属性 */
    277         FLGPTN  iflgptn;        /* イベントフラグの初期ビットパターン */
     242        ATR             flgatr;         /* イベントフラグ属性 */
     243        FLGPTN  iflgptn;        /* イベントフラグの初期ビットパターン */
    278244} T_CFLG;
    279245
    280246typedef struct t_rflg {
    281         ID              wtskid;         /* イベントフラグのå¾
    282 ã¡è¡Œåˆ—のå
    283 ˆé ­ã®ã‚¿ã‚¹ã‚¯ã®ID番号 */
    284         FLGPTN  flgptn;         /* イベントフラグの現在のビットパターン */
     247        ID              wtskid;         /* イベントフラグの待ち行列の先頭のタスクのID番号 */
     248        FLGPTN  flgptn;         /* イベントフラグの現在のビットパターン */
    285249} T_RFLG;
    286250
    287251typedef struct t_cdtq {
    288         ATR             dtqatr;         /* データキュー属性 */
    289         uint_t  dtqcnt;         /* データキュー管理領域に格納できるデータ数 */
    290         void    *dtqmb;         /* データキュー管理領域のå
    291 ˆé ­ç•ªåœ° */
     252        ATR             dtqatr;         /* データキュー属性 */
     253        uint_t  dtqcnt;         /* データキュー管理領域に格納できるデータ数 */
     254        void    *dtqmb;         /* データキュー管理領域の先頭番地 */
    292255} T_CDTQ;
    293256
    294257typedef struct t_rdtq {
    295         ID              stskid;         /* データキューの送信å¾
    296 ã¡è¡Œåˆ—のå
    297 ˆé ­ã®ã‚¿ã‚¹ã‚¯ã®ID番号 */
    298         ID              rtskid;         /* データキューの受信å¾
    299 ã¡è¡Œåˆ—のå
    300 ˆé ­ã®ã‚¿ã‚¹ã‚¯ã®ID番号 */
    301         uint_t  sdtqcnt;        /* データキュー管理領域に格納されているデータの数 */
     258        ID              stskid;         /* データキューの送信待ち行列の先頭のタスクのID番号 */
     259        ID              rtskid;         /* データキューの受信待ち行列の先頭のタスクのID番号 */
     260        uint_t  sdtqcnt;        /* データキュー管理領域に格納されているデータの数 */
    302261} T_RDTQ;
    303262
    304263typedef struct t_cpdq {
    305         ATR             pdqatr;         /* 優å
    306 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼å±žæ€§ */
    307         uint_t  pdqcnt;         /* 優å
    308 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ç®¡ç†é ˜åŸŸã«æ ¼ç´ã§ãã‚‹ãƒ‡ãƒ¼ã‚¿æ•° */
    309         PRI             maxdpri;        /* 優å
    310 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã«é€ä¿¡ã§ãã‚‹ãƒ‡ãƒ¼ã‚¿å„ªå
    311 ˆåº¦ã®æœ€
    312                                                    å¤§å€¤ */
    313         void    *pdqmb;         /* 優å
    314 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ç®¡ç†é ˜åŸŸã®å
    315 ˆé ­ç•ªåœ° */
     264        ATR             pdqatr;         /* 優先度データキュー属性 */
     265        uint_t  pdqcnt;         /* 優先度データキュー管理領域に格納できるデータ数 */
     266        PRI             maxdpri;        /* 優先度データキューに送信できるデータ優先度の最
     267                                                   大値 */
     268        void    *pdqmb;         /* 優先度データキュー管理領域の先頭番地 */
    316269} T_CPDQ;
    317270
    318271typedef struct t_rpdq {
    319         ID              stskid;         /* 優å
    320 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã®é€ä¿¡å¾
    321 ã¡è¡Œåˆ—のå
    322 ˆé ­ã®ã‚¿ã‚¹ã‚¯
    323                                                    ã®ID番号 */
    324         ID              rtskid;         /* 優å
    325 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã®å—ä¿¡å¾
    326 ã¡è¡Œåˆ—のå
    327 ˆé ­ã®ã‚¿ã‚¹ã‚¯
    328                                                    ã®ID番号 */
    329         uint_t  spdqcnt;        /* 優å
    330 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ç®¡ç†é ˜åŸŸã«æ ¼ç´ã•ã‚Œã¦ã„るデー
    331                                                    ã‚¿ã®æ•° */
     272        ID              stskid;         /* 優先度データキューの送信待ち行列の先頭のタスク
     273                                                   のID番号 */
     274        ID              rtskid;         /* 優先度データキューの受信待ち行列の先頭のタスク
     275                                                   のID番号 */
     276        uint_t  spdqcnt;        /* 優先度データキュー管理領域に格納されているデー
     277                                                   タの数 */
    332278} T_RPDQ;
    333279
    334280typedef struct t_cmtx {
    335         ATR             mtxatr;         /* ミューテックス属性 */
    336         PRI             ceilpri;        /* ミューテックスの上限優å
    337 ˆåº¦ */
     281        ATR             mtxatr;         /* ミューテックス属性 */
     282        PRI             ceilpri;        /* ミューテックスの上限優先度 */
    338283} T_CMTX;
    339284
    340285typedef struct t_rmtx {
    341         ID              htskid;         /* ミューテックスをロックしているタスクのID番号 */
    342         ID              wtskid;         /* ミューテックスのå¾
    343 ã¡è¡Œåˆ—のå
    344 ˆé ­ã®ã‚¿ã‚¹ã‚¯ã®ID番号 */
     286        ID              htskid;         /* ミューテックスをロックしているタスクのID番号 */
     287        ID              wtskid;         /* ミューテックスの待ち行列の先頭のタスクのID番号 */
    345288} T_RMTX;
    346289
    347290typedef struct t_cmpf {
    348         ATR             mpfatr;         /* 固定長メモリプール属性 */
    349         uint_t  blkcnt;         /* 獲得できる固定長メモリブロックの数 */
    350         uint_t  blksz;          /* 固定長メモリブロックのサイズ */
    351         MPF_T   *mpf;           /* 固定長メモリプール領域のå
    352 ˆé ­ç•ªåœ° */
    353         void    *mpfmb;         /* 固定長メモリプール管理領域のå
    354 ˆé ­ç•ªåœ° */
     291        ATR             mpfatr;         /* 固定長メモリプール属性 */
     292        uint_t  blkcnt;         /* 獲得できる固定長メモリブロックの数 */
     293        uint_t  blksz;          /* 固定長メモリブロックのサイズ */
     294        MPF_T   *mpf;           /* 固定長メモリプール領域の先頭番地 */
     295        void    *mpfmb;         /* 固定長メモリプール管理領域の先頭番地 */
    355296} T_CMPF;
    356297
    357298typedef struct t_rmpf {
    358         ID              wtskid;         /* 固定長メモリプールのå¾
    359 ã¡è¡Œåˆ—のå
    360 ˆé ­ã®ã‚¿ã‚¹ã‚¯ã®
    361                                                    ID番号 */
    362         uint_t  fblkcnt;        /* 固定長メモリプール領域の空きメモリ領域に割り
    363                                                    ä»˜ã‘ることができる固定長メモリブロックの数 */
     299        ID              wtskid;         /* 固定長メモリプールの待ち行列の先頭のタスクの
     300                                                   ID番号 */
     301        uint_t  fblkcnt;        /* 固定長メモリプール領域の空きメモリ領域に割り
     302                                                   付けることができる固定長メモリブロックの数 */
    364303} T_RMPF;
    365304
    366305typedef struct t_ccyc {
    367         ATR                     cycatr;         /* 周期通知属性 */
    368         T_NFYINFO       nfyinfo;        /* 周期通知の通知方法 */
    369         RELTIM          cyctim;         /* 周期通知の通知周期 */
    370         RELTIM          cycphs;         /* 周期通知の通知位相 */
     306        ATR                     cycatr;         /* 周期通知属性 */
     307        T_NFYINFO       nfyinfo;        /* 周期通知の通知方法 */
     308        RELTIM          cyctim;         /* 周期通知の通知周期 */
     309        RELTIM          cycphs;         /* 周期通知の通知位相 */
    371310} T_CCYC;
    372311
    373312typedef struct t_rcyc {
    374         STAT    cycstat;        /* 周期通知の動作状æ
    375 ‹ */
    376         RELTIM  lefttim;        /* 次回通知時刻までの相対時間 */
     313        STAT    cycstat;        /* 周期通知の動作状態 */
     314        RELTIM  lefttim;        /* 次回通知時刻までの相対時間 */
    377315} T_RCYC;
    378316
    379317typedef struct t_calm {
    380         ATR                     almatr;         /* アラーム通知属性 */
    381         T_NFYINFO       nfyinfo;        /* アラーム通知の通知方法 */
     318        ATR                     almatr;         /* アラーム通知属性 */
     319        T_NFYINFO       nfyinfo;        /* アラーム通知の通知方法 */
    382320} T_CALM;
    383321
    384322typedef struct t_ralm {
    385         STAT    almstat;        /* アラーム通知の動作状æ
    386 ‹ */
    387         RELTIM  lefttim;        /* 通知時刻までの相対時間 */
     323        STAT    almstat;        /* アラーム通知の動作状態 */
     324        RELTIM  lefttim;        /* 通知時刻までの相対時間 */
    388325} T_RALM;
    389326
    390327typedef struct t_rovr {
    391         STAT    ovrstat;        /* オーバランハンドラの動作状æ
    392 ‹ */
    393         PRCTIM  leftotm;        /* 残りプロセッサ時間 */
     328        STAT    ovrstat;        /* オーバランハンドラの動作状態 */
     329        PRCTIM  leftotm;        /* 残りプロセッサ時間 */
    394330} T_ROVR;
    395331
    396332typedef struct t_cisr {
    397         ATR                     isratr;         /* 割込みサービスルーチン属性 */
    398         intptr_t        exinf;          /* 割込みサービスルーチンの拡張æƒ
    399 å ± */
    400         INTNO           intno;          /* 割込みサービスルーチンを登録する割込み番号 */
    401         ISR                     isr;            /* 割込みサービスルーチンのå
    402 ˆé ­ç•ªåœ° */
    403         PRI                     isrpri;         /* 割込みサービスルーチン優å
    404 ˆåº¦ */
     333        ATR                     isratr;         /* 割込みサービスルーチン属性 */
     334        intptr_t        exinf;          /* 割込みサービスルーチンの拡張情報 */
     335        INTNO           intno;          /* 割込みサービスルーチンを登録する割込み番号 */
     336        ISR                     isr;            /* 割込みサービスルーチンの先頭番地 */
     337        PRI                     isrpri;         /* 割込みサービスルーチン優先度 */
    405338} T_CISR;
    406339
    407340/*
    408  *  サービスコールの宣言
    409  */
    410 
    411 /*
    412  *  タスク管理機能
     341 *  サービスコールの宣言
     342 */
     343
     344/*
     345 *  タスク管理機能
    413346 */
    414347extern ER_UINT  acre_tsk(const T_CTSK *pk_ctsk) throw();
     
    423356
    424357/*
    425  *  タスク付属同期機能
     358 *  タスク付属同期機能
    426359 */
    427360extern ER               slp_tsk(void) throw();
     
    435368
    436369/*
    437  *  タスク終了機能
     370 *  タスク終了機能
    438371 */
    439372extern ER               ext_tsk(void) throw();
     
    445378
    446379/*
    447  *  同期・通信機能
     380 *  同期・通信機能
    448381 */
    449382extern ER_ID    acre_sem(const T_CSEM *pk_csem) throw();
     
    504437
    505438/*
    506  *  メモリプール管理機能
     439 *  メモリプール管理機能
    507440 */
    508441extern ER_ID    acre_mpf(const T_CMPF *pk_cmpf) throw();
     
    516449
    517450/*
    518  *  時間管理機能
     451 *  時間管理機能
    519452 */
    520453extern ER               set_tim(SYSTIM systim) throw();
     
    540473
    541474/*
    542  *  システム状æ
    543 ‹ç®¡ç†æ©Ÿèƒ½
     475 *  システム状態管理機能
    544476 */
    545477extern ER               rot_rdq(PRI tskpri) throw();
     
    559491
    560492/*
    561  *  割込み管理機能
     493 *  割込み管理機能
    562494 */
    563495extern ER_ID    acre_isr(const T_CISR *pk_cisr) throw();
     
    572504
    573505/*
    574  *  CPU例外管理機能
     506 *  CPU例外管理機能
    575507 */
    576508extern bool_t   xsns_dpn(void *p_excinf) throw();
     
    579511
    580512/*
    581  *  非タスクコンテキストから呼び出せるサービスコール
     513 *  非タスクコンテキストから呼び出せるサービスコール
    582514 */
    583515#define iact_tsk(tskid)                                         act_tsk(tskid)
     
    613545
    614546/*
    615  *  オブジェクト属性の定義
    616  */
    617 #define TA_ACT                  UINT_C(0x01)    /* タスクを起動された状æ
    618 ‹ã§ç”Ÿæˆ */
    619 #define TA_NOACTQUE             UINT_C(0x02)    /* 起動要求をキューイングしない */
    620 
    621 #define TA_TPRI                 UINT_C(0x01)    /* タスクのå¾
    622 ã¡è¡Œåˆ—を優å
    623 ˆåº¦é †ã« */
    624 
    625 #define TA_WMUL                 UINT_C(0x02)    /* 複数のå¾
    626 ã¡ã‚¿ã‚¹ã‚¯ */
    627 #define TA_CLR                  UINT_C(0x04)    /* イベントフラグのクリア指定 */
    628 
    629 #define TA_CEILING              UINT_C(0x03)    /* 優å
    630 ˆåº¦ä¸Šé™ãƒ—ロトコル */
    631 
    632 #define TA_STA                  UINT_C(0x02)    /* 周期通知を動作状æ
    633 ‹ã§ç”Ÿæˆ */
    634 
    635 #define TA_NONKERNEL    UINT_C(0x02)    /* カーネル管理外の割込み */
    636 
    637 #define TA_ENAINT               UINT_C(0x01)    /* 割込み要求禁止フラグをクリア */
    638 #define TA_EDGE                 UINT_C(0x02)    /* エッジトリガ */
    639 
    640 /*
    641  *  サービスコールの動作モードの定義
    642  */
    643 #define TWF_ORW                 UINT_C(0x01)    /* イベントフラグのORå¾
    644 ã¡ */
    645 #define TWF_ANDW                UINT_C(0x02)    /* イベントフラグのANDå¾
    646 ã¡ */
    647 
    648 /*
    649  *  通知処理モードの定義
    650  */
    651 #define TNFY_HANDLER    UINT_C(0x00)            /* タイムイベントハンドラの呼出し */
    652 #define TNFY_SETVAR             UINT_C(0x01)            /* 変数の設定 */
    653 #define TNFY_INCVAR             UINT_C(0x02)            /* 変数のインクリメント */
    654 #define TNFY_ACTTSK             UINT_C(0x03)            /* タスクの起動 */
    655 #define TNFY_WUPTSK             UINT_C(0x04)            /* タスクの起床 */
    656 #define TNFY_SIGSEM             UINT_C(0x05)            /* セマフォの資源の返却 */
    657 #define TNFY_SETFLG             UINT_C(0x06)            /* イベントフラグのセット */
    658 #define TNFY_SNDDTQ             UINT_C(0x07)            /* データキューへの送信 */
    659 
    660 #define TENFY_SETVAR    UINT_C(0x10)            /* 変数の設定 */
    661 #define TENFY_INCVAR    UINT_C(0x20)            /* 変数のインクリメント */
    662 #define TENFY_ACTTSK    UINT_C(0x30)            /* タスクの起動 */
    663 #define TENFY_WUPTSK    UINT_C(0x40)            /* タスクの起床 */
    664 #define TENFY_SIGSEM    UINT_C(0x50)            /* セマフォの返却 */
    665 #define TENFY_SETFLG    UINT_C(0x60)            /* イベントフラグのセット */
    666 #define TENFY_SNDDTQ    UINT_C(0x70)            /* データキューへの送信 */
    667 
    668 /*
    669  *  オブジェクトの状æ
    670 ‹ã®å®šç¾©
    671  */
    672 #define TTS_RUN                 UINT_C(0x01)    /* 実行状æ
    673 ‹ */
    674 #define TTS_RDY                 UINT_C(0x02)    /* 実行可能状æ
    675 ‹ */
    676 #define TTS_WAI                 UINT_C(0x04)    /* å¾
    677 ã¡çŠ¶æ
    678 ‹ */
    679 #define TTS_SUS                 UINT_C(0x08)    /* 強制å¾
    680 ã¡çŠ¶æ
    681 ‹ */
    682 #define TTS_WAS                 UINT_C(0x0c)    /* 二重å¾
    683 ã¡çŠ¶æ
    684 ‹ */
    685 #define TTS_DMT                 UINT_C(0x10)    /* 休止状æ
    686 ‹ */
    687 
    688 #define TTW_SLP                 UINT_C(0x0001)  /* 起床å¾
    689 ã¡ */
    690 #define TTW_DLY                 UINT_C(0x0002)  /* 時間経過å¾
    691 ã¡ */
    692 #define TTW_SEM                 UINT_C(0x0004)  /* セマフォの資源獲得å¾
    693 ã¡ */
    694 #define TTW_FLG                 UINT_C(0x0008)  /* イベントフラグå¾
    695 ã¡ */
    696 #define TTW_SDTQ                UINT_C(0x0010)  /* データキューへの送信å¾
    697 ã¡ */
    698 #define TTW_RDTQ                UINT_C(0x0020)  /* データキューからの受信å¾
    699 ã¡ */
    700 #define TTW_SPDQ                UINT_C(0x0100)  /* 優å
    701 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã¸ã®é€ä¿¡å¾
    702 ã¡ */
    703 #define TTW_RPDQ                UINT_C(0x0200)  /* 優å
    704 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã‹ã‚‰ã®å—ä¿¡å¾
    705 ã¡ */
    706 #define TTW_MTX                 UINT_C(0x0080)  /* ミューテックスのロックå¾
    707 ã¡çŠ¶æ
    708 ‹ */
    709 #define TTW_MPF                 UINT_C(0x2000)  /* 固定長メモリブロックの獲得å¾
    710 ã¡ */
    711 
    712 #define TCYC_STP                UINT_C(0x01)    /* 周期通知が動作していない */
    713 #define TCYC_STA                UINT_C(0x02)    /* 周期通知が動作している */
    714 
    715 #define TALM_STP                UINT_C(0x01)    /* アラーム通知が動作していない */
    716 #define TALM_STA                UINT_C(0x02)    /* アラーム通知が動作している */
    717 
    718 #define TOVR_STP                UINT_C(0x01)    /* オーバランハンドラが動作していない*/
    719 #define TOVR_STA                UINT_C(0x02)    /* オーバランハンドラが動作している */
    720 
    721 /*
    722  *  その他の定数の定義
    723  */
    724 #define TSK_SELF                0                       /* 自タスク指定 */
    725 #define TSK_NONE                0                       /* 該当するタスクがない */
    726 
    727 #define TPRI_SELF               0                       /* 自タスクのベース優å
    728 ˆåº¦ */
    729 #define TPRI_INI                0                       /* タスクの起動時優å
    730 ˆåº¦ */
    731 
    732 #define TIPM_ENAALL             0                       /* 割込み優å
    733 ˆåº¦ãƒžã‚¹ã‚¯å
    734 ¨è§£é™¤ */
    735 
    736 /*
    737  *  構成定数とマクロ
    738  */
    739 
    740 /*
    741  *  優å
    742 ˆåº¦ã®ç¯„囲
    743  */
    744 #define TMIN_TPRI               1                       /* タスク優å
    745 ˆåº¦ã®æœ€å°å€¤ï¼ˆæœ€é«˜å€¤ï¼‰*/
    746 #define TMAX_TPRI               16                      /* タスク優å
    747 ˆåº¦ã®æœ€å¤§å€¤ï¼ˆæœ€ä½Žå€¤ï¼‰*/
    748 #define TMIN_DPRI               1                       /* データ優å
    749 ˆåº¦ã®æœ€å°å€¤ï¼ˆæœ€é«˜å€¤ï¼‰*/
    750 #define TMAX_DPRI               16                      /* データ優å
    751 ˆåº¦ã®æœ€å¤§å€¤ï¼ˆæœ€ä½Žå€¤ï¼‰*/
    752 #define TMIN_ISRPRI             1                       /* 割込みサービスルーチン優å
    753 ˆåº¦ã®æœ€å°å€¤ */
    754 #define TMAX_ISRPRI             16                      /* 割込みサービスルーチン優å
    755 ˆåº¦ã®æœ€å¤§å€¤ */
    756 
    757 /*
    758  *  バージョンæƒ
    759 å ±
    760  */
    761 #define TKERNEL_MAKER   UINT_C(0x0118)  /* カーネルのメーカーコード */
    762 #define TKERNEL_PRID    UINT_C(0x0007)  /* カーネルの識別番号 */
    763 #define TKERNEL_SPVER   UINT_C(0xf631)  /* カーネル仕様のバージョン番号 */
    764 #define TKERNEL_PRVER   UINT_C(0x3020)  /* カーネルのバージョン番号 */
    765 
    766 /*
    767  *  キューイング回数の最大値
    768  */
    769 #define TMAX_ACTCNT             UINT_C(1)               /* 起動要求キューイング数の最大値 */
    770 #define TMAX_WUPCNT             UINT_C(1)               /* 起床要求キューイング数の最大値 */
    771 
    772 /*
    773  *  ビットパターンのビット数
    774  */
    775 #ifndef TBIT_FLGPTN                                     /* イベントフラグのビット数 */
     547 *  オブジェクト属性の定義
     548 */
     549#define TA_ACT                  UINT_C(0x01)    /* タスクを起動された状態で生成 */
     550#define TA_NOACTQUE             UINT_C(0x02)    /* 起動要求をキューイングしない */
     551
     552#define TA_TPRI                 UINT_C(0x01)    /* タスクの待ち行列を優先度順に */
     553
     554#define TA_WMUL                 UINT_C(0x02)    /* 複数の待ちタスク */
     555#define TA_CLR                  UINT_C(0x04)    /* イベントフラグのクリア指定 */
     556
     557#define TA_CEILING              UINT_C(0x03)    /* 優先度上限プロトコル */
     558
     559#define TA_STA                  UINT_C(0x02)    /* 周期通知を動作状態で生成 */
     560
     561#define TA_NONKERNEL    UINT_C(0x02)    /* カーネル管理外の割込み */
     562
     563#define TA_ENAINT               UINT_C(0x01)    /* 割込み要求禁止フラグをクリア */
     564#define TA_EDGE                 UINT_C(0x02)    /* エッジトリガ */
     565
     566/*
     567 *  サービスコールの動作モードの定義
     568 */
     569#define TWF_ORW                 UINT_C(0x01)    /* イベントフラグのOR待ち */
     570#define TWF_ANDW                UINT_C(0x02)    /* イベントフラグのAND待ち */
     571
     572/*
     573 *  通知処理モードの定義
     574 */
     575#define TNFY_HANDLER    UINT_C(0x00)            /* タイムイベントハンドラの呼出し */
     576#define TNFY_SETVAR             UINT_C(0x01)            /* 変数の設定 */
     577#define TNFY_INCVAR             UINT_C(0x02)            /* 変数のインクリメント */
     578#define TNFY_ACTTSK             UINT_C(0x03)            /* タスクの起動 */
     579#define TNFY_WUPTSK             UINT_C(0x04)            /* タスクの起床 */
     580#define TNFY_SIGSEM             UINT_C(0x05)            /* セマフォの資源の返却 */
     581#define TNFY_SETFLG             UINT_C(0x06)            /* イベントフラグのセット */
     582#define TNFY_SNDDTQ             UINT_C(0x07)            /* データキューへの送信 */
     583
     584#define TENFY_SETVAR    UINT_C(0x10)            /* 変数の設定 */
     585#define TENFY_INCVAR    UINT_C(0x20)            /* 変数のインクリメント */
     586#define TENFY_ACTTSK    UINT_C(0x30)            /* タスクの起動 */
     587#define TENFY_WUPTSK    UINT_C(0x40)            /* タスクの起床 */
     588#define TENFY_SIGSEM    UINT_C(0x50)            /* セマフォの返却 */
     589#define TENFY_SETFLG    UINT_C(0x60)            /* イベントフラグのセット */
     590#define TENFY_SNDDTQ    UINT_C(0x70)            /* データキューへの送信 */
     591
     592/*
     593 *  オブジェクトの状態の定義
     594 */
     595#define TTS_RUN                 UINT_C(0x01)    /* 実行状態 */
     596#define TTS_RDY                 UINT_C(0x02)    /* 実行可能状態 */
     597#define TTS_WAI                 UINT_C(0x04)    /* 待ち状態 */
     598#define TTS_SUS                 UINT_C(0x08)    /* 強制待ち状態 */
     599#define TTS_WAS                 UINT_C(0x0c)    /* 二重待ち状態 */
     600#define TTS_DMT                 UINT_C(0x10)    /* 休止状態 */
     601
     602#define TTW_SLP                 UINT_C(0x0001)  /* 起床待ち */
     603#define TTW_DLY                 UINT_C(0x0002)  /* 時間経過待ち */
     604#define TTW_SEM                 UINT_C(0x0004)  /* セマフォの資源獲得待ち */
     605#define TTW_FLG                 UINT_C(0x0008)  /* イベントフラグ待ち */
     606#define TTW_SDTQ                UINT_C(0x0010)  /* データキューへの送信待ち */
     607#define TTW_RDTQ                UINT_C(0x0020)  /* データキューからの受信待ち */
     608#define TTW_SPDQ                UINT_C(0x0100)  /* 優先度データキューへの送信待ち */
     609#define TTW_RPDQ                UINT_C(0x0200)  /* 優先度データキューからの受信待ち */
     610#define TTW_MTX                 UINT_C(0x0080)  /* ミューテックスのロック待ち状態 */
     611#define TTW_MPF                 UINT_C(0x2000)  /* 固定長メモリブロックの獲得待ち */
     612
     613#define TCYC_STP                UINT_C(0x01)    /* 周期通知が動作していない */
     614#define TCYC_STA                UINT_C(0x02)    /* 周期通知が動作している */
     615
     616#define TALM_STP                UINT_C(0x01)    /* アラーム通知が動作していない */
     617#define TALM_STA                UINT_C(0x02)    /* アラーム通知が動作している */
     618
     619#define TOVR_STP                UINT_C(0x01)    /* オーバランハンドラが動作していない*/
     620#define TOVR_STA                UINT_C(0x02)    /* オーバランハンドラが動作している */
     621
     622/*
     623 *  その他の定数の定義
     624 */
     625#define TSK_SELF                0                       /* 自タスク指定 */
     626#define TSK_NONE                0                       /* 該当するタスクがない */
     627
     628#define TPRI_SELF               0                       /* 自タスクのベース優先度 */
     629#define TPRI_INI                0                       /* タスクの起動時優先度 */
     630
     631#define TIPM_ENAALL             0                       /* 割込み優先度マスク全解除 */
     632
     633/*
     634 *  構成定数とマクロ
     635 */
     636
     637/*
     638 *  優先度の範囲
     639 */
     640#define TMIN_TPRI               1                       /* タスク優先度の最小値(最高値)*/
     641#define TMAX_TPRI               16                      /* タスク優先度の最大値(最低値)*/
     642#define TMIN_DPRI               1                       /* データ優先度の最小値(最高値)*/
     643#define TMAX_DPRI               16                      /* データ優先度の最大値(最低値)*/
     644#define TMIN_ISRPRI             1                       /* 割込みサービスルーチン優先度の最小値 */
     645#define TMAX_ISRPRI             16                      /* 割込みサービスルーチン優先度の最大値 */
     646
     647/*
     648 *  バージョン情報
     649 */
     650#define TKERNEL_MAKER   UINT_C(0x0118)  /* カーネルのメーカーコード */
     651#define TKERNEL_PRID    UINT_C(0x0007)  /* カーネルの識別番号 */
     652#define TKERNEL_SPVER   UINT_C(0xf631)  /* カーネル仕様のバージョン番号 */
     653#define TKERNEL_PRVER   UINT_C(0x3020)  /* カーネルのバージョン番号 */
     654
     655/*
     656 *  キューイング回数の最大値
     657 */
     658#define TMAX_ACTCNT             UINT_C(1)               /* 起動要求キューイング数の最大値 */
     659#define TMAX_WUPCNT             UINT_C(1)               /* 起床要求キューイング数の最大値 */
     660
     661/*
     662 *  ビットパターンのビット数
     663 */
     664#ifndef TBIT_FLGPTN                                     /* イベントフラグのビット数 */
    776665#define TBIT_FLGPTN             (sizeof(FLGPTN) * CHAR_BIT)
    777666#endif /* TBIT_FLGPTN */
    778667
    779668/*
    780  *  システム時刻の調整できる範囲(単位:μ秒)
    781  */
    782 #define TMIN_ADJTIM             -1000000                /* システム時刻の最小調整時間 */
    783 #define TMAX_ADJTIM             1000000                 /* システム時刻の最大調整時間 */
    784 
    785 /*
    786  *  オーバランハンドラの残りプロセッサ時間の最大値(単位:μ秒)
     669 *  システム時刻の調整できる範囲(単位:μ秒)
     670 */
     671#define TMIN_ADJTIM             -1000000                /* システム時刻の最小調整時間 */
     672#define TMAX_ADJTIM             1000000                 /* システム時刻の最大調整時間 */
     673
     674/*
     675 *  オーバランハンドラの残りプロセッサ時間の最大値(単位:μ秒)
    787676 */
    788677#ifndef TMAX_OVRTIM
     
    791680
    792681/*
    793  *  メモリ領域確保のためのマクロ
     682 *  メモリ領域確保のためのマクロ
    794683 *
    795  *  以下のTOPPERS_COUNT_SZとTOPPERS_ROUND_SZの定義は,unitが2の巾乗であ
    796  *  ることを仮定している.
     684 *  以下のTOPPERS_COUNT_SZとTOPPERS_ROUND_SZの定義は,unitが2の巾乗であ
     685 *  ることを仮定している.
    797686 */
    798687#ifndef TOPPERS_COUNT_SZ
     
    821710
    822711/*
    823  *  その他の構成定数
    824  */
    825 #define TMAX_MAXSEM             UINT_MAX        /* セマフォの最大資源数の最大値 */
     712 *  その他の構成定数
     713 */
     714#define TMAX_MAXSEM             UINT_MAX        /* セマフォの最大資源数の最大値 */
    826715
    827716#ifdef __cplusplus
  • asp3_gr_sakura/trunk/include/log_output.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    88 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    99 *
    10  *  上記著作権è€
    11 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    12  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13  *  変・再é
    14 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    15  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17  *      スコード中に含まれていること.
    18  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19  *      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22  *      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24  *      の無保証規定を掲載すること.
    25  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26  *      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    28  *      と.
    29  *    (a) 再é
    30 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    31 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    32  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    33  *    (b) 再é
    34 å¸ƒã®å½¢æ
    35 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    36  *        報告すること.
    37  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    38  *      害からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトをå
    40 è²¬ã™ã‚‹ã“と.
    41  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    42  *      由に基づく請求からも,上記著作権è€
    43 ãŠã‚ˆã³TOPPERSプロジェクトを
    44  *      å
    45 è²¬ã™ã‚‹ã“と.
     10 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     11 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     12 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     13 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     14 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     15 *      スコード中に含まれていること.
     16 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     17 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     18 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     19 *      の無保証規定を掲載すること.
     20 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     21 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     22 *      と.
     23 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     24 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     25 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     26 *        報告すること.
     27 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     28 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     29 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     30 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     31 *      免責すること.
    4632 *
    47  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    48 ãŠ
    49  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    50  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    51  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    52  *  の責任を負わない.
     33 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     34 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     35 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     36 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     37 *  の責任を負わない.
    5338 *
    5439 *  $Id$
     
    5641
    5742/*
    58  *              システムログのフォーマット出力
     43 *              システムログのフォーマット出力
    5944 */
    6045
     
    7055
    7156/*
    72  *  文字列整形出力
     57 *  文字列整形出力
    7358 *
    74  *  formatで指定されるフォーマット記述とp_argsで指定される引数列から作
    75  *  成したメッセージを,1文字出力関数putcを用いて出力する.
     59 *  formatで指定されるフォーマット記述とp_argsで指定される引数列から作
     60 *  成したメッセージを,1文字出力関数putcを用いて出力する.
    7661 */
    7762extern void     syslog_printf(const char *format, const intptr_t *p_args,
     
    7964
    8065/*
    81  *  ログæƒ
    82 å ±ã®å‡ºåŠ›
     66 *  ログ情報の出力
    8367 *
    84  *  p_syslogで指定されるログæƒ
    85 å ±ã‚’文字列に整形し,1文字出力関数putcを用
    86  *  いて出力する.
     68 *  p_syslogで指定されるログ情報を文字列に整形し,1文字出力関数putcを用
     69 *  いて出力する.
    8770 */
    8871extern void     syslog_print(const SYSLOG *p_syslog, void (*putc)(char)) throw();
    8972
    9073/*
    91  *  ログæƒ
    92 å ±å–ªå¤±ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸æ–‡å­—列
     74 *  ログ情報喪失メッセージ文字列
    9375 *
    94  *  lostlog個のログæƒ
    95 å ±ãŒå¤±ã‚ã‚ŒãŸæ—¨ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’,1文字出力関数putcを
    96  *  用いて出力する.
     76 *  lostlog個のログ情報が失われた旨のメッセージを,1文字出力関数putcを
     77 *  用いて出力する.
    9778 */
    9879extern void     syslog_lostmsg(uint_t lostlog, void (*putc)(char)) throw();
  • asp3_gr_sakura/trunk/include/queue.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    88 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    99 *
    10  *  上記著作権è€
    11 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    12  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13  *  変・再é
    14 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    15  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17  *      スコード中に含まれていること.
    18  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19  *      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22  *      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24  *      の無保証規定を掲載すること.
    25  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26  *      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    28  *      と.
    29  *    (a) 再é
    30 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    31 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    32  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    33  *    (b) 再é
    34 å¸ƒã®å½¢æ
    35 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    36  *        報告すること.
    37  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    38  *      害からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトをå
    40 è²¬ã™ã‚‹ã“と.
    41  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    42  *      由に基づく請求からも,上記著作権è€
    43 ãŠã‚ˆã³TOPPERSプロジェクトを
    44  *      å
    45 è²¬ã™ã‚‹ã“と.
     10 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     11 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     12 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     13 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     14 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     15 *      スコード中に含まれていること.
     16 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     17 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     18 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     19 *      の無保証規定を掲載すること.
     20 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     21 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     22 *      と.
     23 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     24 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     25 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     26 *        報告すること.
     27 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     28 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     29 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     30 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     31 *      免責すること.
    4632 *
    47  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    48 ãŠ
    49  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    50  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    51  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    52  *  の責任を負わない.
     33 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     34 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     35 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     36 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     37 *  の責任を負わない.
    5338 *
    5439 *  $Id$
     
    5641
    5742/*
    58  *              キュー操作ライブラリ
     43 *              キュー操作ライブラリ
    5944 *
    60  *  このキュー操作ライブラリでは,キューヘッダを含むリング構造のダブル
    61  *  リンクキューを扱う.å
    62 ·ä½“的には,キューヘッダの次エントリはキューの
    63  *  å
    64 ˆé ­ã®ã‚¨ãƒ³ãƒˆãƒªï¼Œå‰ã‚¨ãƒ³ãƒˆãƒªã¯ã‚­ãƒ¥ãƒ¼ã®æœ«å°¾ã®ã‚¨ãƒ³ãƒˆãƒªã¨ã™ã‚‹ï¼Žã¾ãŸï¼Œã‚­
    65  *  ューのå
    66 ˆé ­ã®ã‚¨ãƒ³ãƒˆãƒªã®å‰ã‚¨ãƒ³ãƒˆãƒªã¨ï¼Œã‚­ãƒ¥ãƒ¼ã®æœ«å°¾ã®ã‚¨ãƒ³ãƒˆãƒªã®æ¬¡ã‚¨ãƒ³
    67  *  トリは,キューヘッダとする.空のキューは,次エントリ,前エントリと
    68  *  も自分自身を指すキューヘッダであらわす.
     45 *  このキュー操作ライブラリでは,キューヘッダを含むリング構造のダブル
     46 *  リンクキューを扱う.具体的には,キューヘッダの次エントリはキューの
     47 *  先頭のエントリ,前エントリはキューの末尾のエントリとする.また,キ
     48 *  ューの先頭のエントリの前エントリと,キューの末尾のエントリの次エン
     49 *  トリは,キューヘッダとする.空のキューは,次エントリ,前エントリと
     50 *  も自分自身を指すキューヘッダであらわす.
    6951 */
    7052
     
    8062
    8163/*
    82  *  キューのデータ構造の定義
     64 *  キューのデータ構造の定義
    8365 */
    8466typedef struct queue {
    85         struct queue *p_next;           /* 次エントリへのポインタ */
    86         struct queue *p_prev;           /* 前エントリへのポインタ */
     67        struct queue *p_next;           /* 次エントリへのポインタ */
     68        struct queue *p_prev;           /* 前エントリへのポインタ */
    8769} QUEUE;
    8870
    8971/*
    90  *  キューの初期化
     72 *  キューの初期化
    9173 *
    92  *  p_queueにはキューヘッダを指定する.
     74 *  p_queueにはキューヘッダを指定する.
    9375 */
    9476Inline void
     
    10082
    10183/*
    102  *  キューの前エントリへの挿å
    103 ¥
     84 *  キューの前エントリへの挿入
    10485 *
    105  *  p_queueの前にp_entryを挿å
    106 ¥ã™ã‚‹ï¼Žp_queueにキューヘッダを指定した場
    107  *  合には,キューの末尾にp_entryを挿å
    108 ¥ã™ã‚‹ã“とになる.
     86 *  p_queueの前にp_entryを挿入する.p_queueにキューヘッダを指定した場
     87 *  合には,キューの末尾にp_entryを挿入することになる.
    10988 */
    11089Inline void
     
    11897
    11998/*
    120  *  キューの次エントリへの挿å
    121 ¥
     99 *  キューの次エントリへの挿入
    122100 *
    123  *  p_queueの次にp_entryを挿å
    124 ¥ã™ã‚‹ï¼Žp_queueにキューヘッダを指定した場
    125  *  合には,キューのå
    126 ˆé ­ã«p_entryを挿å
    127 ¥ã™ã‚‹ã“とになる.
     101 *  p_queueの次にp_entryを挿入する.p_queueにキューヘッダを指定した場
     102 *  合には,キューの先頭にp_entryを挿入することになる.
    128103 */
    129104Inline void
     
    137112
    138113/*
    139  *  エントリの削除
     114 *  エントリの削除
    140115 *
    141  *  p_entryをキューから削除する.
     116 *  p_entryをキューから削除する.
    142117 */
    143118Inline void
     
    149124
    150125/*
    151  *  キューの次エントリの取出し
     126 *  キューの次エントリの取出し
    152127 *
    153  *  p_queueの次エントリをキューから削除し,削除したエントリを返す.
    154  *  p_queueにキューヘッダを指定した場合には,キューのå
    155 ˆé ­ã®ã‚¨ãƒ³ãƒˆãƒªã‚’
    156  *  取り出すことになる.p_queueに空のキューを指定して呼び出してはなら
    157  *  ない.
     128 *  p_queueの次エントリをキューから削除し,削除したエントリを返す.
     129 *  p_queueにキューヘッダを指定した場合には,キューの先頭のエントリを
     130 *  取り出すことになる.p_queueに空のキューを指定して呼び出してはなら
     131 *  ない.
    158132 */
    159133Inline QUEUE *
     
    170144
    171145/*
    172  *  キューが空かどうかのチェック
     146 *  キューが空かどうかのチェック
    173147 *
    174  *  p_queueにはキューヘッダを指定する.
     148 *  p_queueにはキューヘッダを指定する.
    175149 */
    176150Inline bool_t
  • asp3_gr_sakura/trunk/include/sil.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    88 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    99 *
    10  *  上記著作権è€
    11 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    12  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13  *  変・再é
    14 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    15  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17  *      スコード中に含まれていること.
    18  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19  *      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22  *      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24  *      の無保証規定を掲載すること.
    25  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26  *      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    28  *      と.
    29  *    (a) 再é
    30 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    31 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    32  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    33  *    (b) 再é
    34 å¸ƒã®å½¢æ
    35 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    36  *        報告すること.
    37  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    38  *      害からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトをå
    40 è²¬ã™ã‚‹ã“と.
    41  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    42  *      由に基づく請求からも,上記著作権è€
    43 ãŠã‚ˆã³TOPPERSプロジェクトを
    44  *      å
    45 è²¬ã™ã‚‹ã“と.
    46  *
    47  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    48 ãŠ
    49  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    50  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    51  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    52  *  の責任を負わない.
     10 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     11 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     12 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     13 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     14 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     15 *      スコード中に含まれていること.
     16 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     17 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     18 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     19 *      の無保証規定を掲載すること.
     20 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     21 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     22 *      と.
     23 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     24 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     25 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     26 *        報告すること.
     27 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     28 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     29 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     30 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     31 *      免責すること.
     32 *
     33 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     34 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     35 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     36 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     37 *  の責任を負わない.
    5338 *
    5439 *  $Id$
     
    5641
    5742/*
    58  *              システムインタフェースレイヤ
     43 *              システムインタフェースレイヤ
    5944 *
    60  *  システムインタフェースレイヤのサービスコールの定義・宣言とマクロな
    61  *  どの定義を含むヘッダファイル.
     45 *  システムインタフェースレイヤのサービスコールの定義・宣言とマクロな
     46 *  どの定義を含むヘッダファイル.
    6247 *
    63  *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
    64  *  は,TOPPERS_MACRO_ONLYを定義しておくことで,マクロ定義以外の記述を
    65  *  除くことができる.
     48 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     49 *  は,TOPPERS_MACRO_ONLYを定義しておくことで,マクロ定義以外の記述を
     50 *  除くことができる.
    6651 */
    6752
     
    7459
    7560/*
    76  *      TOPPERSå
    77 ±é€šã®ãƒ‡ãƒ¼ã‚¿åž‹ãƒ»å®šæ•°ãƒ»ãƒžã‚¯ãƒ­
     61 *      TOPPERS共通のデータ型・定数・マクロ
    7862 */
    7963#include <t_stddef.h>
    8064
    8165/*
    82  *  ターゲット依存部
     66 *  ターゲット依存部
    8367 */
    8468#include "target_sil.h"
     
    8771
    8872/*
    89  *  å
    90 ¨å‰²è¾¼ã¿ãƒ­ãƒƒã‚¯çŠ¶æ
    91 ‹ã®åˆ¶å¾¡
     73 *  全割込みロック状態の制御
    9274 *
    93  *  SIL_PRE_LOC,SIL_LOC_INT(),SIL_UNL_INT()は,ターゲット依存部で用
    94  *  意する.デフォルトの定義は用意していない.
    95  */
    96 
    97 /*
    98  *  微少時間å¾
    99 ã¡
     75 *  SIL_PRE_LOC,SIL_LOC_INT(),SIL_UNL_INT()は,ターゲット依存部で用
     76 *  意する.デフォルトの定義は用意していない.
     77 */
     78
     79/*
     80 *  微少時間待ち
    10081 */
    10182extern void     sil_dly_nse(ulong_t dlytim) throw();
    10283
    10384/*
    104  *  エンディアンの反転
     85 *  エンディアンの反転
    10586 */
    10687#ifndef TOPPERS_SIL_REV_ENDIAN_UINT16
     
    11697
    11798/*
    118  *  メモリ空間アクセス関数
     99 *  メモリ空間アクセス関数
    119100 */
    120101#ifndef TOPPERS_OMIT_SIL_ACCESS
    121102
    122103/*
    123  *  8ビット単位の読出し/書込み
     104 *  8ビット単位の読出し/書込み
    124105 */
    125106#ifdef UINT8_MAX
     
    143124
    144125/*
    145  *  16ビット単位の読出し/書込み
     126 *  16ビット単位の読出し/書込み
    146127 */
    147128
     
    161142}
    162143
    163 #ifdef SIL_ENDIAN_BIG                   /* ビッグエンディアンプロセッサ */
     144#ifdef SIL_ENDIAN_BIG                   /* ビッグエンディアンプロセッサ */
    164145
    165146#define sil_reh_bem(mem)                sil_reh_mem(mem)
     
    188169#endif /* TOPPERS_OMIT_SIL_WRH_LEM */
    189170#else /* SIL_ENDIAN_BIG */
    190 #ifdef SIL_ENDIAN_LITTLE                /* リトルエンディアンプロセッサ */
     171#ifdef SIL_ENDIAN_LITTLE                /* リトルエンディアンプロセッサ */
    191172
    192173#define sil_reh_lem(mem)                sil_reh_mem(mem)
     
    222203
    223204/*
    224  *  32ビット単位の読出し/書込み
     205 *  32ビット単位の読出し/書込み
    225206 */
    226207
     
    240221}
    241222
    242 #ifdef SIL_ENDIAN_BIG                   /* ビッグエンディアンプロセッサ */
     223#ifdef SIL_ENDIAN_BIG                   /* ビッグエンディアンプロセッサ */
    243224
    244225#define sil_rew_bem(mem)                sil_rew_mem(mem)
     
    266247
    267248#endif /* TOPPERS_OMIT_SIL_WRW_LEM */
    268 #else /* SIL_ENDIAN_BIG */              /* リトルエンディアンプロセッサ */
     249#else /* SIL_ENDIAN_BIG */              /* リトルエンディアンプロセッサ */
    269250
    270251#define sil_rew_lem(mem)                sil_rew_mem(mem)
  • asp3_gr_sakura/trunk/include/t_stddef.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    88 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    99 *
    10  *  上記著作権è€
    11 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    12  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13  *  変・再é
    14 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    15  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17  *      スコード中に含まれていること.
    18  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19  *      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22  *      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24  *      の無保証規定を掲載すること.
    25  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26  *      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    28  *      と.
    29  *    (a) 再é
    30 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    31 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    32  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    33  *    (b) 再é
    34 å¸ƒã®å½¢æ
    35 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    36  *        報告すること.
    37  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    38  *      害からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトをå
    40 è²¬ã™ã‚‹ã“と.
    41  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    42  *      由に基づく請求からも,上記著作権è€
    43 ãŠã‚ˆã³TOPPERSプロジェクトを
    44  *      å
    45 è²¬ã™ã‚‹ã“と.
    46  *
    47  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    48 ãŠ
    49  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    50  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    51  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    52  *  の責任を負わない.
     10 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     11 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     12 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     13 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     14 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     15 *      スコード中に含まれていること.
     16 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     17 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     18 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     19 *      の無保証規定を掲載すること.
     20 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     21 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     22 *      と.
     23 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     24 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     25 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     26 *        報告すること.
     27 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     28 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     29 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     30 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     31 *      免責すること.
     32 *
     33 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     34 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     35 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     36 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     37 *  の責任を負わない.
    5338 *
    5439 *  $Id$
     
    5641
    5742/*
    58  *              TOPPERSå
    59 ±é€šãƒ˜ãƒƒãƒ€ãƒ•ã‚¡ã‚¤ãƒ«
    60  *
    61  *  TOPPERS関連のすべてのソースファイルでインクルードすべきヘッダファイ
    62  *  ル.各種のカーネルやソフトウェア部品でå
    63 ±é€šã«ç”¨ã„ることを想定してい
    64  *  る.TOPPERSの各種のカーネルやソフトウェア部品でå
    65 ±é€šã«ç”¨ã„るデータ型,
    66  *  定数,マクロの定義などを含む.
    67  *
    68  *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
    69  *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
    70  *  除くようになっている.
     43 *              TOPPERS共通ヘッダファイル
     44 *
     45 *  TOPPERS関連のすべてのソースファイルでインクルードすべきヘッダファイ
     46 *  ル.各種のカーネルやソフトウェア部品で共通に用いることを想定してい
     47 *  る.TOPPERSの各種のカーネルやソフトウェア部品で共通に用いるデータ型,
     48 *  定数,マクロの定義などを含む.
     49 *
     50 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     51 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     52 *  除くようになっている.
    7153 */
    7254
     
    7961
    8062/*
    81  *  ターゲット依存部
     63 *  ターゲット依存部
    8264 */
    8365#include "target_stddef.h"
    8466
    8567/*
    86  *  C言語/EC++でthrow()に対処するための定義
     68 *  C言語/EC++でthrow()に対処するための定義
    8769 */
    8870#if !defined(__cplusplus) || defined(__embedded_cplusplus)
     
    9375
    9476/*
    95  *  ターゲット依存のデータ型のマクロのデフォルト定義
     77 *  ターゲット依存のデータ型のマクロのデフォルト定義
    9678 */
    9779#ifndef TOPPERS_bool
    98 #define TOPPERS_bool    int                             /* ブール型 */
     80#define TOPPERS_bool    int                             /* ブール型 */
    9981#endif /* TOPPERS_bool */
    10082
     
    10284struct TOPPERS_dummy_t { int TOPPERS_dummy_field; };
    10385typedef void                    (*TOPPERS_fp_t)(struct TOPPERS_dummy_t);
    104 #define TOPPERS_fp              TOPPERS_fp_t    /* プログラムの起動番地 */
     86#define TOPPERS_fp              TOPPERS_fp_t    /* プログラムの起動番地 */
    10587#endif /* TOPPERS_fp */
    10688
    10789/*
    108  *  å
    109 ±é€šãƒ‡ãƒ¼ã‚¿åž‹
    110  */
    111 typedef TOPPERS_bool    bool_t;         /* 真偽値 */
    112 
    113 typedef signed int              int_t;          /* 自然なサイズの符号付き整数 */
    114 typedef unsigned int    uint_t;         /* 自然なサイズの符号無し整数 */
    115 
    116 typedef signed long             long_t;         /* 長めのサイズの符号付き整数 */
    117 typedef unsigned long   ulong_t;        /* 長めのサイズの符号無し整数 */
    118 
    119 typedef int_t                   FN;                     /* 機能コード */
    120 typedef int_t                   ER;                     /* エラーコード */
    121 typedef int_t                   ID;                     /* オブジェクトのID番号 */
    122 typedef uint_t                  ATR;            /* オブジェクトの属性 */
    123 typedef uint_t                  STAT;           /* オブジェクトの状æ
    124 ‹ */
    125 typedef uint_t                  MODE;           /* サービスコールの動作モード */
    126 typedef int_t                   PRI;            /* 優å
    127 ˆåº¦ */
    128 typedef uint32_t                TMO;            /* タイムアウト指定 */
    129 typedef uint32_t                RELTIM;         /* 相対時間[NGKI0550ï¼½*/
     90 *  共通データ型
     91 */
     92typedef TOPPERS_bool    bool_t;         /* 真偽値 */
     93
     94typedef signed int              int_t;          /* 自然なサイズの符号付き整数 */
     95typedef unsigned int    uint_t;         /* 自然なサイズの符号無し整数 */
     96
     97typedef signed long             long_t;         /* 長めのサイズの符号付き整数 */
     98typedef unsigned long   ulong_t;        /* 長めのサイズの符号無し整数 */
     99
     100typedef int_t                   FN;                     /* 機能コード */
     101typedef int_t                   ER;                     /* エラーコード */
     102typedef int_t                   ID;                     /* オブジェクトのID番号 */
     103typedef uint_t                  ATR;            /* オブジェクトの属性 */
     104typedef uint_t                  STAT;           /* オブジェクトの状態 */
     105typedef uint_t                  MODE;           /* サービスコールの動作モード */
     106typedef int_t                   PRI;            /* 優先度 */
     107typedef uint32_t                TMO;            /* タイムアウト指定 */
     108typedef uint32_t                RELTIM;         /* 相対時間[NGKI0550]*/
    130109#ifdef UINT64_MAX
    131 typedef uint64_t                SYSTIM;         /* システム時刻[NGKI0548ï¼½*/
     110typedef uint64_t                SYSTIM;         /* システム時刻[NGKI0548]*/
    132111#else /* UINT64_MAX */
    133 typedef uint32_t                SYSTIM;         /* システム時刻[NGKI0548ï¼½*/
     112typedef uint32_t                SYSTIM;         /* システム時刻[NGKI0548]*/
    134113#endif /* UINT64_MAX */
    135 typedef uint32_t                PRCTIM;         /* プロセッサ時間[NGKI0573ï¼½*/
    136 typedef uint32_t                HRTCNT;         /* 高分解能タイマのカウント値 */
    137 
    138 typedef TOPPERS_fp              FP;                     /* プログラムの起動番地 */
    139 
    140 typedef int_t                   ER_BOOL;        /* エラーコードまたは真偽値 */
    141 typedef int_t                   ER_ID;          /* エラーコードまたはID番号 */
    142 typedef int_t                   ER_UINT;        /* エラーコードまたは符号無し整数 */
    143 
    144 typedef uintptr_t               MB_T;           /* 管理領域を確保するためのデータ型 */
    145 
    146 typedef uint32_t                ACPTN;          /* アクセス許可パターン */
    147 typedef struct acvct {                          /* アクセス許可ベクタ */
    148         ACPTN           acptn1;                         /* 通常操作1のアクセス許可パターン */
    149         ACPTN           acptn2;                         /* 通常操作2のアクセス許可パターン */
    150         ACPTN           acptn3;                         /* 管理操作のアクセス許可パターン */
    151         ACPTN           acptn4;                         /* 参ç
    152 §æ“ä½œã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯ãƒ‘ターン */
     114typedef uint32_t                PRCTIM;         /* プロセッサ時間[NGKI0573]*/
     115typedef uint32_t                HRTCNT;         /* 高分解能タイマのカウント値 */
     116
     117typedef TOPPERS_fp              FP;                     /* プログラムの起動番地 */
     118
     119typedef int_t                   ER_BOOL;        /* エラーコードまたは真偽値 */
     120typedef int_t                   ER_ID;          /* エラーコードまたはID番号 */
     121typedef int_t                   ER_UINT;        /* エラーコードまたは符号無し整数 */
     122
     123typedef uintptr_t               MB_T;           /* 管理領域を確保するためのデータ型 */
     124
     125typedef uint32_t                ACPTN;          /* アクセス許可パターン */
     126typedef struct acvct {                          /* アクセス許可ベクタ */
     127        ACPTN           acptn1;                         /* 通常操作1のアクセス許可パターン */
     128        ACPTN           acptn2;                         /* 通常操作2のアクセス許可パターン */
     129        ACPTN           acptn3;                         /* 管理操作のアクセス許可パターン */
     130        ACPTN           acptn4;                         /* 参照操作のアクセス許可パターン */
    153131} ACVCT;
    154132
     
    156134
    157135/*
    158  *  整数定数を作るマクロ
     136 *  整数定数を作るマクロ
    159137 */
    160138#ifndef UINT_C
    161 #define UINT_C(val)             (val ## U)              /* uint_t型の定数を作るマクロ */
     139#define UINT_C(val)             (val ## U)              /* uint_t型の定数を作るマクロ */
    162140#endif /* UINT_C */
    163141
    164142#ifndef ULONG_C
    165 #define ULONG_C(val)    (val ## UL)             /* ulong_t型の定数を作るマクロ */
     143#define ULONG_C(val)    (val ## UL)             /* ulong_t型の定数を作るマクロ */
    166144#endif /* ULONG_C */
    167145
    168146/*
    169  *  一般定数
     147 *  一般定数
    170148 */
    171149#ifndef NULL
    172 #define NULL            0                       /* 無効ポインタ */
     150#define NULL            0                       /* 無効ポインタ */
    173151#endif /* NULL */
    174152
    175153#ifndef true
    176 #define true            1                       /* 真 */
     154#define true            1                       /* */
    177155#endif /* true */
    178156
    179157#ifndef false
    180 #define false           0                       /* 偽 */
     158#define false           0                       /* */
    181159#endif /* false */
    182160
    183 #define E_OK            0                       /* 正常終了 */
    184 
    185 /*
    186  *  メインエラーコード
    187  */
    188 #define E_SYS           (-5)            /* システムエラー */
    189 #define E_NOSPT         (-9)            /* 未サポート機能 */
    190 #define E_RSFN          (-10)           /* 予約機能コード */
    191 #define E_RSATR         (-11)           /* 予約属性 */
    192 #define E_PAR           (-17)           /* パラメータエラー */
    193 #define E_ID            (-18)           /* 不正ID番号 */
    194 #define E_CTX           (-25)           /* コンテキストエラー */
    195 #define E_MACV          (-26)           /* メモリアクセス違反 */
    196 #define E_OACV          (-27)           /* オブジェクトアクセス違反 */
    197 #define E_ILUSE         (-28)           /* サービスコール不正使用 */
    198 #define E_NOMEM         (-33)           /* メモリ不足 */
    199 #define E_NOID          (-34)           /* ID番号不足 */
    200 #define E_NORES         (-35)           /* 資源不足 */
    201 #define E_OBJ           (-41)           /* オブジェクト状æ
    202 ‹ã‚¨ãƒ©ãƒ¼ */
    203 #define E_NOEXS         (-42)           /* オブジェクト未生成 */
    204 #define E_QOVR          (-43)           /* キューイングオーバーフロー */
    205 #define E_RLWAI         (-49)           /* å¾
    206 ã¡çŠ¶æ
    207 ‹ã®å¼·åˆ¶è§£é™¤ */
    208 #define E_TMOUT         (-50)           /* ポーリング失敗またはタイムアウト */
    209 #define E_DLT           (-51)           /* å¾
    210 ã¡ã‚ªãƒ–ジェクトの削除 */
    211 #define E_CLS           (-52)           /* å¾
    212 ã¡ã‚ªãƒ–ジェクトの状æ
    213 ‹å¤‰åŒ– */
    214 #define E_RASTER        (-53)           /* タスクの終了要求 */
    215 #define E_WBLK          (-57)           /* ノンブロッキング受付け */
    216 #define E_BOVR          (-58)           /* バッファオーバーフロー */
    217 #define E_COMM          (-65)           /* 通信エラー */
    218 
    219 /*
    220  *  オブジェクト属性
    221  */
    222 #define TA_NULL         UINT_C(0)       /* オブジェクト属性を指定しない */
    223 
    224 /*
    225  *  タイムアウト指定
    226  */
    227 #define TMO_POL         UINT_C(0)                       /* ポーリング */
    228 #define TMO_FEVR        (UINT32_MAX)            /* æ°¸ä¹
    229 å¾
    230 ã¡ */
    231 #define TMO_NBLK        (UINT32_MAX - 1)        /* ノンブロッキング */
    232 
    233 /*
    234  *  アクセス許可パターン
    235  */
    236 #define TACP_KERNEL     UINT_C(0)               /* カーネルドメインだけにアクセスを許可 */
    237 #define TACP_SHARED     (~UINT_C(0))    /* すべてのドメインからアクセスを許可 */
    238 
    239 /*
    240  *  型に関するæƒ
    241 å ±ã‚’取り出すためのマクロ
    242  *
    243  *  以下のALIGN_TYPEの定義は,アラインメントの単位が2の巾乗であることを
    244  *  仮定している.
     161#define E_OK            0                       /* 正常終了 */
     162
     163/*
     164 *  メインエラーコード
     165 */
     166#define E_SYS           (-5)            /* システムエラー */
     167#define E_NOSPT         (-9)            /* 未サポート機能 */
     168#define E_RSFN          (-10)           /* 予約機能コード */
     169#define E_RSATR         (-11)           /* 予約属性 */
     170#define E_PAR           (-17)           /* パラメータエラー */
     171#define E_ID            (-18)           /* 不正ID番号 */
     172#define E_CTX           (-25)           /* コンテキストエラー */
     173#define E_MACV          (-26)           /* メモリアクセス違反 */
     174#define E_OACV          (-27)           /* オブジェクトアクセス違反 */
     175#define E_ILUSE         (-28)           /* サービスコール不正使用 */
     176#define E_NOMEM         (-33)           /* メモリ不足 */
     177#define E_NOID          (-34)           /* ID番号不足 */
     178#define E_NORES         (-35)           /* 資源不足 */
     179#define E_OBJ           (-41)           /* オブジェクト状態エラー */
     180#define E_NOEXS         (-42)           /* オブジェクト未生成 */
     181#define E_QOVR          (-43)           /* キューイングオーバーフロー */
     182#define E_RLWAI         (-49)           /* 待ち状態の強制解除 */
     183#define E_TMOUT         (-50)           /* ポーリング失敗またはタイムアウト */
     184#define E_DLT           (-51)           /* 待ちオブジェクトの削除 */
     185#define E_CLS           (-52)           /* 待ちオブジェクトの状態変化 */
     186#define E_RASTER        (-53)           /* タスクの終了要求 */
     187#define E_WBLK          (-57)           /* ノンブロッキング受付け */
     188#define E_BOVR          (-58)           /* バッファオーバーフロー */
     189#define E_COMM          (-65)           /* 通信エラー */
     190
     191/*
     192 *  オブジェクト属性
     193 */
     194#define TA_NULL         UINT_C(0)       /* オブジェクト属性を指定しない */
     195
     196/*
     197 *  タイムアウト指定
     198 */
     199#define TMO_POL         UINT_C(0)                       /* ポーリング */
     200#define TMO_FEVR        (UINT32_MAX)            /* 永久待ち */
     201#define TMO_NBLK        (UINT32_MAX - 1)        /* ノンブロッキング */
     202
     203/*
     204 *  アクセス許可パターン
     205 */
     206#define TACP_KERNEL     UINT_C(0)               /* カーネルドメインだけにアクセスを許可 */
     207#define TACP_SHARED     (~UINT_C(0))    /* すべてのドメインからアクセスを許可 */
     208
     209/*
     210 *  型に関する情報を取り出すためのマクロ
     211 *
     212 *  以下のALIGN_TYPEの定義は,アラインメントの単位が2の巾乗であることを
     213 *  仮定している.
    245214 */
    246215#ifndef offsetof
     
    253222#endif /* alignof */
    254223
    255 #ifndef ALIGN_TYPE                              /* アラインメントのチェック */
     224#ifndef ALIGN_TYPE                              /* アラインメントのチェック */
    256225#define ALIGN_TYPE(addr, type) \
    257226                                                ((((uintptr_t)(addr)) & (alignof(type) - 1)) == 0U)
     
    259228
    260229/*
    261  *  assertマクロ
     230 *  assertマクロ
    262231 */
    263232#undef assert
     
    274243
    275244/*
    276  *  エラーコード生成・分解マクロ
    277  *
    278  *  以下のマクロ定義は,符号付き整数が2の補数で表現されており,右シフト
    279  *  演算子(>>)が算術シフトされることを仮定している.そうでない開発環
    280  *  境では,target_stddef.hでこれらの定義を上書きしなければならない.
    281  *
    282  *  MERCDマクロの定義は,メインエラーコードが負であることを仮定している.
    283  *  そうでない場合,2つの定義が一致しなくなる.
     245 *  エラーコード生成・分解マクロ
     246 *
     247 *  以下のマクロ定義は,符号付き整数が2の補数で表現されており,右シフト
     248 *  演算子(>>)が算術シフトされることを仮定している.そうでない開発環
     249 *  境では,target_stddef.hでこれらの定義を上書きしなければならない.
     250 *
     251 *  MERCDマクロの定義は,メインエラーコードが負であることを仮定している.
     252 *  そうでない場合,2つの定義が一致しなくなる.
    284253 */
    285254#ifndef ERCD
     
    301270
    302271/*
    303  *  アクセス許可パターン生成マクロ
    304  */
    305 #define TACP(domid)             (1U << ((domid) - 1))   /* domidだけにアクセスを許可 */
    306 
    307 /*
    308  *  相対時間(RELTIM)に指定できる最大値[NGKI0551ï¼½
    309  */
    310 #define TMAX_RELTIM             4000000000U                             /* 66分40秒まで指定可 */
     272 *  アクセス許可パターン生成マクロ
     273 */
     274#define TACP(domid)             (1U << ((domid) - 1))   /* domidだけにアクセスを許可 */
     275
     276/*
     277 *  相対時間(RELTIM)に指定できる最大値[NGKI0551]
     278 */
     279#define TMAX_RELTIM             4000000000U                             /* 66分40秒まで指定可 */
    311280
    312281#endif /* TOPPERS_T_STDDEF_H */
  • asp3_gr_sakura/trunk/include/t_stdlib.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    88 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    99 *
    10  *  上記著作権è€
    11 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    12  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13  *  変・再é
    14 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    15  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17  *      スコード中に含まれていること.
    18  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19  *      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22  *      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24  *      の無保証規定を掲載すること.
    25  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26  *      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    28  *      と.
    29  *    (a) 再é
    30 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    31 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    32  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    33  *    (b) 再é
    34 å¸ƒã®å½¢æ
    35 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    36  *        報告すること.
    37  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    38  *      害からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトをå
    40 è²¬ã™ã‚‹ã“と.
    41  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    42  *      由に基づく請求からも,上記著作権è€
    43 ãŠã‚ˆã³TOPPERSプロジェクトを
    44  *      å
    45 è²¬ã™ã‚‹ã“と.
     10 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     11 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     12 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     13 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     14 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     15 *      スコード中に含まれていること.
     16 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     17 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     18 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     19 *      の無保証規定を掲載すること.
     20 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     21 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     22 *      と.
     23 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     24 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     25 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     26 *        報告すること.
     27 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     28 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     29 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     30 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     31 *      免責すること.
    4632 *
    47  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    48 ãŠ
    49  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    50  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    51  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    52  *  の責任を負わない.
     33 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     34 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     35 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     36 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     37 *  の責任を負わない.
    5338 *
    5439 *  $Id$
     
    5641
    5742/*
    58  *              基本的なライブラリ関数
     43 *              基本的なライブラリ関数
    5944 */
    6045
     
    6954
    7055/*
    71  *  エラーメッセージ文字列を返す関数
     56 *  エラーメッセージ文字列を返す関数
    7257 *
    73  *  ercdで指定されたエラーコードのメインエラーコードの名称(E_PAR,
    74  *  E_OBJなど)の文字列を返す関数.
     58 *  ercdで指定されたエラーコードのメインエラーコードの名称(E_PAR,
     59 *  E_OBJなど)の文字列を返す関数.
    7560 */
    7661extern const char       *itron_strerror(ER ercd) throw();
    7762
    7863/*
    79  *  エラーメッセージのログ出力
     64 *  エラーメッセージのログ出力
    8065 *
    81  *  サービスコールがエラーを返した場合に,そのファイル名,行番号,メイ
    82  *  ンエラーコード等を表示するための関数.
     66 *  サービスコールがエラーを返した場合に,そのファイル名,行番号,メイ
     67 *  ンエラーコード等を表示するための関数.
    8368 */
    8469extern void             t_perror(uint_t prio, const char *file, int_t line,
  • asp3_gr_sakura/trunk/include/t_syslog.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    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 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              システムログ出力を行うための定義
    60  *
    61  *  システムログサービスは,システムのログæƒ
    62 å ±ã‚’出力するためのサービス
    63  *  である.カーネルからのログæƒ
    64 å ±ã®å‡ºåŠ›ã«ã‚‚用いるため,å†
    65 éƒ¨ã§å¾
    66 ã¡çŠ¶æ
    67 ‹
    68  *  にはいることはない.
    69  *
    70  *  ログæƒ
    71 å ±ã¯ï¼Œã‚«ãƒ¼ãƒãƒ«å†
    72 ã®ãƒ­ã‚°ãƒãƒƒãƒ•ã‚¡ã«æ›¸ãè¾¼ã‚€ã‹ï¼Œä½Žãƒ¬ãƒ™ãƒ«ã®æ–‡å­—出
    73  *  力関数を用いて出力する.どちらを使うかは,拡張サービスコールで切り
    74  *  換えることができる.
    75  *
    76  *  ログバッファ領域がオーバフローした場合には,古いログæƒ
    77 å ±ã‚’消して上
    78  *  書きする.
    79  *
    80  *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
    81  *  は,TOPPERS_MACRO_ONLYを定義しておくことで,マクロ定義以外の記述を
    82  *  除くことができる.
     44 *              システムログ出力を行うための定義
     45 *
     46 *  システムログサービスは,システムのログ情報を出力するためのサービス
     47 *  である.カーネルからのログ情報の出力にも用いるため,内部で待ち状態
     48 *  にはいることはない.
     49 *
     50 *  ログ情報は,カーネル内のログバッファに書き込むか,低レベルの文字出
     51 *  力関数を用いて出力する.どちらを使うかは,拡張サービスコールで切り
     52 *  換えることができる.
     53 *
     54 *  ログバッファ領域がオーバフローした場合には,古いログ情報を消して上
     55 *  書きする.
     56 *
     57 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     58 *  は,TOPPERS_MACRO_ONLYを定義しておくことで,マクロ定義以外の記述を
     59 *  除くことができる.
    8360 */
    8461
     
    9370
    9471/*
    95  *  ログæƒ
    96 å ±ã®ç¨®åˆ¥ã®å®šç¾©
    97  */
    98 #define LOG_TYPE_COMMENT        UINT_C(0x01)    /* コメント */
    99 #define LOG_TYPE_ASSERT         UINT_C(0x02)    /* アサーションの失敗 */
    100 
    101 #define LOG_TYPE_INH            UINT_C(0x11)    /* 割込みハンドラ */
    102 #define LOG_TYPE_ISR            UINT_C(0x12)    /* 割込みサービスルーチン */
    103 #define LOG_TYPE_CYC            UINT_C(0x13)    /* 周期ハンドラ */
    104 #define LOG_TYPE_ALM            UINT_C(0x14)    /* アラームハンドラ */
    105 #define LOG_TYPE_OVR            UINT_C(0x15)    /* オーバランハンドラ */
    106 #define LOG_TYPE_EXC            UINT_C(0x16)    /* CPU例外ハンドラ */
    107 #define LOG_TYPE_TSKSTAT        UINT_C(0x21)    /* タスク状æ
    108 ‹å¤‰åŒ– */
    109 #define LOG_TYPE_DSP            UINT_C(0x31)    /* ディスパッチャ */
    110 #define LOG_TYPE_SVC            UINT_C(0x41)    /* サービスコール */
    111 
    112 #define LOG_ENTER                       UINT_C(0x00)    /* å
    113 ¥å£ï¼é–‹å§‹ */
    114 #define LOG_LEAVE                       UINT_C(0x80)    /* 出口/終了 */
    115 
    116 /*
    117  *  ログæƒ
    118 å ±ã®é‡è¦åº¦ã®å®šç¾©
    119  */
    120 #define LOG_EMERG                       UINT_C(0)               /* シャットダウンに値するエラー */
     72 *  ログ情報の種別の定義
     73 */
     74#define LOG_TYPE_COMMENT        UINT_C(0x01)    /* コメント */
     75#define LOG_TYPE_ASSERT         UINT_C(0x02)    /* アサーションの失敗 */
     76
     77#define LOG_TYPE_INH            UINT_C(0x11)    /* 割込みハンドラ */
     78#define LOG_TYPE_ISR            UINT_C(0x12)    /* 割込みサービスルーチン */
     79#define LOG_TYPE_CYC            UINT_C(0x13)    /* 周期ハンドラ */
     80#define LOG_TYPE_ALM            UINT_C(0x14)    /* アラームハンドラ */
     81#define LOG_TYPE_OVR            UINT_C(0x15)    /* オーバランハンドラ */
     82#define LOG_TYPE_EXC            UINT_C(0x16)    /* CPU例外ハンドラ */
     83#define LOG_TYPE_TSKSTAT        UINT_C(0x21)    /* タスク状態変化 */
     84#define LOG_TYPE_DSP            UINT_C(0x31)    /* ディスパッチャ */
     85#define LOG_TYPE_SVC            UINT_C(0x41)    /* サービスコール */
     86
     87#define LOG_ENTER                       UINT_C(0x00)    /* 入口/開始 */
     88#define LOG_LEAVE                       UINT_C(0x80)    /* 出口/終了 */
     89
     90/*
     91 *  ログ情報の重要度の定義
     92 */
     93#define LOG_EMERG                       UINT_C(0)               /* シャットダウンに値するエラー */
    12194#define LOG_ALERT                       UINT_C(1)
    12295#define LOG_CRIT                        UINT_C(2)
    123 #define LOG_ERROR                       UINT_C(3)               /* システムエラー */
    124 #define LOG_WARNING                     UINT_C(4)               /* 警告メッセージ */
     96#define LOG_ERROR                       UINT_C(3)               /* システムエラー */
     97#define LOG_WARNING                     UINT_C(4)               /* 警告メッセージ */
    12598#define LOG_NOTICE                      UINT_C(5)
    12699#define LOG_INFO                        UINT_C(6)
    127 #define LOG_DEBUG                       UINT_C(7)               /* デバッグ用メッセージ */
     100#define LOG_DEBUG                       UINT_C(7)               /* デバッグ用メッセージ */
    128101
    129102#ifndef TOPPERS_MACRO_ONLY
    130103
    131104/*
    132  *  ログæƒ
    133 å ±ã®ãƒ‡ãƒ¼ã‚¿æ§‹é€ 
     105 *  ログ情報のデータ構造
    134106 */
    135107
    136108#ifndef LOGTIM
    137 #define LOGTIM          HRTCNT                  /* ログ時刻のデータ型 */
     109#define LOGTIM          HRTCNT                  /* ログ時刻のデータ型 */
    138110#endif /* LOGTIM */
    139111
    140 #define TNUM_LOGPAR             6                       /* ログパラメータの数 */
     112#define TNUM_LOGPAR             6                       /* ログパラメータの数 */
    141113
    142114#ifndef LOGPAR
    143 #define LOGPAR          intptr_t                /* ログパラメータのデータ型 */
     115#define LOGPAR          intptr_t                /* ログパラメータのデータ型 */
    144116#define ULOGPAR         uintptr_t
    145117#endif /* LOGPAR */
    146118
    147119typedef struct {
    148         uint_t  logtype;                                /* ログæƒ
    149 å ±ã®ç¨®åˆ¥ */
    150         LOGTIM  logtim;                                 /* ログ時刻 */
    151         LOGPAR  logpar[TNUM_LOGPAR];    /* ログパラメータ */
     120        uint_t  logtype;                                /* ログ情報の種別 */
     121        LOGTIM  logtim;                                 /* ログ時刻 */
     122        LOGPAR  logpar[TNUM_LOGPAR];    /* ログパラメータ */
    152123} SYSLOG;
    153124
    154125/*
    155  *  ログæƒ
    156 å ±ã®é‡è¦åº¦ã®ãƒ“ットマップを作るためのマクロ
     126 *  ログ情報の重要度のビットマップを作るためのマクロ
    157127 */
    158128#define LOG_MASK(prio)          (1U << (prio))
     
    160130
    161131/*
    162  *  パケット形式の定義
     132 *  パケット形式の定義
    163133 */
    164134typedef struct t_syslog_rlog {
    165         uint_t  count;          /* ログバッファ中のログの数 */
    166         uint_t  lost;           /* 失われたログの数 */
    167         uint_t  logmask;        /* ログバッファに記録すべき重要度 */
    168         uint_t  lowmask;        /* 低レベル出力すべき重要度 */
     135        uint_t  count;          /* ログバッファ中のログの数 */
     136        uint_t  lost;           /* 失われたログの数 */
     137        uint_t  logmask;        /* ログバッファに記録すべき重要度 */
     138        uint_t  lowmask;        /* 低レベル出力すべき重要度 */
    169139} T_SYSLOG_RLOG;
    170140
     
    172142
    173143/*
    174  *  ログæƒ
    175 å ±ã‚’出力するためのライブラリ関数
    176  *
    177  *  TECSで記述されたシステムログ機能を直接呼び出す.
     144 *  ログ情報を出力するためのライブラリ関数
     145 *
     146 *  TECSで記述されたシステムログ機能を直接呼び出す.
    178147 */
    179148
     
    268237
    269238/*
    270  *  ログæƒ
    271 å ±ï¼ˆã‚³ãƒ¡ãƒ³ãƒˆï¼‰ã‚’出力するためのライブラリ関数(vasyslog.c)
     239 *  ログ情報(コメント)を出力するためのライブラリ関数(vasyslog.c)
    272240 */
    273241extern void     syslog(uint_t prio, const char *format, ...) throw();
     
    276244
    277245/*
    278  *  システムログ出力を抑止する場合
     246 *  システムログ出力を抑止する場合
    279247 */
    280248
     
    325293
    326294/*
    327  *  ログæƒ
    328 å ±ï¼ˆã‚³ãƒ¡ãƒ³ãƒˆï¼‰ã‚’出力するためのマクロ
    329  *
    330  *  formatおよび後続の引数から作成したメッセージを,重大度prioでログæƒ
    331 
    332  *  報として出力するためのマクロ.arg1~argnはLOGPAR型にキャストするた
    333  *  め,LOGPAR型に型変換できる任意の型でよい.
     295 *  ログ情報(コメント)を出力するためのマクロ
     296 *
     297 *  formatおよび後続の引数から作成したメッセージを,重大度prioでログ情
     298 *  報として出力するためのマクロ.arg1~argnはLOGPAR型にキャストするた
     299 *  め,LOGPAR型に型変換できる任意の型でよい.
    334300 */
    335301
     
    360326
    361327/*
    362  *  ログæƒ
    363 å ±ï¼ˆã‚¢ã‚µãƒ¼ã‚·ãƒ§ãƒ³ã®å¤±æ•—)を出力するためのマクロ
     328 *  ログ情報(アサーションの失敗)を出力するためのマクロ
    364329 */
    365330#ifndef TOPPERS_assert_fail
Note: See TracChangeset for help on using the changeset viewer.