Changeset 318 for asp3_gr_sakura/trunk/include
- Timestamp:
- Aug 3, 2017, 10:46:41 PM (7 years ago)
- 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
totext/x-chdr; charset=UTF-8
r317 r318 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 責ãããã¨ï¼ 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 * 免責すること. 46 32 * 47 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 48 ã 49 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 50 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 51 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 52 * ã®è²¬ä»»ãè² ããªãï¼ 33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 53 38 * 54 39 * $Id$ … … 56 41 57 42 /* 58 * ITRONä»æ§å 59 ±éè¦å®ã®ãã¼ã¿åã»å®æ°ã»ãã¯ã 43 * ITRON仕様共通規定のデータ型・定数・マクロ 60 44 * 61 * ãã®ããããã¡ã¤ã«ã¯ï¼ITRONä»æ§å 62 ±éè¦å®ã®ãã¼ã¿åã»å®æ°ã»ãã¯ãã®ä¸ 63 * ã§ï¼TOPPERSå 64 ±éããããã¡ã¤ã«ã«å«ã¾ããªããã®ã®å®ç¾©ãå«ãï¼ITRONä» 65 * æ§ã¨ã®äºææ§ãå¿ 66 è¦ã¨ããã¢ããªã±ã¼ã·ã§ã³ãã¤ã³ã¯ã«ã¼ããããã¨ãæ³ 67 * å®ãã¦ããï¼ 45 * このヘッダファイルは,ITRON仕様共通規定のデータ型・定数・マクロの中 46 * で,TOPPERS共通ヘッダファイルに含まれないものの定義を含む.ITRON仕 47 * 様との互換性を必要とするアプリケーションがインクルードすることを想 48 * 定している. 68 49 * 69 * ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæ70 * ã¯ï¼TOPPERS_MACRO_ONLYãå®ç¾©ãã¦ããï¼ããã«ããï¼ãã¯ãå®ç¾©ä»¥å¤ã71 * é¤ãããã«ãªã£ã¦ããï¼50 * アセンブリ言語のソースファイルからこのファイルをインクルードする時 51 * は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を 52 * 除くようになっている. 72 53 */ 73 54 … … 80 61 81 62 /* 82 * TOPPERSå 83 ±éããããã¡ã¤ã« 63 * TOPPERS共通ヘッダファイル 84 64 */ 85 65 #include <t_stddef.h> 86 66 87 67 /* 88 * ITRONä»æ§å 89 ±éãã¼ã¿å 68 * ITRON仕様共通データ型 90 69 */ 91 70 #ifndef TOPPERS_MACRO_ONLY 92 71 93 72 #ifdef INT8_MAX 94 typedef int8_t B; /* 符å·ä»ã8ãããæ´æ°*/73 typedef int8_t B; /* 符号付き8ビット整数 */ 95 74 #endif /* INT8_MAX */ 96 75 97 76 #ifdef UINT8_MAX 98 typedef uint8_t UB; /* 符å·ç¡ã8ãããæ´æ°*/99 typedef uint8_t VB; /* åãå®ã¾ããªã8ãããã®å¤*/77 typedef uint8_t UB; /* 符号無し8ビット整数 */ 78 typedef uint8_t VB; /* 型が定まらない8ビットの値 */ 100 79 #endif /* UINT8_MAX */ 101 80 102 typedef int16_t H; /* 符å·ä»ã16ãããæ´æ°*/103 typedef uint16_t UH; /* 符å·ç¡ã16ãããæ´æ°*/104 typedef uint16_t VH; /* åãå®ã¾ããªã16ãããã®å¤*/81 typedef int16_t H; /* 符号付き16ビット整数 */ 82 typedef uint16_t UH; /* 符号無し16ビット整数 */ 83 typedef uint16_t VH; /* 型が定まらない16ビットの値 */ 105 84 106 typedef int32_t W; /* 符å·ä»ã32ãããæ´æ°*/107 typedef uint32_t UW; /* 符å·ç¡ã32ãããæ´æ°*/108 typedef uint32_t VW; /* åãå®ã¾ããªã32ãããã®å¤*/85 typedef int32_t W; /* 符号付き32ビット整数 */ 86 typedef uint32_t UW; /* 符号無し32ビット整数 */ 87 typedef uint32_t VW; /* 型が定まらない32ビットの値 */ 109 88 110 89 #ifdef INT64_MAX 111 typedef int64_t D; /* 符å·ä»ã64ãããæ´æ°*/90 typedef int64_t D; /* 符号付き64ビット整数 */ 112 91 #endif /* INT64_MAX */ 113 92 114 93 #ifdef UINT64_MAX 115 typedef uint64_t UD; /* 符å·ç¡ã64ãããæ´æ°*/116 typedef uint64_t VD; /* åãå®ã¾ããªã64ãããã®å¤*/94 typedef uint64_t UD; /* 符号無し64ビット整数 */ 95 typedef uint64_t VD; /* 型が定まらない64ビットの値 */ 117 96 #endif /* UINT64_MAX */ 118 97 119 typedef void *VP; /* åãå®ã¾ããªããã®ã¸ã®ãã¤ã³ã¿*/98 typedef void *VP; /* 型が定まらないものへのポインタ */ 120 99 121 typedef int_t INT; /* èªç¶ãªãµã¤ãºã®ç¬¦å·ä»ãæ´æ°*/122 typedef uint_t UINT; /* èªç¶ãªãµã¤ãºã®ç¬¦å·ç¡ãæ´æ°*/100 typedef int_t INT; /* 自然なサイズの符号付き整数 */ 101 typedef uint_t UINT; /* 自然なサイズの符号無し整数 */ 123 102 124 typedef bool_t BOOL; /* çå½å¤*/103 typedef bool_t BOOL; /* 真偽値 */ 125 104 126 typedef size_t SIZE; /* ã¡ã¢ãªé åã®ãµã¤ãºã表ã符å·ç¡ãæ´æ°*/127 typedef intptr_t VP_INT; /* ãã¤ã³ã¿ã¾ãã¯ç¬¦å·ä»ãæ´æ°*/105 typedef size_t SIZE; /* メモリ領域のサイズを表す符号無し整数*/ 106 typedef intptr_t VP_INT; /* ポインタまたは符号付き整数 */ 128 107 129 108 #endif /* TOPPERS_MACRO_ONLY */ 130 109 131 110 /* 132 * ITRONä»æ§å 133 ±éå®æ° 111 * ITRON仕様共通定数 134 112 */ 135 #define TRUE true /* ç*/136 #define FALSE false /* å½*/113 #define TRUE true /* 真 */ 114 #define FALSE false /* 偽 */ 137 115 138 116 /* 139 * å¼·å¶å¾ 140 ã¡ç¶æ 141 ããã®å¼·å¶åé 117 * 強制待ち状態からの強制再開 142 118 */ 143 119 #define frsm_tsk(tskid) rsm_tsk(tskid) 144 120 145 121 /* 146 * ãªãã¸ã§ã¯ãå±æ§ã®å®ç¾©122 * オブジェクト属性の定義 147 123 */ 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つのみ */ 153 127 154 128 /* 155 * ãã¹ãåæ°ã®æ大å¤129 * ネスト回数の最大値 156 130 */ 157 #define TMAX_SUSCNT UINT_C(1) /* å¼·å¶å¾ 158 ã¡è¦æ±ãã¹ãæ°ã®æå¤§å¤ */ 131 #define TMAX_SUSCNT UINT_C(1) /* 強制待ち要求ネスト数の最大値 */ 159 132 160 133 #ifdef __cplusplus -
asp3_gr_sakura/trunk/include/kernel.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 57 42 58 43 /* 59 * TOPPERS/ASP ã«ã¼ãã« æ¨æºããããã¡ã¤ã«44 * TOPPERS/ASPカーネル 標準ヘッダファイル 60 45 * 61 * TOPPERS/ASPã«ã¼ãã«ããµãã¼ããããµã¼ãã¹ã³ã¼ã«ã®å®£è¨ã¨ï¼å¿ 62 è¦ãªãã¼ 63 * ã¿åï¼å®æ°ï¼ãã¯ãã®å®ç¾©ãå«ãããããã¡ã¤ã«ï¼ 46 * TOPPERS/ASPカーネルがサポートするサービスコールの宣言と,必要なデー 47 * タ型,定数,マクロの定義を含むヘッダファイル. 64 48 * 65 * ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæ66 * ã¯ï¼TOPPERS_MACRO_ONLYãå®ç¾©ãã¦ããï¼ããã«ããï¼ãã¯ãå®ç¾©ä»¥å¤ã67 * é¤ãããã«ãªã£ã¦ããï¼49 * アセンブリ言語のソースファイルからこのファイルをインクルードする時 50 * は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を 51 * 除くようになっている. 68 52 */ 69 53 … … 76 60 77 61 /* 78 * TOPPERSå 79 ±éã®ãã¼ã¿åã»å®æ°ã»ãã¯ã 62 * TOPPERS共通のデータ型・定数・マクロ 80 63 */ 81 64 #include <t_stddef.h> 82 65 83 66 /* 84 * ã¿ã¼ã²ããä¾åé¨67 * ターゲット依存部 85 68 */ 86 69 #include "target_kernel.h" 87 70 88 71 /* 89 * ãµãã¼ãããæ©è½72 * サポートする機能 90 73 */ 91 74 #ifdef TOPPERS_TARGET_SUPPORT_DIS_INT 92 #define TOPPERS_SUPPORT_DIS_INT /* dis_int ããµãã¼ãããã¦ãã*/75 #define TOPPERS_SUPPORT_DIS_INT /* dis_intがサポートされている */ 93 76 #endif /* TOPPERS_TARGET_SUPPORT_DIS_INT */ 94 77 95 78 #ifdef TOPPERS_TARGET_SUPPORT_ENA_INT 96 #define TOPPERS_SUPPORT_ENA_INT /* ena_int ããµãã¼ãããã¦ãã*/79 #define TOPPERS_SUPPORT_ENA_INT /* ena_intがサポートされている */ 97 80 #endif /* TOPPERS_TARGET_SUPPORT_ENA_INT */ 98 81 99 82 #ifdef TOPPERS_TARGET_SUPPORT_CLR_INT 100 #define TOPPERS_SUPPORT_CLR_INT /* clr_int ããµãã¼ãããã¦ãã*/83 #define TOPPERS_SUPPORT_CLR_INT /* clr_intがサポートされている */ 101 84 #endif /* TOPPERS_TARGET_SUPPORT_CLR_INT */ 102 85 103 86 #ifdef TOPPERS_TARGET_SUPPORT_RAS_INT 104 #define TOPPERS_SUPPORT_RAS_INT /* ras_int ããµãã¼ãããã¦ãã*/87 #define TOPPERS_SUPPORT_RAS_INT /* ras_intがサポートされている */ 105 88 #endif /* TOPPERS_TARGET_SUPPORT_RAS_INT */ 106 89 107 90 #ifdef TOPPERS_TARGET_SUPPORT_PRB_INT 108 #define TOPPERS_SUPPORT_PRB_INT /* prb_int ããµãã¼ãããã¦ãã*/91 #define TOPPERS_SUPPORT_PRB_INT /* prb_intがサポートされている */ 109 92 #endif /* TOPPERS_TARGET_SUPPORT_PRB_INT */ 110 93 111 94 #ifdef TOPPERS_TARGET_SUPPORT_OVRHDR 112 #define TOPPERS_SUPPORT_OVRHDR /* ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µ*/95 #define TOPPERS_SUPPORT_OVRHDR /* オーバランハンドラ機能拡張 */ 113 96 #endif /* TOPPERS_TARGET_SUPPORT_OVRHDR */ 114 97 115 #define TOPPERS_SUPPORT_DYNAMIC_CRE /* åççææ©è½æ¡å¼µ*/98 #define TOPPERS_SUPPORT_DYNAMIC_CRE /* 動的生成機能拡張 */ 116 99 117 100 #ifndef TOPPERS_MACRO_ONLY 118 101 119 102 /* 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 */ 109 typedef uint_t FLGPTN; /* イベントフラグのビットパターン */ 110 typedef uint_t INTNO; /* 割込み番号 */ 111 typedef uint_t INHNO; /* 割込みハンドラ番号 */ 112 typedef uint_t EXCNO; /* CPU例外ハンドラ番号 */ 113 114 /* 115 * 処理単位の型定義 133 116 */ 134 117 typedef void (*TASK)(intptr_t exinf); … … 142 125 143 126 /* 144 * ã¡ã¢ãªé å確ä¿ã®ããã®åå®ç¾©127 * メモリ領域確保のための型定義 145 128 */ 146 129 #ifndef TOPPERS_STK_T 147 130 #define TOPPERS_STK_T intptr_t 148 131 #endif /* TOPPERS_STK_T */ 149 typedef TOPPERS_STK_T STK_T; /* ã¹ã¿ãã¯é åã確ä¿ããããã®å*/132 typedef TOPPERS_STK_T STK_T; /* スタック領域を確保するための型 */ 150 133 151 134 #ifndef TOPPERS_MPF_T 152 135 #define TOPPERS_MPF_T intptr_t 153 136 #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 é çªå° */ 137 typedef TOPPERS_MPF_T MPF_T; /* 固定長メモリプール領域を確保するための型 */ 138 139 /* 140 * タイムイベントの通知方法のパケット形式の定義 141 */ 142 typedef struct { 143 intptr_t exinf; /* タイムイベントハンドラの拡張情報 */ 144 TMEHDR tmehdr; /* タイムイベントハンドラの先頭番地 */ 164 145 } T_NFY_HDR; 165 146 166 147 typedef struct { 167 intptr_t *p_var; /* å¤æ°ã®çªå°*/168 intptr_t value; /* è¨å®ããå¤*/148 intptr_t *p_var; /* 変数の番地 */ 149 intptr_t value; /* 設定する値 */ 169 150 } T_NFY_VAR; 170 151 171 152 typedef struct { 172 intptr_t *p_var; /* å¤æ°ã®çªå°*/153 intptr_t *p_var; /* 変数の番地 */ 173 154 } T_NFY_IVAR; 174 155 175 156 typedef struct { 176 ID tskid; /* ã¿ã¹ã¯ID */157 ID tskid; /* タスクID */ 177 158 } T_NFY_TSK; 178 159 179 160 typedef struct { 180 ID semid; /* ã»ããã©ID */161 ID semid; /* セマフォID */ 181 162 } T_NFY_SEM; 182 163 183 164 typedef struct { 184 ID flgid; /* ã¤ãã³ããã©ã°ID */185 FLGPTN flgptn; /* ã»ããããããããã¿ã¼ã³*/165 ID flgid; /* イベントフラグID */ 166 FLGPTN flgptn; /* セットするビットパターン */ 186 167 } T_NFY_FLG; 187 168 188 169 typedef struct { 189 ID dtqid; /* ãã¼ã¿ãã¥ã¼ID */190 intptr_t data; /* éä¿¡ããå¤*/170 ID dtqid; /* データキューID */ 171 intptr_t data; /* 送信する値 */ 191 172 } T_NFY_DTQ; 192 173 193 174 typedef struct { 194 intptr_t *p_var; /* å¤æ°ã®çªå°*/175 intptr_t *p_var; /* 変数の番地 */ 195 176 } T_ENFY_VAR; 196 177 197 178 typedef struct { 198 ID dtqid; /* ãã¼ã¿ãã¥ã¼ID */179 ID dtqid; /* データキューID */ 199 180 } T_ENFY_DTQ; 200 181 201 182 typedef struct { 202 MODE nfymode; /* éç¥å¦çã¢ã¼ã */ 203 union { /* ã¿ã¤ã ã¤ãã³ãã®éç¥ã«é¢ããä»éæ 204 å ± */ 183 MODE nfymode; /* 通知処理モード */ 184 union { /* タイムイベントの通知に関する付随情報 */ 205 185 T_NFY_HDR handler; 206 186 T_NFY_VAR setvar; … … 212 192 T_NFY_DTQ snddtq; 213 193 } nfy; 214 union { /* ã¨ã©ã¼ã®éç¥ã«é¢ããä»éæ 215 å ± */ 194 union { /* エラーの通知に関する付随情報 */ 216 195 T_ENFY_VAR setvar; 217 196 T_NFY_IVAR incvar; … … 225 204 226 205 /* 227 * ãã±ããå½¢å¼ã®å®ç¾©206 * パケット形式の定義 228 207 */ 229 208 typedef 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; /* タスクのスタック領域の先頭番地 */ 240 215 } T_CTSK; 241 216 242 217 typedef 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; /* タスク終了禁止状態 */ 260 228 } T_RTSK; 261 229 262 230 typedef 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; /* セマフォの最大資源数 */ 266 234 } T_CSEM; 267 235 268 236 typedef struct t_rsem { 269 ID wtskid; /* ã»ããã©ã®å¾ 270 ã¡è¡åã®å 271 é ã®ã¿ã¹ã¯ã®IDçªå· */ 272 uint_t semcnt; /* ã»ããã©ã®ç¾å¨ã®è³æºæ° */ 237 ID wtskid; /* セマフォの待ち行列の先頭のタスクのID番号 */ 238 uint_t semcnt; /* セマフォの現在の資源数 */ 273 239 } T_RSEM; 274 240 275 241 typedef struct t_cflg { 276 ATR flgatr; /* ã¤ãã³ããã©ã°å±æ§*/277 FLGPTN iflgptn; /* ã¤ãã³ããã©ã°ã®åæããããã¿ã¼ã³*/242 ATR flgatr; /* イベントフラグ属性 */ 243 FLGPTN iflgptn; /* イベントフラグの初期ビットパターン */ 278 244 } T_CFLG; 279 245 280 246 typedef struct t_rflg { 281 ID wtskid; /* ã¤ãã³ããã©ã°ã®å¾ 282 ã¡è¡åã®å 283 é ã®ã¿ã¹ã¯ã®IDçªå· */ 284 FLGPTN flgptn; /* ã¤ãã³ããã©ã°ã®ç¾å¨ã®ããããã¿ã¼ã³ */ 247 ID wtskid; /* イベントフラグの待ち行列の先頭のタスクのID番号 */ 248 FLGPTN flgptn; /* イベントフラグの現在のビットパターン */ 285 249 } T_RFLG; 286 250 287 251 typedef struct t_cdtq { 288 ATR dtqatr; /* ãã¼ã¿ãã¥ã¼å±æ§ */ 289 uint_t dtqcnt; /* ãã¼ã¿ãã¥ã¼ç®¡çé åã«æ ¼ç´ã§ãããã¼ã¿æ° */ 290 void *dtqmb; /* ãã¼ã¿ãã¥ã¼ç®¡çé åã®å 291 é çªå° */ 252 ATR dtqatr; /* データキュー属性 */ 253 uint_t dtqcnt; /* データキュー管理領域に格納できるデータ数 */ 254 void *dtqmb; /* データキュー管理領域の先頭番地 */ 292 255 } T_CDTQ; 293 256 294 257 typedef 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; /* データキュー管理領域に格納されているデータの数 */ 302 261 } T_RDTQ; 303 262 304 263 typedef 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; /* 優先度データキュー管理領域の先頭番地 */ 316 269 } T_CPDQ; 317 270 318 271 typedef 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 タの数 */ 332 278 } T_RPDQ; 333 279 334 280 typedef struct t_cmtx { 335 ATR mtxatr; /* ãã¥ã¼ããã¯ã¹å±æ§ */ 336 PRI ceilpri; /* ãã¥ã¼ããã¯ã¹ã®ä¸éåªå 337 度 */ 281 ATR mtxatr; /* ミューテックス属性 */ 282 PRI ceilpri; /* ミューテックスの上限優先度 */ 338 283 } T_CMTX; 339 284 340 285 typedef struct t_rmtx { 341 ID htskid; /* ãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããã¿ã¹ã¯ã®IDçªå· */ 342 ID wtskid; /* ãã¥ã¼ããã¯ã¹ã®å¾ 343 ã¡è¡åã®å 344 é ã®ã¿ã¹ã¯ã®IDçªå· */ 286 ID htskid; /* ミューテックスをロックしているタスクのID番号 */ 287 ID wtskid; /* ミューテックスの待ち行列の先頭のタスクのID番号 */ 345 288 } T_RMTX; 346 289 347 290 typedef 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; /* 固定長メモリプール管理領域の先頭番地 */ 355 296 } T_CMPF; 356 297 357 298 typedef 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 付けることができる固定長メモリブロックの数 */ 364 303 } T_RMPF; 365 304 366 305 typedef 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; /* 周期通知の通知位相 */ 371 310 } T_CCYC; 372 311 373 312 typedef struct t_rcyc { 374 STAT cycstat; /* å¨æéç¥ã®åä½ç¶æ 375 */ 376 RELTIM lefttim; /* 次åéç¥æå»ã¾ã§ã®ç¸å¯¾æé */ 313 STAT cycstat; /* 周期通知の動作状態 */ 314 RELTIM lefttim; /* 次回通知時刻までの相対時間 */ 377 315 } T_RCYC; 378 316 379 317 typedef struct t_calm { 380 ATR almatr; /* ã¢ã©ã¼ã éç¥å±æ§*/381 T_NFYINFO nfyinfo; /* ã¢ã©ã¼ã éç¥ã®éç¥æ¹æ³*/318 ATR almatr; /* アラーム通知属性 */ 319 T_NFYINFO nfyinfo; /* アラーム通知の通知方法 */ 382 320 } T_CALM; 383 321 384 322 typedef struct t_ralm { 385 STAT almstat; /* ã¢ã©ã¼ã éç¥ã®åä½ç¶æ 386 */ 387 RELTIM lefttim; /* éç¥æå»ã¾ã§ã®ç¸å¯¾æé */ 323 STAT almstat; /* アラーム通知の動作状態 */ 324 RELTIM lefttim; /* 通知時刻までの相対時間 */ 388 325 } T_RALM; 389 326 390 327 typedef struct t_rovr { 391 STAT ovrstat; /* ãªã¼ãã©ã³ãã³ãã©ã®åä½ç¶æ 392 */ 393 PRCTIM leftotm; /* æ®ãããã»ããµæé */ 328 STAT ovrstat; /* オーバランハンドラの動作状態 */ 329 PRCTIM leftotm; /* 残りプロセッサ時間 */ 394 330 } T_ROVR; 395 331 396 332 typedef 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; /* 割込みサービスルーチン優先度 */ 405 338 } T_CISR; 406 339 407 340 /* 408 * ãµã¼ãã¹ã³ã¼ã«ã®å®£è¨409 */ 410 411 /* 412 * ã¿ã¹ã¯ç®¡çæ©è½341 * サービスコールの宣言 342 */ 343 344 /* 345 * タスク管理機能 413 346 */ 414 347 extern ER_UINT acre_tsk(const T_CTSK *pk_ctsk) throw(); … … 423 356 424 357 /* 425 * ã¿ã¹ã¯ä»å±åææ©è½358 * タスク付属同期機能 426 359 */ 427 360 extern ER slp_tsk(void) throw(); … … 435 368 436 369 /* 437 * ã¿ã¹ã¯çµäºæ©è½370 * タスク終了機能 438 371 */ 439 372 extern ER ext_tsk(void) throw(); … … 445 378 446 379 /* 447 * åæã»éä¿¡æ©è½380 * 同期・通信機能 448 381 */ 449 382 extern ER_ID acre_sem(const T_CSEM *pk_csem) throw(); … … 504 437 505 438 /* 506 * ã¡ã¢ãªãã¼ã«ç®¡çæ©è½439 * メモリプール管理機能 507 440 */ 508 441 extern ER_ID acre_mpf(const T_CMPF *pk_cmpf) throw(); … … 516 449 517 450 /* 518 * æé管çæ©è½451 * 時間管理機能 519 452 */ 520 453 extern ER set_tim(SYSTIM systim) throw(); … … 540 473 541 474 /* 542 * ã·ã¹ãã ç¶æ 543 管çæ©è½ 475 * システム状態管理機能 544 476 */ 545 477 extern ER rot_rdq(PRI tskpri) throw(); … … 559 491 560 492 /* 561 * å²è¾¼ã¿ç®¡çæ©è½493 * 割込み管理機能 562 494 */ 563 495 extern ER_ID acre_isr(const T_CISR *pk_cisr) throw(); … … 572 504 573 505 /* 574 * CPU ä¾å¤ç®¡çæ©è½506 * CPU例外管理機能 575 507 */ 576 508 extern bool_t xsns_dpn(void *p_excinf) throw(); … … 579 511 580 512 /* 581 * éã¿ã¹ã¯ã³ã³ããã¹ãããå¼ã³åºãããµã¼ãã¹ã³ã¼ã«513 * 非タスクコンテキストから呼び出せるサービスコール 582 514 */ 583 515 #define iact_tsk(tskid) act_tsk(tskid) … … 613 545 614 546 /* 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 /* イベントフラグのビット数 */ 776 665 #define TBIT_FLGPTN (sizeof(FLGPTN) * CHAR_BIT) 777 666 #endif /* TBIT_FLGPTN */ 778 667 779 668 /* 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 * オーバランハンドラの残りプロセッサ時間の最大値(単位:μ秒) 787 676 */ 788 677 #ifndef TMAX_OVRTIM … … 791 680 792 681 /* 793 * ã¡ã¢ãªé å確ä¿ã®ããã®ãã¯ã682 * メモリ領域確保のためのマクロ 794 683 * 795 * 以ä¸ã®TOPPERS_COUNT_SZã¨TOPPERS_ROUND_SZã®å®ç¾©ã¯ï¼unitã2ã®å·¾ä¹ã§ã796 * ããã¨ãä»®å®ãã¦ããï¼684 * 以下のTOPPERS_COUNT_SZとTOPPERS_ROUND_SZの定義は,unitが2の巾乗であ 685 * ることを仮定している. 797 686 */ 798 687 #ifndef TOPPERS_COUNT_SZ … … 821 710 822 711 /* 823 * ãã®ä»ã®æ§æå®æ°824 */ 825 #define TMAX_MAXSEM UINT_MAX /* ã»ããã©ã®æ大è³æºæ°ã®æ大å¤*/712 * その他の構成定数 713 */ 714 #define TMAX_MAXSEM UINT_MAX /* セマフォの最大資源数の最大値 */ 826 715 827 716 #ifdef __cplusplus -
asp3_gr_sakura/trunk/include/log_output.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 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 責ãããã¨ï¼ 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 * 免責すること. 46 32 * 47 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 48 ã 49 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 50 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 51 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 52 * ã®è²¬ä»»ãè² ããªãï¼ 33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 53 38 * 54 39 * $Id$ … … 56 41 57 42 /* 58 * ã·ã¹ãã ãã°ã®ãã©ã¼ãããåºå43 * システムログのフォーマット出力 59 44 */ 60 45 … … 70 55 71 56 /* 72 * æååæ´å½¢åºå57 * 文字列整形出力 73 58 * 74 * format ã§æå®ããããã©ã¼ãããè¨è¿°ã¨p_argsã§æå®ãããå¼æ°åããä½75 * æããã¡ãã»ã¼ã¸ãï¼1æååºåé¢æ°putcãç¨ãã¦åºåããï¼59 * formatで指定されるフォーマット記述とp_argsで指定される引数列から作 60 * 成したメッセージを,1文字出力関数putcを用いて出力する. 76 61 */ 77 62 extern void syslog_printf(const char *format, const intptr_t *p_args, … … 79 64 80 65 /* 81 * ãã°æ 82 å ±ã®åºå 66 * ログ情報の出力 83 67 * 84 * p_syslogã§æå®ããããã°æ 85 å ±ãæååã«æ´å½¢ãï¼1æååºåé¢æ°putcãç¨ 86 * ãã¦åºåããï¼ 68 * p_syslogで指定されるログ情報を文字列に整形し,1文字出力関数putcを用 69 * いて出力する. 87 70 */ 88 71 extern void syslog_print(const SYSLOG *p_syslog, void (*putc)(char)) throw(); 89 72 90 73 /* 91 * ãã°æ 92 å ±åªå¤±ã¡ãã»ã¼ã¸æåå 74 * ログ情報喪失メッセージ文字列 93 75 * 94 * lostlogåã®ãã°æ 95 å ±ã失ãããæ¨ã®ã¡ãã»ã¼ã¸ãï¼1æååºåé¢æ°putcã 96 * ç¨ãã¦åºåããï¼ 76 * lostlog個のログ情報が失われた旨のメッセージを,1文字出力関数putcを 77 * 用いて出力する. 97 78 */ 98 79 extern 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
totext/x-chdr; charset=UTF-8
r317 r318 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 責ãããã¨ï¼ 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 * 免責すること. 46 32 * 47 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 48 ã 49 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 50 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 51 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 52 * ã®è²¬ä»»ãè² ããªãï¼ 33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 53 38 * 54 39 * $Id$ … … 56 41 57 42 /* 58 * ãã¥ã¼æä½ã©ã¤ãã©ãª43 * キュー操作ライブラリ 59 44 * 60 * ãã®ãã¥ã¼æä½ã©ã¤ãã©ãªã§ã¯ï¼ãã¥ã¼ããããå«ããªã³ã°æ§é ã®ããã« 61 * ãªã³ã¯ãã¥ã¼ãæ±ãï¼å 62 ·ä½çã«ã¯ï¼ãã¥ã¼ãããã®æ¬¡ã¨ã³ããªã¯ãã¥ã¼ã® 63 * å 64 é ã®ã¨ã³ããªï¼åã¨ã³ããªã¯ãã¥ã¼ã®æ«å°¾ã®ã¨ã³ããªã¨ããï¼ã¾ãï¼ã 65 * ã¥ã¼ã®å 66 é ã®ã¨ã³ããªã®åã¨ã³ããªã¨ï¼ãã¥ã¼ã®æ«å°¾ã®ã¨ã³ããªã®æ¬¡ã¨ã³ 67 * ããªã¯ï¼ãã¥ã¼ãããã¨ããï¼ç©ºã®ãã¥ã¼ã¯ï¼æ¬¡ã¨ã³ããªï¼åã¨ã³ããªã¨ 68 * ãèªåèªèº«ãæããã¥ã¼ãããã§ããããï¼ 45 * このキュー操作ライブラリでは,キューヘッダを含むリング構造のダブル 46 * リンクキューを扱う.具体的には,キューヘッダの次エントリはキューの 47 * 先頭のエントリ,前エントリはキューの末尾のエントリとする.また,キ 48 * ューの先頭のエントリの前エントリと,キューの末尾のエントリの次エン 49 * トリは,キューヘッダとする.空のキューは,次エントリ,前エントリと 50 * も自分自身を指すキューヘッダであらわす. 69 51 */ 70 52 … … 80 62 81 63 /* 82 * ãã¥ã¼ã®ãã¼ã¿æ§é ã®å®ç¾©64 * キューのデータ構造の定義 83 65 */ 84 66 typedef struct queue { 85 struct queue *p_next; /* 次ã¨ã³ããªã¸ã®ãã¤ã³ã¿*/86 struct queue *p_prev; /* åã¨ã³ããªã¸ã®ãã¤ã³ã¿*/67 struct queue *p_next; /* 次エントリへのポインタ */ 68 struct queue *p_prev; /* 前エントリへのポインタ */ 87 69 } QUEUE; 88 70 89 71 /* 90 * ãã¥ã¼ã®åæå72 * キューの初期化 91 73 * 92 * p_queue ã«ã¯ãã¥ã¼ããããæå®ããï¼74 * p_queueにはキューヘッダを指定する. 93 75 */ 94 76 Inline void … … 100 82 101 83 /* 102 * ãã¥ã¼ã®åã¨ã³ããªã¸ã®æ¿å 103 ¥ 84 * キューの前エントリへの挿入 104 85 * 105 * p_queueã®åã«p_entryãæ¿å 106 ¥ããï¼p_queueã«ãã¥ã¼ããããæå®ããå ´ 107 * åã«ã¯ï¼ãã¥ã¼ã®æ«å°¾ã«p_entryãæ¿å 108 ¥ãããã¨ã«ãªãï¼ 86 * p_queueの前にp_entryを挿入する.p_queueにキューヘッダを指定した場 87 * 合には,キューの末尾にp_entryを挿入することになる. 109 88 */ 110 89 Inline void … … 118 97 119 98 /* 120 * ãã¥ã¼ã®æ¬¡ã¨ã³ããªã¸ã®æ¿å 121 ¥ 99 * キューの次エントリへの挿入 122 100 * 123 * p_queueã®æ¬¡ã«p_entryãæ¿å 124 ¥ããï¼p_queueã«ãã¥ã¼ããããæå®ããå ´ 125 * åã«ã¯ï¼ãã¥ã¼ã®å 126 é ã«p_entryãæ¿å 127 ¥ãããã¨ã«ãªãï¼ 101 * p_queueの次にp_entryを挿入する.p_queueにキューヘッダを指定した場 102 * 合には,キューの先頭にp_entryを挿入することになる. 128 103 */ 129 104 Inline void … … 137 112 138 113 /* 139 * ã¨ã³ããªã®åé¤114 * エントリの削除 140 115 * 141 * p_entry ããã¥ã¼ããåé¤ããï¼116 * p_entryをキューから削除する. 142 117 */ 143 118 Inline void … … 149 124 150 125 /* 151 * ãã¥ã¼ã®æ¬¡ã¨ã³ããªã®ååºã126 * キューの次エントリの取出し 152 127 * 153 * p_queueã®æ¬¡ã¨ã³ããªããã¥ã¼ããåé¤ãï¼åé¤ããã¨ã³ããªãè¿ãï¼ 154 * p_queueã«ãã¥ã¼ããããæå®ããå ´åã«ã¯ï¼ãã¥ã¼ã®å 155 é ã®ã¨ã³ããªã 156 * åãåºããã¨ã«ãªãï¼p_queueã«ç©ºã®ãã¥ã¼ãæå®ãã¦å¼ã³åºãã¦ã¯ãªã 157 * ãªãï¼ 128 * p_queueの次エントリをキューから削除し,削除したエントリを返す. 129 * p_queueにキューヘッダを指定した場合には,キューの先頭のエントリを 130 * 取り出すことになる.p_queueに空のキューを指定して呼び出してはなら 131 * ない. 158 132 */ 159 133 Inline QUEUE * … … 170 144 171 145 /* 172 * ãã¥ã¼ã空ãã©ããã®ãã§ãã¯146 * キューが空かどうかのチェック 173 147 * 174 * p_queue ã«ã¯ãã¥ã¼ããããæå®ããï¼148 * p_queueにはキューヘッダを指定する. 175 149 */ 176 150 Inline bool_t -
asp3_gr_sakura/trunk/include/sil.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 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 * ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤43 * システムインタフェースレイヤ 59 44 * 60 * ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ã®ãµã¼ãã¹ã³ã¼ã«ã®å®ç¾©ã»å®£è¨ã¨ãã¯ããª61 * ã©ã®å®ç¾©ãå«ãããããã¡ã¤ã«ï¼45 * システムインタフェースレイヤのサービスコールの定義・宣言とマクロな 46 * どの定義を含むヘッダファイル. 62 47 * 63 * ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæ64 * ã¯ï¼TOPPERS_MACRO_ONLYãå®ç¾©ãã¦ãããã¨ã§ï¼ãã¯ãå®ç¾©ä»¥å¤ã®è¨è¿°ã65 * é¤ããã¨ãã§ããï¼48 * アセンブリ言語のソースファイルからこのファイルをインクルードする時 49 * は,TOPPERS_MACRO_ONLYを定義しておくことで,マクロ定義以外の記述を 50 * 除くことができる. 66 51 */ 67 52 … … 74 59 75 60 /* 76 * TOPPERSå 77 ±éã®ãã¼ã¿åã»å®æ°ã»ãã¯ã 61 * TOPPERS共通のデータ型・定数・マクロ 78 62 */ 79 63 #include <t_stddef.h> 80 64 81 65 /* 82 * ã¿ã¼ã²ããä¾åé¨66 * ターゲット依存部 83 67 */ 84 68 #include "target_sil.h" … … 87 71 88 72 /* 89 * å 90 ¨å²è¾¼ã¿ããã¯ç¶æ 91 ã®å¶å¾¡ 73 * 全割込みロック状態の制御 92 74 * 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 * 微少時間待ち 100 81 */ 101 82 extern void sil_dly_nse(ulong_t dlytim) throw(); 102 83 103 84 /* 104 * ã¨ã³ãã£ã¢ã³ã®å転85 * エンディアンの反転 105 86 */ 106 87 #ifndef TOPPERS_SIL_REV_ENDIAN_UINT16 … … 116 97 117 98 /* 118 * ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°99 * メモリ空間アクセス関数 119 100 */ 120 101 #ifndef TOPPERS_OMIT_SIL_ACCESS 121 102 122 103 /* 123 * 8 ãããåä½ã®èªåºãï¼æ¸è¾¼ã¿104 * 8ビット単位の読出し/書込み 124 105 */ 125 106 #ifdef UINT8_MAX … … 143 124 144 125 /* 145 * 16 ãããåä½ã®èªåºãï¼æ¸è¾¼ã¿126 * 16ビット単位の読出し/書込み 146 127 */ 147 128 … … 161 142 } 162 143 163 #ifdef SIL_ENDIAN_BIG /* ããã°ã¨ã³ãã£ã¢ã³ããã»ããµ*/144 #ifdef SIL_ENDIAN_BIG /* ビッグエンディアンプロセッサ */ 164 145 165 146 #define sil_reh_bem(mem) sil_reh_mem(mem) … … 188 169 #endif /* TOPPERS_OMIT_SIL_WRH_LEM */ 189 170 #else /* SIL_ENDIAN_BIG */ 190 #ifdef SIL_ENDIAN_LITTLE /* ãªãã«ã¨ã³ãã£ã¢ã³ããã»ããµ*/171 #ifdef SIL_ENDIAN_LITTLE /* リトルエンディアンプロセッサ */ 191 172 192 173 #define sil_reh_lem(mem) sil_reh_mem(mem) … … 222 203 223 204 /* 224 * 32 ãããåä½ã®èªåºãï¼æ¸è¾¼ã¿205 * 32ビット単位の読出し/書込み 225 206 */ 226 207 … … 240 221 } 241 222 242 #ifdef SIL_ENDIAN_BIG /* ããã°ã¨ã³ãã£ã¢ã³ããã»ããµ*/223 #ifdef SIL_ENDIAN_BIG /* ビッグエンディアンプロセッサ */ 243 224 244 225 #define sil_rew_bem(mem) sil_rew_mem(mem) … … 266 247 267 248 #endif /* TOPPERS_OMIT_SIL_WRW_LEM */ 268 #else /* SIL_ENDIAN_BIG */ /* ãªãã«ã¨ã³ãã£ã¢ã³ããã»ããµ*/249 #else /* SIL_ENDIAN_BIG */ /* リトルエンディアンプロセッサ */ 269 250 270 251 #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
totext/x-chdr; charset=UTF-8
r317 r318 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 */ -
asp3_gr_sakura/trunk/include/t_stdlib.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 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 責ãããã¨ï¼ 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 * 免責すること. 46 32 * 47 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 48 ã 49 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 50 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 51 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 52 * ã®è²¬ä»»ãè² ããªãï¼ 33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 53 38 * 54 39 * $Id$ … … 56 41 57 42 /* 58 * åºæ¬çãªã©ã¤ãã©ãªé¢æ°43 * 基本的なライブラリ関数 59 44 */ 60 45 … … 69 54 70 55 /* 71 * ã¨ã©ã¼ã¡ãã»ã¼ã¸æååãè¿ãé¢æ°56 * エラーメッセージ文字列を返す関数 72 57 * 73 * ercd ã§æå®ãããã¨ã©ã¼ã³ã¼ãã®ã¡ã¤ã³ã¨ã©ã¼ã³ã¼ãã®å称ï¼E_PARï¼74 * E_OBJ ãªã©ï¼ã®æååãè¿ãé¢æ°ï¼58 * ercdで指定されたエラーコードのメインエラーコードの名称(E_PAR, 59 * E_OBJなど)の文字列を返す関数. 75 60 */ 76 61 extern const char *itron_strerror(ER ercd) throw(); 77 62 78 63 /* 79 * ã¨ã©ã¼ã¡ãã»ã¼ã¸ã®ãã°åºå64 * エラーメッセージのログ出力 80 65 * 81 * ãµã¼ãã¹ã³ã¼ã«ãã¨ã©ã¼ãè¿ããå ´åã«ï¼ãã®ãã¡ã¤ã«åï¼è¡çªå·ï¼ã¡ã¤82 * ã³ã¨ã©ã¼ã³ã¼ãçã表示ããããã®é¢æ°ï¼66 * サービスコールがエラーを返した場合に,そのファイル名,行番号,メイ 67 * ンエラーコード等を表示するための関数. 83 68 */ 84 69 extern 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
totext/x-chdr; charset=UTF-8
r317 r318 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 57 42 58 43 /* 59 * ã·ã¹ãã ãã°åºåãè¡ãããã®å®ç¾© 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 * 除くことができる. 83 60 */ 84 61 … … 93 70 94 71 /* 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) /* シャットダウンに値するエラー */ 121 94 #define LOG_ALERT UINT_C(1) 122 95 #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) /* 警告メッセージ */ 125 98 #define LOG_NOTICE UINT_C(5) 126 99 #define LOG_INFO UINT_C(6) 127 #define LOG_DEBUG UINT_C(7) /* ãããã°ç¨ã¡ãã»ã¼ã¸*/100 #define LOG_DEBUG UINT_C(7) /* デバッグ用メッセージ */ 128 101 129 102 #ifndef TOPPERS_MACRO_ONLY 130 103 131 104 /* 132 * ãã°æ 133 å ±ã®ãã¼ã¿æ§é 105 * ログ情報のデータ構造 134 106 */ 135 107 136 108 #ifndef LOGTIM 137 #define LOGTIM HRTCNT /* ãã°æå»ã®ãã¼ã¿å*/109 #define LOGTIM HRTCNT /* ログ時刻のデータ型 */ 138 110 #endif /* LOGTIM */ 139 111 140 #define TNUM_LOGPAR 6 /* ãã°ãã©ã¡ã¼ã¿ã®æ°*/112 #define TNUM_LOGPAR 6 /* ログパラメータの数 */ 141 113 142 114 #ifndef LOGPAR 143 #define LOGPAR intptr_t /* ãã°ãã©ã¡ã¼ã¿ã®ãã¼ã¿å*/115 #define LOGPAR intptr_t /* ログパラメータのデータ型 */ 144 116 #define ULOGPAR uintptr_t 145 117 #endif /* LOGPAR */ 146 118 147 119 typedef 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]; /* ログパラメータ */ 152 123 } SYSLOG; 153 124 154 125 /* 155 * ãã°æ 156 å ±ã®éè¦åº¦ã®ãããããããä½ãããã®ãã¯ã 126 * ログ情報の重要度のビットマップを作るためのマクロ 157 127 */ 158 128 #define LOG_MASK(prio) (1U << (prio)) … … 160 130 161 131 /* 162 * ãã±ããå½¢å¼ã®å®ç¾©132 * パケット形式の定義 163 133 */ 164 134 typedef 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; /* 低レベル出力すべき重要度 */ 169 139 } T_SYSLOG_RLOG; 170 140 … … 172 142 173 143 /* 174 * ãã°æ 175 å ±ãåºåããããã®ã©ã¤ãã©ãªé¢æ° 176 * 177 * TECSã§è¨è¿°ãããã·ã¹ãã ãã°æ©è½ãç´æ¥å¼ã³åºãï¼ 144 * ログ情報を出力するためのライブラリ関数 145 * 146 * TECSで記述されたシステムログ機能を直接呼び出す. 178 147 */ 179 148 … … 268 237 269 238 /* 270 * ãã°æ 271 å ±ï¼ã³ã¡ã³ãï¼ãåºåããããã®ã©ã¤ãã©ãªé¢æ°ï¼vasyslog.cï¼ 239 * ログ情報(コメント)を出力するためのライブラリ関数(vasyslog.c) 272 240 */ 273 241 extern void syslog(uint_t prio, const char *format, ...) throw(); … … 276 244 277 245 /* 278 * ã·ã¹ãã ãã°åºåãææ¢ããå ´å246 * システムログ出力を抑止する場合 279 247 */ 280 248 … … 325 293 326 294 /* 327 * ãã°æ 328 å ±ï¼ã³ã¡ã³ãï¼ãåºåããããã®ãã¯ã 329 * 330 * formatããã³å¾ç¶ã®å¼æ°ããä½æããã¡ãã»ã¼ã¸ãï¼é大度prioã§ãã°æ 331 332 * å ±ã¨ãã¦åºåããããã®ãã¯ãï¼arg1ï½argnã¯LOGPARåã«ãã£ã¹ãããã 333 * ãï¼LOGPARåã«åå¤æã§ããä»»æã®åã§ããï¼ 295 * ログ情報(コメント)を出力するためのマクロ 296 * 297 * formatおよび後続の引数から作成したメッセージを,重大度prioでログ情 298 * 報として出力するためのマクロ.arg1~argnはLOGPAR型にキャストするた 299 * め,LOGPAR型に型変換できる任意の型でよい. 334 300 */ 335 301 … … 360 326 361 327 /* 362 * ãã°æ 363 å ±ï¼ã¢ãµã¼ã·ã§ã³ã®å¤±æï¼ãåºåããããã®ãã¯ã 328 * ログ情報(アサーションの失敗)を出力するためのマクロ 364 329 */ 365 330 #ifndef TOPPERS_assert_fail
Note:
See TracChangeset
for help on using the changeset viewer.