Changeset 389 for azure_iot_hub/trunk/asp3_dcre/include/t_stddef.h
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/include/t_stddef.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * 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 * の責任を負わない. 53 38 * 54 39 * $Id$ … … 56 41 57 42 /* 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 * 除くようになっている. 71 53 */ 72 54 … … 79 61 80 62 /* 81 * ã¿ã¼ã²ããä¾åé¨63 * ターゲット依存部 82 64 */ 83 65 #include "target_stddef.h" 84 66 85 67 /* 86 * C è¨èª/EC++ã§throw()ã«å¯¾å¦ããããã®å®ç¾©68 * C言語/EC++でthrow()に対処するための定義 87 69 */ 88 70 #if !defined(__cplusplus) || defined(__embedded_cplusplus) … … 93 75 94 76 /* 95 * ã¿ã¼ã²ããä¾åã®ãã¼ã¿åã®ãã¯ãã®ããã©ã«ãå®ç¾©77 * ターゲット依存のデータ型のマクロのデフォルト定義 96 78 */ 97 79 #ifndef TOPPERS_bool 98 #define TOPPERS_bool int /* ãã¼ã«å*/80 #define TOPPERS_bool int /* ブール型 */ 99 81 #endif /* TOPPERS_bool */ 100 82 … … 102 84 struct TOPPERS_dummy_t { int TOPPERS_dummy_field; }; 103 85 typedef void (*TOPPERS_fp_t)(struct TOPPERS_dummy_t); 104 #define TOPPERS_fp TOPPERS_fp_t /* ããã°ã©ã ã®èµ·åçªå°*/86 #define TOPPERS_fp TOPPERS_fp_t /* プログラムの起動番地 */ 105 87 #endif /* TOPPERS_fp */ 106 88 107 89 /* 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 */ 92 typedef TOPPERS_bool bool_t; /* 真偽値 */ 93 94 typedef signed int int_t; /* 自然なサイズの符号付き整数 */ 95 typedef unsigned int uint_t; /* 自然なサイズの符号無し整数 */ 96 97 typedef signed long long_t; /* 長めのサイズの符号付き整数 */ 98 typedef unsigned long ulong_t; /* 長めのサイズの符号無し整数 */ 99 100 typedef int_t FN; /* 機能コード */ 101 typedef int_t ER; /* エラーコード */ 102 typedef int_t ID; /* オブジェクトのID番号 */ 103 typedef uint_t ATR; /* オブジェクトの属性 */ 104 typedef uint_t STAT; /* オブジェクトの状態 */ 105 typedef uint_t MODE; /* サービスコールの動作モード */ 106 typedef int_t PRI; /* 優先度 */ 107 typedef uint32_t TMO; /* タイムアウト指定 */ 108 typedef uint32_t RELTIM; /* 相対時間[NGKI0550]*/ 130 109 #ifdef UINT64_MAX 131 typedef uint64_t SYSTIM; /* ã·ã¹ãã æå»ï¼»NGKI0548ï¼½*/110 typedef uint64_t SYSTIM; /* システム時刻[NGKI0548]*/ 132 111 #else /* UINT64_MAX */ 133 typedef uint32_t SYSTIM; /* ã·ã¹ãã æå»ï¼»NGKI0548ï¼½*/112 typedef uint32_t SYSTIM; /* システム時刻[NGKI0548]*/ 134 113 #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 §æä½ã®ã¢ã¯ã»ã¹è¨±å¯ãã¿ã¼ã³ */ 114 typedef uint32_t PRCTIM; /* プロセッサ時間[NGKI0573]*/ 115 typedef uint32_t HRTCNT; /* 高分解能タイマのカウント値 */ 116 117 typedef TOPPERS_fp FP; /* プログラムの起動番地 */ 118 119 typedef int_t ER_BOOL; /* エラーコードまたは真偽値 */ 120 typedef int_t ER_ID; /* エラーコードまたはID番号 */ 121 typedef int_t ER_UINT; /* エラーコードまたは符号無し整数 */ 122 123 typedef uintptr_t MB_T; /* 管理領域を確保するためのデータ型 */ 124 125 typedef uint32_t ACPTN; /* アクセス許可パターン */ 126 typedef struct acvct { /* アクセス許可ベクタ */ 127 ACPTN acptn1; /* 通常操作1のアクセス許可パターン */ 128 ACPTN acptn2; /* 通常操作2のアクセス許可パターン */ 129 ACPTN acptn3; /* 管理操作のアクセス許可パターン */ 130 ACPTN acptn4; /* 参照操作のアクセス許可パターン */ 153 131 } ACVCT; 154 132 … … 156 134 157 135 /* 158 * æ´æ°å®æ°ãä½ããã¯ã136 * 整数定数を作るマクロ 159 137 */ 160 138 #ifndef UINT_C 161 #define UINT_C(val) (val ## U) /* uint_t åã®å®æ°ãä½ããã¯ã*/139 #define UINT_C(val) (val ## U) /* uint_t型の定数を作るマクロ */ 162 140 #endif /* UINT_C */ 163 141 164 142 #ifndef ULONG_C 165 #define ULONG_C(val) (val ## UL) /* ulong_t åã®å®æ°ãä½ããã¯ã*/143 #define ULONG_C(val) (val ## UL) /* ulong_t型の定数を作るマクロ */ 166 144 #endif /* ULONG_C */ 167 145 168 146 /* 169 * ä¸è¬å®æ°147 * 一般定数 170 148 */ 171 149 #ifndef NULL 172 #define NULL 0 /* ç¡å¹ãã¤ã³ã¿*/150 #define NULL 0 /* 無効ポインタ */ 173 151 #endif /* NULL */ 174 152 175 153 #ifndef true 176 #define true 1 /* ç*/154 #define true 1 /* 真 */ 177 155 #endif /* true */ 178 156 179 157 #ifndef false 180 #define false 0 /* å½*/158 #define false 0 /* 偽 */ 181 159 #endif /* false */ 182 160 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 * 仮定している. 245 214 */ 246 215 #ifndef offsetof … … 253 222 #endif /* alignof */ 254 223 255 #ifndef ALIGN_TYPE /* ã¢ã©ã¤ã³ã¡ã³ãã®ãã§ãã¯*/224 #ifndef ALIGN_TYPE /* アラインメントのチェック */ 256 225 #define ALIGN_TYPE(addr, type) \ 257 226 ((((uintptr_t)(addr)) & (alignof(type) - 1)) == 0U) … … 259 228 260 229 /* 261 * assert ãã¯ã230 * assertマクロ 262 231 */ 263 232 #undef assert … … 274 243 275 244 /* 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つの定義が一致しなくなる. 284 253 */ 285 254 #ifndef ERCD … … 301 270 302 271 /* 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秒まで指定可 */ 311 280 312 281 #endif /* TOPPERS_T_STDDEF_H */
Note:
See TracChangeset
for help on using the changeset viewer.