Ignore:
Timestamp:
Jul 23, 2017, 2:29:40 PM (7 years ago)
Author:
coas-nagasima
Message:

SVNプロパティを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rubycfg_asp/trunk/asp_dcre/include/t_stddef.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r313 r315  
    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  *  除くようになっている.
    71  *
    72  *  このファイルをインクルードする前にインクルードしておくべきファイル
    73  *  はない.
     43 *              TOPPERS共通ヘッダファイル
     44 *
     45 *  TOPPERS関連のすべてのソースファイルでインクルードすべきヘッダファイ
     46 *  ル.各種のカーネルやソフトウェア部品で共通に用いることを想定してい
     47 *  る.TOPPERSの各種のカーネルやソフトウェア部品で共通に用いるデータ型,
     48 *  定数,マクロの定義などを含む.
     49 *
     50 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     51 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     52 *  除くようになっている.
     53 *
     54 *  このファイルをインクルードする前にインクルードしておくべきファイル
     55 *  はない.
    7456 */
    7557
     
    8264
    8365/*
    84  *  ターゲット依存部
     66 *  ターゲット依存部
    8567 */
    8668#include "target_stddef.h"
    8769
    8870/*
    89  *  C言語/EC++でthrow()に対処するための定義
     71 *  C言語/EC++でthrow()に対処するための定義
    9072 */
    9173#if !defined(__cplusplus) || defined(__embedded_cplusplus)
     
    9678
    9779/*
    98  *  ターゲット依存のデータ型のマクロのデフォルト定義
     80 *  ターゲット依存のデータ型のマクロのデフォルト定義
    9981 */
    10082#ifndef TOPPERS_bool
    101 #define TOPPERS_bool    int                             /* ブール型 */
     83#define TOPPERS_bool    int                             /* ブール型 */
    10284#endif /* TOPPERS_bool */
    10385
    10486#ifndef TOPPERS_size
    105 #define TOPPERS_size    uintptr_t               /* サイズ型 */
     87#define TOPPERS_size    uintptr_t               /* サイズ型 */
    10688#endif /* TOPPERS_size */
    10789
     
    10991struct TOPPERS_dummy_t { int TOPPERS_dummy_field; };
    11092typedef void                    (*TOPPERS_fp_t)(struct TOPPERS_dummy_t);
    111 #define TOPPERS_fp              TOPPERS_fp_t    /* プログラムの起動番地 */
     93#define TOPPERS_fp              TOPPERS_fp_t    /* プログラムの起動番地 */
    11294#endif /* TOPPERS_fp */
    11395
    11496/*
    115  *  å
    116 ±é€šãƒ‡ãƒ¼ã‚¿åž‹
    117  */
    118 typedef TOPPERS_bool    bool_t;         /* 真偽値 */
    119 
    120 typedef signed int              int_t;          /* 自然なサイズの符号付き整数 */
    121 typedef unsigned int    uint_t;         /* 自然なサイズの符号無し整数 */
    122 
    123 typedef signed long             long_t;         /* 長めのサイズの符号付き整数 */
    124 typedef unsigned long   ulong_t;        /* 長めのサイズの符号無し整数 */
    125 
    126 typedef int_t                   FN;                     /* 機能コード */
    127 typedef int_t                   ER;                     /* エラーコード */
    128 typedef int_t                   ID;                     /* オブジェクトのID番号 */
    129 typedef uint_t                  ATR;            /* オブジェクトの属性 */
    130 typedef uint_t                  STAT;           /* オブジェクトの状æ
    131 ‹ */
    132 typedef uint_t                  MODE;           /* サービスコールの動作モード */
    133 typedef int_t                   PRI;            /* 優å
    134 ˆåº¦ */
    135 typedef TOPPERS_size    SIZE;           /* メモリ領域のサイズ */
    136 
    137 typedef int_t                   TMO;            /* タイムアウト指定 */
    138 typedef uint_t                  RELTIM;         /* 相対時間 */
    139 typedef ulong_t                 SYSTIM;         /* システム時刻 */
    140 typedef ulong_t                 SYSUTM;         /* 性能評価用システム時刻 */
    141 
    142 typedef TOPPERS_fp              FP;                     /* プログラムの起動番地 */
    143 
    144 typedef int_t                   ER_BOOL;        /* エラーコードまたは真偽値 */
    145 typedef int_t                   ER_ID;          /* エラーコードまたはID番号 */
    146 typedef int_t                   ER_UINT;        /* エラーコードまたは符号無し整数 */
    147 
    148 typedef uintptr_t               MB_T;           /* 管理領域を確保するためのデータ型 */
    149 
    150 typedef uint32_t                ACPTN;          /* アクセス許可パターン */
    151 typedef struct acvct {                          /* アクセス許可ベクタ */
    152         ACPTN           acptn1;                         /* 通常操作1のアクセス許可パターン */
    153         ACPTN           acptn2;                         /* 通常操作2のアクセス許可パターン */
    154         ACPTN           acptn3;                         /* 管理操作のアクセス許可パターン */
    155         ACPTN           acptn4;                         /* 参ç
    156 §æ“ä½œã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯ãƒ‘ターン */
     97 *  共通データ型
     98 */
     99typedef TOPPERS_bool    bool_t;         /* 真偽値 */
     100
     101typedef signed int              int_t;          /* 自然なサイズの符号付き整数 */
     102typedef unsigned int    uint_t;         /* 自然なサイズの符号無し整数 */
     103
     104typedef signed long             long_t;         /* 長めのサイズの符号付き整数 */
     105typedef unsigned long   ulong_t;        /* 長めのサイズの符号無し整数 */
     106
     107typedef int_t                   FN;                     /* 機能コード */
     108typedef int_t                   ER;                     /* エラーコード */
     109typedef int_t                   ID;                     /* オブジェクトのID番号 */
     110typedef uint_t                  ATR;            /* オブジェクトの属性 */
     111typedef uint_t                  STAT;           /* オブジェクトの状態 */
     112typedef uint_t                  MODE;           /* サービスコールの動作モード */
     113typedef int_t                   PRI;            /* 優先度 */
     114typedef TOPPERS_size    SIZE;           /* メモリ領域のサイズ */
     115
     116typedef int_t                   TMO;            /* タイムアウト指定 */
     117typedef uint_t                  RELTIM;         /* 相対時間 */
     118typedef ulong_t                 SYSTIM;         /* システム時刻 */
     119typedef ulong_t                 SYSUTM;         /* 性能評価用システム時刻 */
     120
     121typedef TOPPERS_fp              FP;                     /* プログラムの起動番地 */
     122
     123typedef int_t                   ER_BOOL;        /* エラーコードまたは真偽値 */
     124typedef int_t                   ER_ID;          /* エラーコードまたはID番号 */
     125typedef int_t                   ER_UINT;        /* エラーコードまたは符号無し整数 */
     126
     127typedef uintptr_t               MB_T;           /* 管理領域を確保するためのデータ型 */
     128
     129typedef uint32_t                ACPTN;          /* アクセス許可パターン */
     130typedef struct acvct {                          /* アクセス許可ベクタ */
     131        ACPTN           acptn1;                         /* 通常操作1のアクセス許可パターン */
     132        ACPTN           acptn2;                         /* 通常操作2のアクセス許可パターン */
     133        ACPTN           acptn3;                         /* 管理操作のアクセス許可パターン */
     134        ACPTN           acptn4;                         /* 参照操作のアクセス許可パターン */
    157135} ACVCT;
    158136
     
    160138
    161139/*
    162  *  整数定数を作るマクロ
     140 *  整数定数を作るマクロ
    163141 */
    164142#ifndef UINT_C
    165 #define UINT_C(val)             (val ## U)              /* uint_t型の定数を作るマクロ */
     143#define UINT_C(val)             (val ## U)              /* uint_t型の定数を作るマクロ */
    166144#endif /* UINT_C */
    167145
    168146#ifndef ULONG_C
    169 #define ULONG_C(val)    (val ## UL)             /* ulong_t型の定数を作るマクロ */
     147#define ULONG_C(val)    (val ## UL)             /* ulong_t型の定数を作るマクロ */
    170148#endif /* ULONG_C */
    171149
    172150/*
    173  *  一般定数
     151 *  一般定数
    174152 */
    175153#ifndef NULL
    176 #define NULL            0                       /* 無効ポインタ */
     154#define NULL            0                       /* 無効ポインタ */
    177155#endif /* NULL */
    178156
    179157#ifndef true
    180 #define true            1                       /* 真 */
     158#define true            1                       /* */
    181159#endif /* true */
    182160
    183161#ifndef false
    184 #define false           0                       /* 偽 */
     162#define false           0                       /* */
    185163#endif /* false */
    186164
    187 #define E_OK            0                       /* 正常終了 */
    188 
    189 /*
    190  *  メインエラーコード
    191  */
    192 #define E_SYS           (-5)            /* システムエラー */
    193 #define E_NOSPT         (-9)            /* 未サポート機能 */
    194 #define E_RSFN          (-10)           /* 予約機能コード */
    195 #define E_RSATR         (-11)           /* 予約属性 */
    196 #define E_PAR           (-17)           /* パラメータエラー */
    197 #define E_ID            (-18)           /* 不正ID番号 */
    198 #define E_CTX           (-25)           /* コンテキストエラー */
    199 #define E_MACV          (-26)           /* メモリアクセス違反 */
    200 #define E_OACV          (-27)           /* オブジェクトアクセス違反 */
    201 #define E_ILUSE         (-28)           /* サービスコール不正使用 */
    202 #define E_NOMEM         (-33)           /* メモリ不足 */
    203 #define E_NOID          (-34)           /* ID番号不足 */
    204 #define E_NORES         (-35)           /* 資源不足 */
    205 #define E_OBJ           (-41)           /* オブジェクト状æ
    206 ‹ã‚¨ãƒ©ãƒ¼ */
    207 #define E_NOEXS         (-42)           /* オブジェクト未生成 */
    208 #define E_QOVR          (-43)           /* キューイングオーバーフロー */
    209 #define E_RLWAI         (-49)           /* å¾
    210 ã¡çŠ¶æ
    211 ‹ã®å¼·åˆ¶è§£é™¤ */
    212 #define E_TMOUT         (-50)           /* ポーリング失敗またはタイムアウト */
    213 #define E_DLT           (-51)           /* å¾
    214 ã¡ã‚ªãƒ–ジェクトの削除 */
    215 #define E_CLS           (-52)           /* å¾
    216 ã¡ã‚ªãƒ–ジェクトの状æ
    217 ‹å¤‰åŒ– */
    218 #define E_WBLK          (-57)           /* ノンブロッキング受付け */
    219 #define E_BOVR          (-58)           /* バッファオーバーフロー */
    220 
    221 /*
    222  *  オブジェクト属性
    223  */
    224 #define TA_NULL         UINT_C(0)       /* オブジェクト属性を指定しない */
    225 
    226 /*
    227  *  タイムアウト指定
    228  */
    229 #define TMO_POL         0                       /* ポーリング */
    230 #define TMO_FEVR        (-1)            /* æ°¸ä¹
    231 å¾
    232 ã¡ */
    233 #define TMO_NBLK        (-2)            /* ノンブロッキング */
    234 
    235 /*
    236  *  アクセス許可パターン
    237  */
    238 #define TACP_KERNEL             (0U)    /* カーネルドメインだけにアクセスを許可 */
    239 #define TACP_SHARED             (~0U)   /* すべてのドメインからアクセスを許可 */
    240 
    241 /*
    242  *  型に関するæƒ
    243 å ±ã‚’取り出すためのマクロ
    244  *
    245  *  以下のALIGN_TYPEの定義は,アラインメントの単位が2の巾乗であることを
    246  *  仮定している.
     165#define E_OK            0                       /* 正常終了 */
     166
     167/*
     168 *  メインエラーコード
     169 */
     170#define E_SYS           (-5)            /* システムエラー */
     171#define E_NOSPT         (-9)            /* 未サポート機能 */
     172#define E_RSFN          (-10)           /* 予約機能コード */
     173#define E_RSATR         (-11)           /* 予約属性 */
     174#define E_PAR           (-17)           /* パラメータエラー */
     175#define E_ID            (-18)           /* 不正ID番号 */
     176#define E_CTX           (-25)           /* コンテキストエラー */
     177#define E_MACV          (-26)           /* メモリアクセス違反 */
     178#define E_OACV          (-27)           /* オブジェクトアクセス違反 */
     179#define E_ILUSE         (-28)           /* サービスコール不正使用 */
     180#define E_NOMEM         (-33)           /* メモリ不足 */
     181#define E_NOID          (-34)           /* ID番号不足 */
     182#define E_NORES         (-35)           /* 資源不足 */
     183#define E_OBJ           (-41)           /* オブジェクト状態エラー */
     184#define E_NOEXS         (-42)           /* オブジェクト未生成 */
     185#define E_QOVR          (-43)           /* キューイングオーバーフロー */
     186#define E_RLWAI         (-49)           /* 待ち状態の強制解除 */
     187#define E_TMOUT         (-50)           /* ポーリング失敗またはタイムアウト */
     188#define E_DLT           (-51)           /* 待ちオブジェクトの削除 */
     189#define E_CLS           (-52)           /* 待ちオブジェクトの状態変化 */
     190#define E_WBLK          (-57)           /* ノンブロッキング受付け */
     191#define E_BOVR          (-58)           /* バッファオーバーフロー */
     192
     193/*
     194 *  オブジェクト属性
     195 */
     196#define TA_NULL         UINT_C(0)       /* オブジェクト属性を指定しない */
     197
     198/*
     199 *  タイムアウト指定
     200 */
     201#define TMO_POL         0                       /* ポーリング */
     202#define TMO_FEVR        (-1)            /* 永久待ち */
     203#define TMO_NBLK        (-2)            /* ノンブロッキング */
     204
     205/*
     206 *  アクセス許可パターン
     207 */
     208#define TACP_KERNEL             (0U)    /* カーネルドメインだけにアクセスを許可 */
     209#define TACP_SHARED             (~0U)   /* すべてのドメインからアクセスを許可 */
     210
     211/*
     212 *  型に関する情報を取り出すためのマクロ
     213 *
     214 *  以下のALIGN_TYPEの定義は,アラインメントの単位が2の巾乗であることを
     215 *  仮定している.
    247216 */
    248217#ifndef offsetof
     
    254223#endif /* alignof */
    255224
    256 #ifndef ALIGN_TYPE                              /* アラインメントのチェック */
     225#ifndef ALIGN_TYPE                              /* アラインメントのチェック */
    257226#define ALIGN_TYPE(addr, type) \
    258227                                                ((((uintptr_t)(addr)) & (alignof(type) - 1)) == 0U)
     
    260229
    261230/*
    262  *  assertマクロ
     231 *  assertマクロ
    263232 */
    264233#undef assert
     
    275244
    276245/*
    277  *  エラーコード生成・分解マクロ
    278  *
    279  *  以下のマクロ定義は,符号付き整数が2の補数で表現されており,右シフト
    280  *  演算子(>>)が算術シフトされることを仮定している.そうでない開発環
    281  *  境では,target_stddef.hでこれらの定義を上書きしなければならない.
    282  *
    283  *  MERCDマクロの定義は,メインエラーコードが負であることを仮定している.
    284  *  そうでない場合,2つの定義が一致しなくなる.
     246 *  エラーコード生成・分解マクロ
     247 *
     248 *  以下のマクロ定義は,符号付き整数が2の補数で表現されており,右シフト
     249 *  演算子(>>)が算術シフトされることを仮定している.そうでない開発環
     250 *  境では,target_stddef.hでこれらの定義を上書きしなければならない.
     251 *
     252 *  MERCDマクロの定義は,メインエラーコードが負であることを仮定している.
     253 *  そうでない場合,2つの定義が一致しなくなる.
    285254 */
    286255#ifndef ERCD
     
    302271
    303272/*
    304  *  アクセス許可パターン生成マクロ
    305  */
    306 #define TACP(domid)             (1U << ((domid) - 1))   /* domidだけにアクセスを許可 */
    307 
    308 /*
    309  *  相対時間(RELTIM)に指定できる最大値
     273 *  アクセス許可パターン生成マクロ
     274 */
     275#define TACP(domid)             (1U << ((domid) - 1))   /* domidだけにアクセスを許可 */
     276
     277/*
     278 *  相対時間(RELTIM)に指定できる最大値
    310279 */
    311280#if UINT_MAX < LONG_MAX
Note: See TracChangeset for help on using the changeset viewer.