itron.h

説明を見る。
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.

ホームページ制作