メインページ | モジュール | 名前空間一覧 | クラス階層 | 構成 | ファイル一覧 | 名前空間メンバ | 構成メンバ | ファイルメンバ | 関連ページ

toppers/config.hpp

解説を見る。
00001 /*
00002  *  TOPPERS/C++ API Template Library
00003  *      Toyohashi Open Platform for Embedded Real-Time Systems/
00004  *      C++ API Template Library
00005  *
00006  *  Copyright (C) 2004 by TAKAGI Nobuhisa
00007  *
00008  *  上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation
00009  *  によって公表されている GNU General Public License の Version 2 に記
00010  *  述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
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  *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
00031  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
00032  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
00033  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
00034  *
00035  *  @(#) $Id: config.hpp,v 1.1.1.1 2004/04/14 09:30:28 takagi-n Exp $
00036  */
00037 
00047 #ifndef TOPPERS_CONFIG_HPP_
00048 #define TOPPERS_CONFIG_HPP_
00049 
00050 #include <t_services.h>
00051 #include <s_services.h>
00052 
00053 extern "C" void _toppers_cxxrt_reset_specific(void) throw();
00054 #define TOPPERS_TASK_INITIALIZE()   _toppers_cxxrt_reset_specific()
00055 
00056 #ifdef  _int64_
00057 #define TOPPERS_HAS_D
00058 #endif
00059 
00060 #if defined(SH1) || defined(SH2) || defined(SH3) || defined(SH4) || defined(SH5)
00061 #define SH  1
00062 #endif
00063 
00064 #if defined(M68K) || defined(SH) || defined(H8S) || defined(TMS320C54X)
00065 #define TOPPERS_HAS_IMS
00066 typedef IPM IMS;
00067 inline ER chg_ims(IMS ims) { return chg_ipm(ims); }
00068 inline ER get_ims(IMS* p_ims) { return get_ipm(p_ims); }
00069 #endif
00070 
00071 #if defined(LINUX) || defined(WINDOWS)
00072 #define TOPPERS_HAS_IMS
00073 #endif
00074 
00075 #if defined(__GNUC__)
00076 #define TOPPERS_LONG_LONG   long long
00077 #elif   defined(_MSC_VER) || defined(__BORLANDC__)
00078 #define TOPPERS_LONG_LONG   __int64
00079 #else
00080 #include <climits>
00081 #if defined(LLONG_MAX) || defined(LONG_LONG_MAX)
00082 #define TOPPERS_LONG_LONG   long long
00083 #endif
00084 #endif
00085 
00086 #ifdef  _MSC_VER
00087 #pragma warning(disable:4267)
00088 #pragma warning(disable:4290)
00089 #pragma warning(disable:4311)
00090 #pragma warning(disable:4312)
00091 #pragma warning(disable:4800)
00092 #endif
00093 
00094 #endif  // ! TOPPERS_CONFIG_HPP_