00001 /* 00002 * TOPPERS Software 00003 * Toyohashi Open Platform for Embedded Real-Time Systems 00004 * 00005 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 00006 * Toyohashi Univ. of Technology, JAPAN 00007 * Copyright (C) 2004-2008 by Embedded and Real-Time Systems Laboratory 00008 * Graduate School of Information Science, Nagoya Univ., JAPAN 00009 * 00010 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 00011 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 00012 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 00013 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 00014 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 00015 * スコード中に含まれていること. 00016 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 00017 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 00018 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 00019 * の無保証規定を掲載すること. 00020 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 00021 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 00022 * と. 00023 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 00024 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 00025 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 00026 * 報告すること. 00027 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 00028 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 00029 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 00030 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 00031 * 免責すること. 00032 * 00033 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 00034 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 00035 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 00036 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 00037 * の責任を負わない. 00038 * 00039 * @(#) $Id: itron.h 1014 2008-05-10 08:28:40Z ertl-hiro $ 00040 */ 00041 00042 /* 00043 * ITRON仕様共通規定のデータ型・定数・マクロ 00044 * 00045 * このヘッダファイルは,ITRON仕様共通規定のデータ型・定数・マクロの中 00046 * で,TOPPERS共通ヘッダファイルに含まれないものの定義を含む.ITRON仕 00047 * 様との互換性を必要とするアプリケーションがインクルードすることを想 00048 * 定している. 00049 * 00050 * アセンブリ言語のソースファイルからこのファイルをインクルードする時 00051 * は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を 00052 * 除くようになっている. 00053 */ 00054 00055 #ifndef TOPPERS_ITRON_H 00056 #define TOPPERS_ITRON_H 00057 00058 #ifdef __cplusplus 00059 extern "C" { 00060 #endif 00061 00062 /* 00063 * TOPPERS共通ヘッダファイル 00064 */ 00065 #include "t_stddef.h" 00066 00067 /* 00068 * ITRON仕様共通データ型 00069 */ 00070 #ifndef TOPPERS_MACRO_ONLY 00071 00072 #ifdef INT8_MAX 00073 typedef int8_t B; /* 符号付き8ビット整数 */ 00074 #endif /* INT8_MAX */ 00075 00076 #ifdef UINT8_MAX 00077 typedef uint8_t UB; /* 符号無し8ビット整数 */ 00078 typedef uint8_t VB; /* 型が定まらない8ビットの値 */ 00079 #endif /* UINT8_MAX */ 00080 00081 typedef int16_t H; /* 符号付き16ビット整数 */ 00082 typedef uint16_t UH; /* 符号無し16ビット整数 */ 00083 typedef uint16_t VH; /* 型が定まらない16ビットの値 */ 00084 00085 typedef int32_t W; /* 符号付き32ビット整数 */ 00086 typedef uint32_t UW; /* 符号無し32ビット整数 */ 00087 typedef uint32_t VW; /* 型が定まらない32ビットの値 */ 00088 00089 #ifdef INT64_MAX 00090 typedef int64_t D; /* 符号付き64ビット整数 */ 00091 #endif /* INT64_MAX */ 00092 00093 #ifdef UINT64_MAX 00094 typedef uint64_t UD; /* 符号無し64ビット整数 */ 00095 typedef uint64_t VD; /* 型が定まらない64ビットの値 */ 00096 #endif /* UINT64_MAX */ 00097 00098 typedef void *VP; /* 型が定まらないものへのポインタ */ 00099 00100 typedef int_t INT; /* 自然なサイズの符号付き整数 */ 00101 typedef uint_t UINT; /* 自然なサイズの符号無し整数 */ 00102 00103 typedef bool_t BOOL; /* 真偽値 */ 00104 00105 typedef intptr_t VP_INT; /* ポインタまたは符号付き整数 */ 00106 00107 #endif /* TOPPERS_MACRO_ONLY */ 00108 00109 /* 00110 * ITRON仕様共通定数 00111 */ 00112 #define TRUE true /* 真 */ 00113 #define FALSE false /* 偽 */ 00114 00115 /* 00116 * オブジェクト属性の定義 00117 */ 00118 #define TA_HLNG UINT_C(0x00) /* 高級言語用インタフェース */ 00119 #define TA_TFIFO UINT_C(0x00) /* タスクの待ち行列をFIFO順に */ 00120 #define TA_MFIFO UINT_C(0x00) /* メッセージキューをFIFO順に */ 00121 #define TA_WSGL UINT_C(0x00) /* 待ちタスクは1つのみ */ 00122 #define TA_DISINT UINT_C(0x00) /* 割込み要求禁止フラグをセット */ 00123 #define TA_LEVEL UINT_C(0x00) /* レベルトリガ */ 00124 00125 /* 00126 * ネスト回数の最大値 00127 */ 00128 #define TMAX_SUSCNT UINT_C(1) /* 強制待ち要求ネスト数の最大値 */ 00129 00130 /* 00131 * 強制待ち状態からの強制再開 00132 */ 00133 #define frsm_tsk(tskid) rsm_tsk(tskid) 00134 00135 #ifdef __cplusplus 00136 } 00137 #endif 00138 00139 #endif /* TOPPERS_ITRON_H */
Copyright © 2008 by Kijineko Inc.