Ignore:
Timestamp:
Jun 10, 2015, 8:40:31 PM (9 years ago)
Author:
coas-nagasima
Message:

SHIFT_JISのコードにcharsetプロパティを付けた

Location:
uKadecot/trunk/ssp/include
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • uKadecot/trunk/ssp/include/itron.h

    • Property svn:mime-type changed from text/plain to text/plain; charset=SHIFT_JIS
    r101 r107  
    88 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    99 *
    10  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    11  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    12  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    13  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    14  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    15  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    16  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    17  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    18 ƒƒ“ƒgi—˜—p
    19  *      ŽÒƒ}ƒjƒ
    20 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    21  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    22  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    23  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    24  *      ‚ƁD
    25  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    26 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    27 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    28  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    29  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    30  *        •ñ‚·‚邱‚ƁD
    31  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    32  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    33  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    34  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    35  *      –Ɛӂ·‚邱‚ƁD
     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 *      免責すること.
    3632 *
    37  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    38  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    39  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    40  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    41  *  ‚̐ӔC‚𕉂í‚È‚¢D
     33 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     34 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     35 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     36 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     37 *  の責任を負わない.
    4238 *
    4339 *  @(#) $Id$
     
    4541
    4642/*
    47  *              ITRONŽd—l‹¤’Ê‹K’è‚̃f[ƒ^Œ^E’萔Eƒ}ƒNƒ
     43 *              ITRON仕様共通規定のデータ型・定数・マクロ
    4844 *
    49  *  ‚±‚̃wƒbƒ_ƒtƒ@ƒCƒ‹‚́CITRONŽd—l‹¤’Ê‹K’è‚̃f[ƒ^Œ^E’萔Eƒ}ƒNƒ‚Ì’†
    50  *  ‚ŁCTOPPERS‹¤’ʃwƒbƒ_ƒtƒ@ƒCƒ‹‚ÉŠÜ‚Ü‚ê‚È‚¢‚à‚Ì‚Ì’è‹`‚ðŠÜ‚ށDITRONŽd
    51  *  —l‚Ƃ̌݊·«‚ð•K—v‚Æ‚·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒCƒ“ƒNƒ‹[ƒh‚·‚邱‚Æ‚ð‘z
    52  *  ’肵‚Ä‚¢‚éD
     45 *  このヘッダファイルは,ITRON仕様共通規定のデータ型・定数・マクロの中
     46 *  で,TOPPERS共通ヘッダファイルに含まれないものの定義を含む.ITRON仕
     47 *  様との互換性を必要とするアプリケーションがインクルードすることを想
     48 *  定している.
    5349 *
    54  *  ƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚炱‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚鎞
    55  *  ‚́CTOPPERS_MACRO_ONLY‚ð’è‹`‚µ‚Ä‚¨‚­D‚±‚ê‚É‚æ‚èCƒ}ƒNƒ’è‹`ˆÈŠO‚ð
    56  *  œ‚­‚悤‚É‚È‚Á‚Ä‚¢‚éD
     50 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     51 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     52 *  除くようになっている.
    5753 */
    5854
     
    6561
    6662/*
    67  *  TOPPERS‹¤’ʃwƒbƒ_ƒtƒ@ƒCƒ‹
     63 *  TOPPERS共通ヘッダファイル
    6864 */
    6965#include "t_stddef.h"
    7066
    7167/*
    72  *  ITRONŽd—l‹¤’ʃf[ƒ^Œ^
     68 *  ITRON仕様共通データ型
    7369 */
    7470#ifndef TOPPERS_MACRO_ONLY
    7571
    7672#ifdef INT8_MAX
    77 typedef int8_t                  B;                      /* •„†•t‚«8ƒrƒbƒg®” */
     73typedef int8_t                  B;                      /* 符号付き8ビット整数 */
    7874#endif /* INT8_MAX */
    7975
    8076#ifdef UINT8_MAX
    81 typedef uint8_t                 UB;                     /* •„†–³‚µ8ƒrƒbƒg®” */
    82 typedef uint8_t                 VB;                     /* Œ^‚ª’è‚Ü‚ç‚È‚¢8ƒrƒbƒg‚Ì’l */
     77typedef uint8_t                 UB;                     /* 符号無し8ビット整数 */
     78typedef uint8_t                 VB;                     /* 型が定まらない8ビットの値 */
    8379#endif /* UINT8_MAX */
    8480
    85 typedef int16_t                 H;                      /* •„†•t‚«16ƒrƒbƒg®” */
    86 typedef uint16_t                UH;                     /* •„†–³‚µ16ƒrƒbƒg®” */
    87 typedef uint16_t                VH;                     /* Œ^‚ª’è‚Ü‚ç‚È‚¢16ƒrƒbƒg‚Ì’l */
     81typedef int16_t                 H;                      /* 符号付き16ビット整数 */
     82typedef uint16_t                UH;                     /* 符号無し16ビット整数 */
     83typedef uint16_t                VH;                     /* 型が定まらない16ビットの値 */
    8884
    89 typedef int32_t                 W;                      /* •„†•t‚«32ƒrƒbƒg®” */
    90 typedef uint32_t                UW;                     /* •„†–³‚µ32ƒrƒbƒg®” */
    91 typedef uint32_t                VW;                     /* Œ^‚ª’è‚Ü‚ç‚È‚¢32ƒrƒbƒg‚Ì’l */
     85typedef int32_t                 W;                      /* 符号付き32ビット整数 */
     86typedef uint32_t                UW;                     /* 符号無し32ビット整数 */
     87typedef uint32_t                VW;                     /* 型が定まらない32ビットの値 */
    9288
    9389#ifdef INT64_MAX
    94 typedef int64_t                 D;                      /* •„†•t‚«64ƒrƒbƒg®” */
     90typedef int64_t                 D;                      /* 符号付き64ビット整数 */
    9591#endif /* INT64_MAX */
    9692
    9793#ifdef UINT64_MAX
    98 typedef uint64_t                UD;                     /* •„†–³‚µ64ƒrƒbƒg®” */
    99 typedef uint64_t                VD;                     /* Œ^‚ª’è‚Ü‚ç‚È‚¢64ƒrƒbƒg‚Ì’l */
     94typedef uint64_t                UD;                     /* 符号無し64ビット整数 */
     95typedef uint64_t                VD;                     /* 型が定まらない64ビットの値 */
    10096#endif /* UINT64_MAX */
    10197
    102 typedef void                    *VP;            /* Œ^‚ª’è‚Ü‚ç‚È‚¢‚à‚̂ւ̃|ƒCƒ“ƒ^ */
     98typedef void                    *VP;            /* 型が定まらないものへのポインタ */
    10399
    104 typedef int_t                   INT;            /* Ž©‘R‚ȃTƒCƒY‚Ì•„†•t‚«®” */
    105 typedef uint_t                  UINT;           /* Ž©‘R‚ȃTƒCƒY‚Ì•„†–³‚µ®” */
     100typedef int_t                   INT;            /* 自然なサイズの符号付き整数 */
     101typedef uint_t                  UINT;           /* 自然なサイズの符号無し整数 */
    106102
    107 typedef bool_t                  BOOL;           /* ^‹U’l */
     103typedef bool_t                  BOOL;           /* 真偽値 */
    108104
    109 typedef intptr_t                VP_INT;         /* ƒ|ƒCƒ“ƒ^‚Ü‚½‚Í•„†•t‚«®” */
     105typedef intptr_t                VP_INT;         /* ポインタまたは符号付き整数 */
    110106
    111107#endif /* TOPPERS_MACRO_ONLY */
    112108
    113109/*
    114  *  ITRONŽd—l‹¤’ʒ萔
     110 *  ITRON仕様共通定数
    115111 */
    116 #define TRUE            true                    /* ^ */
    117 #define FALSE           false                   /* ‹U */
     112#define TRUE            true                    /* */
     113#define FALSE           false                   /* */
    118114
    119115/*
    120  *  ƒIƒuƒWƒFƒNƒg‘®«‚Ì’è‹`
     116 *  オブジェクト属性の定義
    121117 */
    122 #define TA_HLNG                 UINT_C(0x00)    /* ‚‹‰Œ¾Œê—pƒCƒ“ƒ^ƒtƒF[ƒX */
    123 #define TA_TFIFO                UINT_C(0x00)    /* ƒ^ƒXƒN‚Ì‘Ò‚¿s—ñ‚ðFIFO‡‚É */
    124 #define TA_MFIFO                UINT_C(0x00)    /* ƒƒbƒZ[ƒWƒLƒ
    125 [‚ðFIFO‡‚É */
    126 #define TA_WSGL                 UINT_C(0x00)    /* ‘Ò‚¿ƒ^ƒXƒN‚Í1‚Â‚Ì‚Ý */
    127 #define TA_DISINT               UINT_C(0x00)    /* Š„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ðƒZƒbƒg */
    128 #define TA_LEVEL                UINT_C(0x00)    /* ƒŒƒxƒ‹ƒgƒŠƒK */
     118#define TA_HLNG                 UINT_C(0x00)    /* 高級言語用インタフェース */
     119#define TA_TFIFO                UINT_C(0x00)    /* タスクの待ち行列をFIFO順に */
     120#define TA_MFIFO                UINT_C(0x00)    /* メッセージキューをFIFO順に */
     121#define TA_WSGL                 UINT_C(0x00)    /* 待ちタスクは1つのみ */
     122#define TA_DISINT               UINT_C(0x00)    /* 割込み要求禁止フラグをセット */
     123#define TA_LEVEL                UINT_C(0x00)    /* レベルトリガ */
    129124
    130125/*
    131  *  ƒlƒXƒg‰ñ”‚̍őå’l
     126 *  ネスト回数の最大値
    132127 */
    133 #define TMAX_SUSCNT             UINT_C(1)               /* ‹­§‘Ò‚¿—v‹ƒlƒXƒg”‚̍őå’l */
     128#define TMAX_SUSCNT             UINT_C(1)               /* 強制待ち要求ネスト数の最大値 */
    134129
    135130/*
    136  *  ‹­§‘Ò‚¿ó‘Ô‚©‚ç‚Ì‹­§ÄŠJ
     131 *  強制待ち状態からの強制再開
    137132 */
    138133#define frsm_tsk(tskid)         rsm_tsk(tskid)
  • uKadecot/trunk/ssp/include/kernel.h

    • Property svn:mime-type changed from text/plain to text/plain; charset=SHIFT_JIS
    r101 r107  
    1111 *  Copyright (C) 2010-2012 by Meika Sugimoto
    1212 *
    13  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì (1)`(4) ‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    14  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü•ÏE
    15  *  Ä”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    16  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ìŒ 
    17  *      •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[ƒX
    18  *      ƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    19  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg—p
    20  *      ‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    21 ƒƒ“ƒgi—˜—pŽÒƒ}
    22  *      ƒjƒ
    23 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•Û
    24  *      Ø‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    25  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg—p
    26  *      ‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±‚ƁD
    27  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    28 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    29 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ì
    30  *        Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    31  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É•ñ
    32  *        ‚·‚邱‚ƁD
    33  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹ŠQ
    34  *      ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD‚Ü‚½C
    35  *      –{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝—R‚ÉŠî‚Ã
    36  *      ‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
     13 *  上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ
     14 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・
     15 *  再配布(以下,利用と呼ぶ)することを無償で許諾する.
     16 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権
     17 *      表示,この利用条件および下記の無保証規定が,そのままの形でソース
     18 *      コード中に含まれていること.
     19 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用
     20 *      できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ
     21 *      ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保
     22 *      証規定を掲載すること.
     23 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用
     24 *      できない形で再配布する場合には,次のいずれかの条件を満たすこと.
     25 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作
     26 *        権表示,この利用条件および下記の無保証規定を掲載すること.
     27 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報
     28 *        告すること.
     29 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
     30 *      からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また,
     31 *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
     32 *      く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    3733 *
    38  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨‚æ
    39  *  ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I‚ɑ΂·
    40  *  ‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p
    41  *  ‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»‚̐ӔC‚ð•‰
    42  *  ‚í‚È‚¢D
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者およ
     35 *  びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す
     36 *  る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用
     37 *  により直接的または間接的に生じたいかなる損害に関しても,その責任を負
     38 *  わない.
    4339 *
    4440 */
    4541
    4642/*
    47  *              TOPPERS/SSPƒJ[ƒlƒ‹ •W€ƒwƒbƒ_ƒtƒ@ƒCƒ‹
    48  *
    49  *  TOPPERS/SSPƒJ[ƒlƒ‹‚ªƒTƒ|[ƒg‚·‚éƒT[ƒrƒXƒR[ƒ‹‚̐錾‚ƁC•K—v‚ȃf[
    50  *  ƒ^Œ^C’萔Cƒ}ƒNƒ‚Ì’è‹`‚ðŠÜ‚Þƒwƒbƒ_ƒtƒ@ƒCƒ‹D
    51  *
    52  *  ƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚炱‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚鎞
    53  *  ‚́CTOPPERS_MACRO_ONLY‚ð’è‹`‚µ‚Ä‚¨‚­D‚±‚ê‚É‚æ‚èCƒ}ƒNƒ’è‹`ˆÈŠO‚ð
    54  *  œ‚­‚悤‚É‚È‚Á‚Ä‚¢‚éD
    55  *
    56  *  ‚±‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɃCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¨‚­‚ׂ«ƒtƒ@ƒCƒ‹
    57  *  ‚Í‚È‚¢D
     43 *              TOPPERS/SSPカーネル 標準ヘッダファイル
     44 *
     45 *  TOPPERS/SSPカーネルがサポートするサービスコールの宣言と,必要なデー
     46 *  タ型,定数,マクロの定義を含むヘッダファイル.
     47 *
     48 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     49 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     50 *  除くようになっている.
     51 *
     52 *  このファイルをインクルードする前にインクルードしておくべきファイル
     53 *  はない.
    5854 */
    5955
     
    6258
    6359/*
    64  *      TOPPERS‹¤’ʂ̃f[ƒ^Œ^E’萔Eƒ}ƒNƒ
     60 *      TOPPERS共通のデータ型・定数・マクロ
    6561 */
    6662#include <t_stddef.h>
    6763
    6864/*
    69  *  ƒ^[ƒQƒbƒgˆË‘¶•”
     65 *  ターゲット依存部
    7066 */
    7167#include "target_kernel.h"
     
    7369
    7470/*
    75  *  ƒf[ƒ^Œ^‚Ì’è‹`
    76  */
    77 
    78 /*
    79  *  ƒrƒbƒgƒpƒ^[ƒ“‚âƒIƒuƒWƒFƒNƒg”ԍ†‚ÌŒ^’è‹`
    80  */
    81 typedef uint_t                  INTNO;          /* Š„ž‚ݔԍ† */
    82 typedef uint_t                  INHNO;          /* Š„ž‚݃nƒ“ƒhƒ‰”ԍ† */
    83 typedef uint_t                  EXCNO;          /* CPU—áŠOƒnƒ“ƒhƒ‰”ԍ† */
    84 typedef unsigned long   FLGPTN;         /* ƒCƒxƒ“ƒgƒtƒ‰ƒOƒpƒ^[ƒ“ */
    85 
    86 
    87 /*
    88  *  ˆ—’PˆÊ‚ÌŒ^’è‹`
     71 *  データ型の定義
     72 */
     73
     74/*
     75 *  ビットパターンやオブジェクト番号の型定義
     76 */
     77typedef uint_t                  INTNO;          /* 割込み番号 */
     78typedef uint_t                  INHNO;          /* 割込みハンドラ番号 */
     79typedef uint_t                  EXCNO;          /* CPU例外ハンドラ番号 */
     80typedef unsigned long   FLGPTN;         /* イベントフラグパターン */
     81
     82
     83/*
     84 *  処理単位の型定義
    8985 */
    9086typedef void    (*TASK)(intptr_t exinf);
     
    9894
    9995/*
    100  *  ƒƒ‚ƒŠ—̈æŠm•Û‚Ì‚½‚ß‚ÌŒ^’è‹`
     96 *  メモリ領域確保のための型定義
    10197 */
    10298#ifndef TOPPERS_STK_T
    10399#define TOPPERS_STK_T   intptr_t
    104100#endif /* TOPPERS_STK_T */
    105 typedef TOPPERS_STK_T   STK_T;  /* ƒXƒ^ƒbƒN—̈æ‚ðŠm•Û‚·‚邽‚ß‚ÌŒ^ */
    106 
    107 
    108 /*
    109  *  ƒT[ƒrƒXƒR[ƒ‹‚̐錾
    110  */
    111 
    112 /*
    113  *  ƒ^ƒXƒNŠÇ—‹@”\
     101typedef TOPPERS_STK_T   STK_T;  /* スタック領域を確保するための型 */
     102
     103
     104/*
     105 *  サービスコールの宣言
     106 */
     107
     108/*
     109 *  タスク管理機能
    114110 */
    115111extern ER               act_tsk(ID tskid);
     
    117113
    118114/*
    119  *  “¯ŠúE’ʐM‹@”\
    120  */
    121 
    122 /* ƒf[ƒ^ƒLƒ
    123 [ */
     115 *  同期・通信機能
     116 */
     117
     118/* データキュー */
    124119extern ER psnd_dtq(ID dtqid, intptr_t data);
    125120extern ER ipsnd_dtq(ID dtqid, intptr_t data);
    126121extern ER prcv_dtq(ID dtqid, intptr_t *p_data);
    127122
    128 /* ƒCƒxƒ“ƒgƒtƒ‰ƒO */
     123/* イベントフラグ */
    129124extern ER set_flg(ID flgid, FLGPTN setptn);
    130125extern ER iset_flg(ID flgid, FLGPTN setptn);
     
    133128
    134129/*
    135  *  ƒVƒXƒeƒ€ó‘ÔŠÇ—‹@”\
     130 *  システム状態管理機能
    136131 */
    137132extern ER               loc_cpu(void);
     
    149144
    150145/*
    151  *  Š„ž‚ÝŠÇ—‹@”\
     146 *  割込み管理機能
    152147 */
    153148extern ER               dis_int(INTNO intno);
     
    155150
    156151/*
    157  *  ŽüŠúƒnƒ“ƒhƒ‰‹@”\
     152 *  周期ハンドラ機能
    158153 */
    159154extern ER               sta_cyc(ID cycid);
     
    161156
    162157/*
    163  *  ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‹@”\
     158 *  アラームハンドラ機能
    164159 */
    165160extern ER               sta_alm(ID almid , RELTIM almtim);
     
    169164
    170165/*
    171  *  ƒVƒXƒeƒ€ŽžŠÇ—‹@”\
     166 *  システム時刻管理機能
    172167 */
    173168extern ER               get_tim(SYSTIM *p_systim);
     
    176171
    177172/*
    178  *  ƒIƒuƒWƒFƒNƒg‘®«‚Ì’è‹`
    179  */
    180 #define TA_RSTR                 UINT_C(0x04)    /* §–ñƒ^ƒXƒN */
    181 
    182 #define TA_CLR                  UINT_C(0x04)    /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚̃NƒŠƒAŽw’è */
    183 
    184 #define TA_ACT                  UINT_C(0x02)    /* ƒ^ƒXƒN‚ð‹N“®‚³‚ꂽó‘ԂŐ¶¬ */
    185 
    186 #define TA_STA                  UINT_C(0x02)    /* ŽüŠúƒnƒ“ƒhƒ‰‚𓮍ìó‘ԂŐ¶¬ */
    187 
    188 #define TA_NONKERNEL    UINT_C(0x02)    /* ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý */
    189 
    190 #define TA_ENAINT               UINT_C(0x01)    /* Š„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ðƒNƒŠƒA */
    191 #define TA_EDGE                 UINT_C(0x02)    /* ƒGƒbƒWƒgƒŠƒK */
    192 
    193 /*
    194  *  ƒT[ƒrƒXƒR[ƒ‹‚Ì“®ìƒ‚[ƒh‚Ì’è‹`
    195  */
    196 #define TWF_ORW                 UINT_C(0x01)    /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚ÌOR‘Ò‚¿ */
    197 #define TWF_ANDW                UINT_C(0x02)    /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚ÌAND‘Ò‚¿ */
    198 
    199 /*
    200  *  ‚»‚Ì‘¼‚̒萔‚Ì’è‹`
    201  */
    202 #define TSK_SELF                0                       /* Ž©ƒ^ƒXƒNŽw’è */
    203 #define TSK_NONE                0                       /* ŠY“–‚·‚éƒ^ƒXƒN‚ª‚È‚¢ */
    204 
    205 #define TPRI_INI                0                       /* ƒ^ƒXƒN‚Ì‹N“®Žž—Dæ“x */
    206 
    207 #define TIPM_ENAALL             0                       /* Š„ž‚Ý—Dæ“xƒ}ƒXƒN‘S‰ðœ */
    208 
    209 /*
    210  *  \¬’萔‚ƃ}ƒNƒ
    211  */
    212 
    213 /*
    214  *  —Dæ“x‚͈̔Í
    215  */
    216 #define TMIN_TPRI               1                       /* ƒ^ƒXƒN—Dæ“x‚̍ŏ¬’liÅ‚’lj*/
     173 *  オブジェクト属性の定義
     174 */
     175#define TA_RSTR                 UINT_C(0x04)    /* 制約タスク */
     176
     177#define TA_CLR                  UINT_C(0x04)    /* イベントフラグのクリア指定 */
     178
     179#define TA_ACT                  UINT_C(0x02)    /* タスクを起動された状態で生成 */
     180
     181#define TA_STA                  UINT_C(0x02)    /* 周期ハンドラを動作状態で生成 */
     182
     183#define TA_NONKERNEL    UINT_C(0x02)    /* カーネル管理外の割込み */
     184
     185#define TA_ENAINT               UINT_C(0x01)    /* 割込み要求禁止フラグをクリア */
     186#define TA_EDGE                 UINT_C(0x02)    /* エッジトリガ */
     187
     188/*
     189 *  サービスコールの動作モードの定義
     190 */
     191#define TWF_ORW                 UINT_C(0x01)    /* イベントフラグのOR待ち */
     192#define TWF_ANDW                UINT_C(0x02)    /* イベントフラグのAND待ち */
     193
     194/*
     195 *  その他の定数の定義
     196 */
     197#define TSK_SELF                0                       /* 自タスク指定 */
     198#define TSK_NONE                0                       /* 該当するタスクがない */
     199
     200#define TPRI_INI                0                       /* タスクの起動時優先度 */
     201
     202#define TIPM_ENAALL             0                       /* 割込み優先度マスク全解除 */
     203
     204/*
     205 *  構成定数とマクロ
     206 */
     207
     208/*
     209 *  優先度の範囲
     210 */
     211#define TMIN_TPRI               1                       /* タスク優先度の最小値(最高値)*/
    217212#ifndef TMAX_TPRI
    218         #define TMAX_TPRI               16                      /* ƒ^ƒXƒN—Dæ“x‚̍őå’liÅ’á’lj*/
     213        #define TMAX_TPRI               16                      /* タスク優先度の最大値(最低値)*/
    219214#elif (TMAX_TPRI != 8) && (TMAX_TPRI != 16)
    220215        #error "TMAX_TPRI must defined 8 or 16."
    221216#endif  /* TMAX_TPRI */
    222217
    223 #define TMIN_ISRPRI             1                       /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“—Dæ“x‚̍ŏ¬’l */
     218#define TMIN_ISRPRI             1                       /* 割込みサービスルーチン優先度の最小値 */
    224219#ifndef TMAX_ISRPRI
    225         #define TMAX_ISRPRI             16                      /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“—Dæ“x‚̍őå’l */
     220        #define TMAX_ISRPRI             16                      /* 割込みサービスルーチン優先度の最大値 */
    226221#elif (TMAX_ISRPRI != 8) && (TMAX_ISRPRI != 16)
    227222        #error "TMAX_ISRPRI must defined 8 or 16."
     
    229224
    230225/*
    231  *  ƒo[ƒWƒ‡ƒ“î•ñ
    232  */
    233 #define TKERNEL_MAKER   UINT_C(0x0118)  /* ƒJ[ƒlƒ‹‚̃[ƒJ[ƒR[ƒh */
    234 #define TKERNEL_PRID    UINT_C(0x0007)  /* ƒJ[ƒlƒ‹‚ÌŽ¯•Ê”ԍ† */
    235 #define TKERNEL_SPVER   UINT_C(0xf511)  /* ƒJ[ƒlƒ‹Žd—l‚̃o[ƒWƒ‡ƒ“”ԍ† */
    236 #define TKERNEL_PRVER   UINT_C(0x1030)  /* ƒJ[ƒlƒ‹‚̃o[ƒWƒ‡ƒ“”ԍ† */
    237 
    238 /*
    239  *  ƒLƒ
    240 [ƒCƒ“ƒO‰ñ”‚̍őå’l
    241  */
    242 #define TMAX_ACTCNT             UINT_C(1)               /* ‹N“®—v‹ƒLƒ
    243 [ƒCƒ“ƒO”‚̍őå’l */
    244 
    245 /*
    246  *  ƒrƒbƒgƒpƒ^[ƒ“‚̃rƒbƒg”
    247  */
    248 #ifndef TBIT_FLGPTN                     /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚̃rƒbƒg” */
     226 *  バージョン情報
     227 */
     228#define TKERNEL_MAKER   UINT_C(0x0118)  /* カーネルのメーカーコード */
     229#define TKERNEL_PRID    UINT_C(0x0007)  /* カーネルの識別番号 */
     230#define TKERNEL_SPVER   UINT_C(0xf511)  /* カーネル仕様のバージョン番号 */
     231#define TKERNEL_PRVER   UINT_C(0x1030)  /* カーネルのバージョン番号 */
     232
     233/*
     234 *  キューイング回数の最大値
     235 */
     236#define TMAX_ACTCNT             UINT_C(1)               /* 起動要求キューイング数の最大値 */
     237
     238/*
     239 *  ビットパターンのビット数
     240 */
     241#ifndef TBIT_FLGPTN                     /* イベントフラグのビット数 */
    249242#define TBIT_FLGPTN             (sizeof(FLGPTN) * CHAR_BIT)
    250243#endif /* TBIT_FLGPTN */
    251244
    252245/*
    253  *  ƒƒ‚ƒŠ—̈æŠm•Û‚Ì‚½‚߂̃}ƒNƒ
    254  *
    255  *  ˆÈ‰º‚ÌTOPPERS_COUNT_SZ‚ÆTOPPERS_ROUND_SZ‚Ì’è‹`‚́Cunit‚ª2‚̋Џæ‚Å‚ 
    256  *  ‚邱‚Æ‚ð‰¼’è‚µ‚Ä‚¢‚éD
     246 *  メモリ領域確保のためのマクロ
     247 *
     248 *  以下のTOPPERS_COUNT_SZとTOPPERS_ROUND_SZの定義は,unitが2の巾乗であ
     249 *  ることを仮定している.
    257250 */
    258251#ifndef TOPPERS_COUNT_SZ
     
    267260
    268261/*
    269  *  ‚»‚Ì‘¼‚̍\¬’萔
    270  */
    271 #define TMAX_MAXCYC             UINT_C(16)        /* ŽüŠúƒnƒ“ƒhƒ‰‚̍ő吔 */
    272 #define TMAX_MAXALM             UINT_C(16)        /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚̍ő吔 */
     262 *  その他の構成定数
     263 */
     264#define TMAX_MAXCYC             UINT_C(16)        /* 周期ハンドラの最大数 */
     265#define TMAX_MAXALM             UINT_C(16)        /* アラームハンドラの最大数 */
    273266
    274267#endif /* TOPPERS_KERNEL_H */
  • uKadecot/trunk/ssp/include/log_output.h

    • Property svn:mime-type changed from text/plain to text/plain; charset=SHIFT_JIS
    r101 r107  
    1010 *              Nagoya Municipal Industrial Research Institute, JAPAN
    1111 *
    12  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    13  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    14  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    15  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    16  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    17  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    18  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    19  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    20 ƒƒ“ƒgi—˜—p
    21  *      ŽÒƒ}ƒjƒ
    22 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    23  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    24  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    25  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    26  *      ‚ƁD
    27  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    28 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    29 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    30  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    31  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    32  *        •ñ‚·‚邱‚ƁD
    33  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    34  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    35  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    36  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    37  *      –Ɛӂ·‚邱‚ƁD
     12 *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
     13 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     14 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     15 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     16 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     17 *      スコード中に含まれていること.
     18 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     19 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     20 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     21 *      の無保証規定を掲載すること.
     22 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     23 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     24 *      と.
     25 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     26 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     27 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     28 *        報告すること.
     29 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     30 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     31 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     32 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     33 *      免責すること.
    3834 *
    39  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    40  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    41  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    42  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    43  *  ‚̐ӔC‚𕉂í‚È‚¢D
     35 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     36 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     37 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     38 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     39 *  の責任を負わない.
    4440 *
    4541 *  @(#) $Id$
     
    4743
    4844/*
    49  *              ƒVƒXƒeƒ€ƒƒO‚̃tƒH[ƒ}ƒbƒgo—Í
     45 *              システムログのフォーマット出力
    5046 */
    5147
     
    6056
    6157/*
    62  *  •¶Žš—ñ®Œ`o—Í
     58 *  文字列整形出力
    6359 *
    64  *  format‚ÅŽw’肳‚ê‚éƒtƒH[ƒ}ƒbƒg‹Lq‚Æp_args‚ÅŽw’肳‚ê‚éˆø”—ñ‚©‚çì
    65  *  ¬‚µ‚½ƒƒbƒZ[ƒW‚ðC1•¶Žšo—͊֐”putc‚ð—p‚¢‚ďo—Í‚·‚éD
     60 *  formatで指定されるフォーマット記述とp_argsで指定される引数列から作
     61 *  成したメッセージを,1文字出力関数putcを用いて出力する.
    6662 */
    6763extern void     syslog_printf(const char *format, const intptr_t *p_args,
     
    6965
    7066/*
    71  *  ƒƒOî•ñ‚̏o—Í
     67 *  ログ情報の出力
    7268 *
    73  *  p_syslog‚ÅŽw’肳‚ê‚郍ƒOî•ñ‚𕶎š—ñ‚ɐ®Œ`‚µC1•¶Žšo—͊֐”putc‚ð—p
    74  *  ‚¢‚ďo—Í‚·‚éD
     69 *  p_syslogで指定されるログ情報を文字列に整形し,1文字出力関数putcを用
     70 *  いて出力する.
    7571 */
    7672extern void     syslog_print(const SYSLOG *p_syslog, void (*putc)(char)) throw();
    7773
    7874/*
    79  *  ƒƒOî•ñ‘rŽ¸ƒƒbƒZ[ƒW•¶Žš—ñ
     75 *  ログ情報喪失メッセージ文字列
    8076 *
    81  *  lostŒÂ‚̃ƒOî•ñ‚ªŽ¸‚í‚ꂽŽ|‚̃ƒbƒZ[ƒW‚ðC1•¶Žšo—͊֐”putc‚ð—p‚¢
    82  *  ‚ďo—Í‚·‚éD
     77 *  lost個のログ情報が失われた旨のメッセージを,1文字出力関数putcを用い
     78 *  て出力する.
    8379 */
    8480extern void     syslog_lostmsg(uint_t lost, void (*putc)(char)) throw();
  • uKadecot/trunk/ssp/include/queue.h

    • Property svn:mime-type changed from text/plain to text/plain; charset=SHIFT_JIS
    r101 r107  
    55 *  Copyright (C) 2011 by Meika Sugimoto
    66 *
    7  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì (1)`(4) ‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    8  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü•ÏE
    9  *  Ä”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    10  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ìŒ 
    11  *      •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[ƒX
    12  *      ƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    13  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg—p
    14  *      ‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    15 ƒƒ“ƒgi—˜—pŽÒƒ}
    16  *      ƒjƒ
    17 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•Û
    18  *      Ø‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    19  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg—p
    20  *      ‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±‚ƁD
    21  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    22 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    23 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ì
    24  *        Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    25  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É•ñ
    26  *        ‚·‚邱‚ƁD
    27  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹ŠQ
    28  *      ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD‚Ü‚½C
    29  *      –{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝—R‚ÉŠî‚Ã
    30  *      ‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
     7 *  上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ
     8 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・
     9 *  再配布(以下,利用と呼ぶ)することを無償で許諾する.
     10 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権
     11 *      表示,この利用条件および下記の無保証規定が,そのままの形でソース
     12 *      コード中に含まれていること.
     13 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用
     14 *      できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ
     15 *      ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保
     16 *      証規定を掲載すること.
     17 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用
     18 *      できない形で再配布する場合には,次のいずれかの条件を満たすこと.
     19 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作
     20 *        権表示,この利用条件および下記の無保証規定を掲載すること.
     21 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報
     22 *        告すること.
     23 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
     24 *      からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また,
     25 *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
     26 *      く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    3127 *
    32  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨‚æ
    33  *  ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I‚ɑ΂·
    34  *  ‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p
    35  *  ‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»‚̐ӔC‚ð•‰
    36  *  ‚í‚È‚¢D
     28 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者およ
     29 *  びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す
     30 *  る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用
     31 *  により直接的または間接的に生じたいかなる損害に関しても,その責任を負
     32 *  わない.
    3733 *
    3834 */
    3935
    4036/*
    41  *  ƒLƒ
    42 [‘€ìƒwƒbƒ_
     37 *  キュー操作ヘッダ
    4338 *
    44  *  SSPƒJ[ƒlƒ‹‚ł̓ƒ‚ƒŠß–ñ‚Ì‚½‚߂ɃCƒ“ƒfƒbƒNƒX‚ðŽg—p‚µ‚½ƒLƒ
    45 [‚ð—p‚¢‚é
     39 *  SSPカーネルではメモリ節約のためにインデックスを使用したキューを用いる
    4640 */
    4741
     
    4943#define TOPPERS_QUEUE_H
    5044
    51 /* ƒLƒ
    52 [‚̃Cƒ“ƒfƒbƒNƒX */
     45/* キューのインデックス */
    5346typedef uint8_t QUEIDX;
    5447
    55 /* ƒLƒ
    56 [\‘¢‘Ì */
     48/* キュー構造体 */
    5749typedef struct
    5850{
     
    6254
    6355
    64 /* ƒLƒ
    65 [ƒwƒbƒ_‚̏‰Šú‰» */
     56/* キューヘッダの初期化 */
    6657Inline void
    6758queue_initialize(QUEUE *queue , QUEIDX queue_null)
     
    7061}
    7162
    72 /* Žw’肵‚½—v‘f‚Ì‘O‚ɐV‚½‚È—v‘f‚ð’ljÁ */
     63/* 指定した要素の前に新たな要素を追加 */
    7364Inline void
    7465queue_insert_prev(QUEUE *top , QUEIDX queue , QUEIDX entry)
     
    8172
    8273
    83 /* Žw’肵‚½ƒLƒ
    84 [‚ÌŽŸ‚Ì—v‘f‚ðíœ‚µC‚»‚̃Cƒ“ƒfƒbƒNƒX‚ð•Ô‚· */
     74/* 指定したキューの次の要素を削除し,そのインデックスを返す */
    8575Inline QUEIDX
    8676queue_delete_next(QUEUE *top , QUEIDX queue)
     
    9484
    9585/*
    96  *  ƒLƒ
    97 [‚ª‹ó‚©‚Ç‚¤‚©‚̃eƒXƒg
     86 *  キューが空かどうかのテスト
    9887 *
    99  *  queue‚ɂ̓Lƒ
    100 [ƒwƒbƒ_‚ðŽw’è‚·‚邱‚Æ
     88 *  queueにはキューヘッダを指定すること
    10189 */
    10290Inline bool_t
  • uKadecot/trunk/ssp/include/sil.h

    • Property svn:mime-type changed from text/plain to text/plain; charset=SHIFT_JIS
    r101 r107  
    1010 *             Nagoya Municipal Industrial Research Institute, JAPAN
    1111 *
    12  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    13  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    14  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    15  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    16  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    17  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    18  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    19  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    20 ƒƒ“ƒgi—˜—p
    21  *      ŽÒƒ}ƒjƒ
    22 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    23  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    24  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    25  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    26  *      ‚ƁD
    27  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    28 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    29 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    30  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    31  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    32  *        •ñ‚·‚邱‚ƁD
    33  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    34  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    35  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    36  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    37  *      –Ɛӂ·‚邱‚ƁD
    38  *
    39  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    40  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    41  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    42  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    43  *  ‚̐ӔC‚𕉂í‚È‚¢D
     12 *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
     13 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     14 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     15 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     16 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     17 *      スコード中に含まれていること.
     18 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     19 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     20 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     21 *      の無保証規定を掲載すること.
     22 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     23 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     24 *      と.
     25 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     26 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     27 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     28 *        報告すること.
     29 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     30 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     31 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     32 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     33 *      免責すること.
     34 *
     35 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     36 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     37 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     38 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     39 *  の責任を負わない.
    4440 *
    4541 *  @(#) $Id$
     
    4743
    4844/*
    49  *              ƒVƒXƒeƒ€ƒCƒ“ƒ^ƒtƒF[ƒXƒŒƒCƒ„
    50  *
    51  *  ƒVƒXƒeƒ€ƒCƒ“ƒ^ƒtƒF[ƒXƒŒƒCƒ„‚̃T[ƒrƒXƒR[ƒ‹‚Ì’è‹`EéŒ¾‚ƃ}ƒNƒ‚È
    52  *  ‚Ç‚Ì’è‹`‚ðŠÜ‚Þƒwƒbƒ_ƒtƒ@ƒCƒ‹D
    53  *
    54  *  ƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚炱‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚鎞
    55  *  ‚́CTOPPERS_MACRO_ONLY‚ð’è‹`‚µ‚Ä‚¨‚­‚±‚ƂŁCƒ}ƒNƒ’è‹`ˆÈŠO‚Ì‹Lq‚ð
    56  *  œ‚­‚±‚Æ‚ª‚Å‚«‚éD
    57  *
    58  *  ‚±‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɃCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¨‚­‚ׂ«ƒtƒ@ƒCƒ‹
    59  *  ‚Í‚È‚¢D
     45 *              システムインタフェースレイヤ
     46 *
     47 *  システムインタフェースレイヤのサービスコールの定義・宣言とマクロな
     48 *  どの定義を含むヘッダファイル.
     49 *
     50 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     51 *  は,TOPPERS_MACRO_ONLYを定義しておくことで,マクロ定義以外の記述を
     52 *  除くことができる.
     53 *
     54 *  このファイルをインクルードする前にインクルードしておくべきファイル
     55 *  はない.
    6056 */
    6157
     
    6864
    6965/*
    70  *      TOPPERS‹¤’ʂ̃f[ƒ^Œ^E’萔Eƒ}ƒNƒ
     66 *      TOPPERS共通のデータ型・定数・マクロ
    7167 */
    7268#include <t_stddef.h>
    7369
    7470/*
    75  *  ƒ^[ƒQƒbƒgˆË‘¶•”
     71 *  ターゲット依存部
    7672 */
    7773#include "target_sil.h"
     
    8076
    8177/*
    82  *  ‘SŠ„ž‚݃ƒbƒNó‘Ԃ̐§Œä
    83  *
    84  *  SIL_PRE_LOCCSIL_LOC_INT()CSIL_UNL_INT()‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å—p
    85  *  ˆÓ‚·‚éDƒfƒtƒHƒ‹ƒg‚Ì’è‹`‚Í—pˆÓ‚µ‚Ä‚¢‚È‚¢D
    86  */
    87 
    88 /*
    89  *  ”÷­ŽžŠÔ‘Ò‚¿
     78 *  全割込みロック状態の制御
     79 *
     80 *  SIL_PRE_LOC,SIL_LOC_INT(),SIL_UNL_INT()は,ターゲット依存部で用
     81 *  意する.デフォルトの定義は用意していない.
     82 */
     83
     84/*
     85 *  微少時間待ち
    9086 */
    9187extern void     sil_dly_nse(ulong_t dlytim) throw();
    9288
    9389/*
    94  *  ƒGƒ“ƒfƒBƒAƒ“‚Ì”½“]
     90 *  エンディアンの反転
    9591 */
    9692#ifndef TOPPERS_SIL_REV_ENDIAN_UINT16
     
    106102
    107103/*
    108  *  ƒƒ‚ƒŠ‹óŠÔƒAƒNƒZƒXŠÖ”
     104 *  メモリ空間アクセス関数
    109105 */
    110106#ifndef TOPPERS_OMIT_SIL_ACCESS
    111107
    112108/*
    113  *  8ƒrƒbƒg’PˆÊ‚̓Ǐo‚µ^‘ž‚Ý
     109 *  8ビット単位の読出し/書込み
    114110 */
    115111#ifdef UINT8_MAX
     
    133129
    134130/*
    135  *  16ƒrƒbƒg’PˆÊ‚̓Ǐo‚µ^‘ž‚Ý
     131 *  16ビット単位の読出し/書込み
    136132 */
    137133
     
    151147}
    152148
    153 #ifdef SIL_ENDIAN_BIG                   /* ƒrƒbƒOƒGƒ“ƒfƒBƒAƒ“ƒvƒƒZƒbƒT */
     149#ifdef SIL_ENDIAN_BIG                   /* ビッグエンディアンプロセッサ */
    154150
    155151#define sil_reh_bem(mem)                sil_reh_mem(mem)
     
    177173
    178174#endif /* TOPPERS_OMIT_SIL_WRH_LEM */
    179 #else /* SIL_ENDIAN_BIG */              /* ƒŠƒgƒ‹ƒGƒ“ƒfƒBƒAƒ“ƒvƒƒZƒbƒT */
     175#else /* SIL_ENDIAN_BIG */              /* リトルエンディアンプロセッサ */
    180176
    181177#define sil_reh_lem(mem)                sil_reh_mem((mem))
     
    206202
    207203/*
    208  *  32ƒrƒbƒg’PˆÊ‚̓Ǐo‚µ^‘ž‚Ý
     204 *  32ビット単位の読出し/書込み
    209205 */
    210206
     
    224220}
    225221
    226 #ifdef SIL_ENDIAN_BIG                   /* ƒrƒbƒOƒGƒ“ƒfƒBƒAƒ“ƒvƒƒZƒbƒT */
     222#ifdef SIL_ENDIAN_BIG                   /* ビッグエンディアンプロセッサ */
    227223
    228224#define sil_rew_bem(mem)                sil_rew_mem(mem)
     
    250246
    251247#endif /* TOPPERS_OMIT_SIL_WRW_LEM */
    252 #else /* SIL_ENDIAN_BIG */              /* ƒŠƒgƒ‹ƒGƒ“ƒfƒBƒAƒ“ƒvƒƒZƒbƒT */
     248#else /* SIL_ENDIAN_BIG */              /* リトルエンディアンプロセッサ */
    253249
    254250#define sil_rew_lem(mem)                sil_rew_mem((mem))
  • uKadecot/trunk/ssp/include/t_stddef.h

    • Property svn:mime-type changed from text/plain to text/plain; charset=SHIFT_JIS
    r101 r107  
    1010 *              Nagoya Municipal Industrial Research Institute, JAPAN
    1111 *
    12  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    13  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    14  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    15  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    16  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    17  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    18  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    19  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    20 ƒƒ“ƒgi—˜—p
    21  *      ŽÒƒ}ƒjƒ
    22 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    23  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    24  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    25  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    26  *      ‚ƁD
    27  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    28 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    29 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    30  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    31  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    32  *        •ñ‚·‚邱‚ƁD
    33  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    34  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    35  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    36  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    37  *      –Ɛӂ·‚邱‚ƁD
    38  *
    39  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    40  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    41  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    42  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    43  *  ‚̐ӔC‚𕉂í‚È‚¢D
     12 *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
     13 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     14 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     15 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     16 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     17 *      スコード中に含まれていること.
     18 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     19 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     20 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     21 *      の無保証規定を掲載すること.
     22 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     23 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     24 *      と.
     25 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     26 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     27 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     28 *        報告すること.
     29 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     30 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     31 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     32 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     33 *      免責すること.
     34 *
     35 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     36 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     37 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     38 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     39 *  の責任を負わない.
    4440 *
    4541 *  @(#) $Id$
     
    4743
    4844/*
    49  *              TOPPERS‹¤’ʃwƒbƒ_ƒtƒ@ƒCƒ‹
    50  *
    51  *  TOPPERSŠÖ˜A‚Ì‚·‚ׂẴ\[ƒXƒtƒ@ƒCƒ‹‚ŃCƒ“ƒNƒ‹[ƒh‚·‚ׂ«ƒwƒbƒ_ƒtƒ@ƒC
    52  *  ƒ‹DŠeŽí‚̃J[ƒlƒ‹‚âƒ\ƒtƒgƒEƒFƒA•”•i‚Å‹¤’Ê‚É—p‚¢‚邱‚Æ‚ð‘z’肵‚Ä‚¢
    53  *  ‚éDTOPPERS‚ÌŠeŽí‚̃J[ƒlƒ‹‚âƒ\ƒtƒgƒEƒFƒA•”•i‚Å‹¤’Ê‚É—p‚¢‚éƒf[ƒ^Œ^C
    54  *  ’萔Cƒ}ƒNƒ‚Ì’è‹`‚È‚Ç‚ðŠÜ‚ށD
    55  *
    56  *  ƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚炱‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚鎞
    57  *  ‚́CTOPPERS_MACRO_ONLY‚ð’è‹`‚µ‚Ä‚¨‚­D‚±‚ê‚É‚æ‚èCƒ}ƒNƒ’è‹`ˆÈŠO‚ð
    58  *  œ‚­‚悤‚É‚È‚Á‚Ä‚¢‚éD
    59  *
    60  *  ‚±‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɃCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¨‚­‚ׂ«ƒtƒ@ƒCƒ‹
    61  *  ‚Í‚È‚¢D
     45 *              TOPPERS共通ヘッダファイル
     46 *
     47 *  TOPPERS関連のすべてのソースファイルでインクルードすべきヘッダファイ
     48 *  ル.各種のカーネルやソフトウェア部品で共通に用いることを想定してい
     49 *  る.TOPPERSの各種のカーネルやソフトウェア部品で共通に用いるデータ型,
     50 *  定数,マクロの定義などを含む.
     51 *
     52 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     53 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     54 *  除くようになっている.
     55 *
     56 *  このファイルをインクルードする前にインクルードしておくべきファイル
     57 *  はない.
    6258 */
    6359
     
    7066
    7167/*
    72  *  ƒ^[ƒQƒbƒgˆË‘¶•”
     68 *  ターゲット依存部
    7369 */
    7470#include "target_stddef.h"
    7571
    7672/*
    77  *  CŒ¾Œê/EC++‚Åthrow()‚ɑΏˆ‚·‚邽‚ß‚Ì’è‹`
     73 *  C言語/EC++でthrow()に対処するための定義
    7874 */
    7975#if !defined(__cplusplus) || defined(__embedded_cplusplus)
     
    8480
    8581/*
    86  *  ƒ^[ƒQƒbƒgˆË‘¶‚̃f[ƒ^Œ^‚̃}ƒNƒ‚̃fƒtƒHƒ‹ƒg’è‹`
     82 *  ターゲット依存のデータ型のマクロのデフォルト定義
    8783 */
    8884#ifndef TOPPERS_bool
    89 #define TOPPERS_bool    int                             /* ƒu[ƒ‹Œ^ */
     85#define TOPPERS_bool    int                             /* ブール型 */
    9086#endif /* TOPPERS_bool */
    9187
    9288#ifndef TOPPERS_size
    93 #define TOPPERS_size    uintptr_t               /* ƒTƒCƒYŒ^ */
     89#define TOPPERS_size    uintptr_t               /* サイズ型 */
    9490#endif /* TOPPERS_size */
    9591
     
    9793struct TOPPERS_dummy_t { int TOPPERS_dummy_field; };
    9894typedef void                    (*TOPPERS_fp_t)(struct TOPPERS_dummy_t);
    99 #define TOPPERS_fp              TOPPERS_fp_t    /* ƒvƒƒOƒ‰ƒ€‚Ì‹N“®”Ô’n */
     95#define TOPPERS_fp              TOPPERS_fp_t    /* プログラムの起動番地 */
    10096#endif /* TOPPERS_fp */
    10197
    10298/*
    103  *  ‹¤’ʃf[ƒ^Œ^
    104  */
    105 typedef TOPPERS_bool    bool_t;         /* ^‹U’l */
    106 
    107 typedef signed int              int_t;          /* Ž©‘R‚ȃTƒCƒY‚Ì•„†•t‚«®” */
    108 typedef unsigned int    uint_t;         /* Ž©‘R‚ȃTƒCƒY‚Ì•„†–³‚µ®” */
    109 
    110 typedef signed long             long_t;         /* ’·‚߂̃TƒCƒY‚Ì•„†•t‚«®” */
    111 typedef unsigned long   ulong_t;        /* ’·‚߂̃TƒCƒY‚Ì•„†–³‚µ®” */
    112 
    113 typedef int_t                   FN;                     /* ‹@”\ƒR[ƒh */
    114 typedef int_t                   ER;                     /* ƒGƒ‰[ƒR[ƒh */
    115 typedef int_t                   ID;                     /* ƒIƒuƒWƒFƒNƒg‚ÌID”ԍ† */
    116 typedef uint_t                  ATR;            /* ƒIƒuƒWƒFƒNƒg‚Ì‘®« */
    117 typedef uint_t                  STAT;           /* ƒIƒuƒWƒFƒNƒg‚̏ó‘Ô */
    118 typedef uint_t                  MODE;           /* ƒT[ƒrƒXƒR[ƒ‹‚Ì“®ìƒ‚[ƒh */
    119 typedef int_t                   PRI;            /* —Dæ“x */
    120 typedef TOPPERS_size    SIZE;           /* ƒƒ‚ƒŠ—̈æ‚̃TƒCƒY */
    121 
    122 typedef int_t                   TMO;            /* ƒ^ƒCƒ€ƒAƒEƒgŽw’è */
    123 typedef uint_t                  RELTIM;         /* ‘Š‘ÎŽžŠÔ */
    124 typedef ulong_t                 SYSTIM;         /* ƒVƒXƒeƒ€Žž */
    125 typedef ulong_t                 SYSUTM;         /* «”\•]‰¿—pƒVƒXƒeƒ€Žž */
    126 
    127 typedef TOPPERS_fp              FP;                     /* ƒvƒƒOƒ‰ƒ€‚Ì‹N“®”Ô’n */
    128 
    129 typedef int_t                   ER_BOOL;        /* ƒGƒ‰[ƒR[ƒh‚Ü‚½‚͐^‹U’l */
    130 typedef int_t                   ER_ID;          /* ƒGƒ‰[ƒR[ƒh‚Ü‚½‚ÍID”ԍ† */
    131 typedef int_t                   ER_UINT;        /* ƒGƒ‰[ƒR[ƒh‚Ü‚½‚Í•„†–³‚µ®” */
    132 
    133 typedef uint32_t                ACPTN;          /* ƒAƒNƒZƒX‹–‰Âƒpƒ^[ƒ“ */
    134 typedef struct acvct {                          /* ƒAƒNƒZƒX‹–‰ÂƒxƒNƒ^ */
    135         ACPTN           acptn1;                         /* ’ʏ푀ì1‚̃AƒNƒZƒX‹–‰Âƒpƒ^[ƒ“ */
    136         ACPTN           acptn2;                         /* ’ʏ푀ì2‚̃AƒNƒZƒX‹–‰Âƒpƒ^[ƒ“ */
    137         ACPTN           acptn3;                         /* ŠÇ—‘€ì‚̃AƒNƒZƒX‹–‰Âƒpƒ^[ƒ“ */
    138         ACPTN           acptn4;                         /* ŽQÆ‘€ì‚̃AƒNƒZƒX‹–‰Âƒpƒ^[ƒ“ */
     99 *  共通データ型
     100 */
     101typedef TOPPERS_bool    bool_t;         /* 真偽値 */
     102
     103typedef signed int              int_t;          /* 自然なサイズの符号付き整数 */
     104typedef unsigned int    uint_t;         /* 自然なサイズの符号無し整数 */
     105
     106typedef signed long             long_t;         /* 長めのサイズの符号付き整数 */
     107typedef unsigned long   ulong_t;        /* 長めのサイズの符号無し整数 */
     108
     109typedef int_t                   FN;                     /* 機能コード */
     110typedef int_t                   ER;                     /* エラーコード */
     111typedef int_t                   ID;                     /* オブジェクトのID番号 */
     112typedef uint_t                  ATR;            /* オブジェクトの属性 */
     113typedef uint_t                  STAT;           /* オブジェクトの状態 */
     114typedef uint_t                  MODE;           /* サービスコールの動作モード */
     115typedef int_t                   PRI;            /* 優先度 */
     116typedef TOPPERS_size    SIZE;           /* メモリ領域のサイズ */
     117
     118typedef int_t                   TMO;            /* タイムアウト指定 */
     119typedef uint_t                  RELTIM;         /* 相対時間 */
     120typedef ulong_t                 SYSTIM;         /* システム時刻 */
     121typedef ulong_t                 SYSUTM;         /* 性能評価用システム時刻 */
     122
     123typedef TOPPERS_fp              FP;                     /* プログラムの起動番地 */
     124
     125typedef int_t                   ER_BOOL;        /* エラーコードまたは真偽値 */
     126typedef int_t                   ER_ID;          /* エラーコードまたはID番号 */
     127typedef int_t                   ER_UINT;        /* エラーコードまたは符号無し整数 */
     128
     129typedef uint32_t                ACPTN;          /* アクセス許可パターン */
     130typedef struct acvct {                          /* アクセス許可ベクタ */
     131        ACPTN           acptn1;                         /* 通常操作1のアクセス許可パターン */
     132        ACPTN           acptn2;                         /* 通常操作2のアクセス許可パターン */
     133        ACPTN           acptn3;                         /* 管理操作のアクセス許可パターン */
     134        ACPTN           acptn4;                         /* 参照操作のアクセス許可パターン */
    139135} ACVCT;
    140136
     
    142138
    143139/*
    144  *  ®”’萔‚ðì‚éƒ}ƒNƒ
     140 *  整数定数を作るマクロ
    145141 */
    146142#ifndef UINT_C
    147 #define UINT_C(val)             (val ## U)              /* uint_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒ */
     143#define UINT_C(val)             (val ## U)              /* uint_t型の定数を作るマクロ */
    148144#endif /* UINT_C */
    149145
    150146#ifndef ULONG_C
    151 #define ULONG_C(val)    (val ## UL)             /* ulong_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒ */
     147#define ULONG_C(val)    (val ## UL)             /* ulong_t型の定数を作るマクロ */
    152148#endif /* ULONG_C */
    153149
    154150/*
    155  *  ˆê”ʒ萔
     151 *  一般定数
    156152 */
    157153#ifndef NULL
    158 #define NULL            0                       /* –³Œøƒ|ƒCƒ“ƒ^ */
     154#define NULL            0                       /* 無効ポインタ */
    159155#endif /* NULL */
    160156
    161157#ifndef true
    162 #define true            1                       /* ^ */
     158#define true            1                       /* */
    163159#endif /* true */
    164160
    165161#ifndef false
    166 #define false           0                       /* ‹U */
     162#define false           0                       /* */
    167163#endif /* false */
    168164
    169 #define E_OK            0                       /* ³íI—¹ */
    170 
    171 /*
    172  *  ƒƒCƒ“ƒGƒ‰[ƒR[ƒh
    173  */
    174 #define E_SYS           (-5)            /* ƒVƒXƒeƒ€ƒGƒ‰[ */
    175 #define E_NOSPT         (-9)            /* –¢ƒTƒ|[ƒg‹@”\ */
    176 #define E_RSFN          (-10)           /* —\–ñ‹@”\ƒR[ƒh */
    177 #define E_RSATR         (-11)           /* —\–ñ‘®« */
    178 #define E_PAR           (-17)           /* ƒpƒ‰ƒ[ƒ^ƒGƒ‰[ */
    179 #define E_ID            (-18)           /* •s³ID”ԍ† */
    180 #define E_CTX           (-25)           /* ƒRƒ“ƒeƒLƒXƒgƒGƒ‰[ */
    181 #define E_MACV          (-26)           /* ƒƒ‚ƒŠƒAƒNƒZƒXˆá”½ */
    182 #define E_OACV          (-27)           /* ƒIƒuƒWƒFƒNƒgƒAƒNƒZƒXˆá”½ */
    183 #define E_ILUSE         (-28)           /* ƒT[ƒrƒXƒR[ƒ‹•s³Žg—p */
    184 #define E_NOMEM         (-33)           /* ƒƒ‚ƒŠ•s‘« */
    185 #define E_NOID          (-34)           /* ID”ԍ†•s‘« */
    186 #define E_NORES         (-35)           /* Ž‘Œ¹•s‘« */
    187 #define E_OBJ           (-41)           /* ƒIƒuƒWƒFƒNƒgó‘ÔƒGƒ‰[ */
    188 #define E_NOEXS         (-42)           /* ƒIƒuƒWƒFƒNƒg–¢¶¬ */
    189 #define E_QOVR          (-43)           /* ƒLƒ
    190 [ƒCƒ“ƒOƒI[ƒo[ƒtƒ[ */
    191 #define E_RLWAI         (-49)           /* ‘Ò‚¿ó‘Ô‚Ì‹­§‰ðœ */
    192 #define E_TMOUT         (-50)           /* ƒ|[ƒŠƒ“ƒOŽ¸”s‚Ü‚½‚̓^ƒCƒ€ƒAƒEƒg */
    193 #define E_DLT           (-51)           /* ‘Ò‚¿ƒIƒuƒWƒFƒNƒg‚̍폜 */
    194 #define E_CLS           (-52)           /* ‘Ò‚¿ƒIƒuƒWƒFƒNƒg‚̏ó‘ԕω» */
    195 #define E_WBLK          (-57)           /* ƒmƒ“ƒuƒƒbƒLƒ“ƒOŽó•t‚¯ */
    196 #define E_BOVR          (-58)           /* ƒoƒbƒtƒ@ƒI[ƒo[ƒtƒ[ */
    197 
    198 /*
    199  *  ƒIƒuƒWƒFƒNƒg‘®«
    200  */
    201 #define TA_NULL         UINT_C(0)       /* ƒIƒuƒWƒFƒNƒg‘®«‚ðŽw’肵‚È‚¢ */
    202 
    203 /*
    204  *  ƒ^ƒCƒ€ƒAƒEƒgŽw’è
    205  */
    206 #define TMO_POL         0                       /* ƒ|[ƒŠƒ“ƒO */
    207 #define TMO_FEVR        (-1)            /* ‰i‹v‘Ò‚¿ */
    208 #define TMO_NBLK        (-2)            /* ƒmƒ“ƒuƒƒbƒLƒ“ƒO */
    209 
    210 /*
    211  *  ƒAƒNƒZƒX‹–‰Âƒpƒ^[ƒ“
    212  */
    213 #define TACP_KERNEL             (0U)    /* ƒJ[ƒlƒ‹ƒhƒƒCƒ“‚¾‚¯‚ɃAƒNƒZƒX‚ð‹–‰Â */
    214 #define TACP_SHARED             (~0U)   /* ‚·‚ׂẴhƒƒCƒ“‚©‚çƒAƒNƒZƒX‚ð‹–‰Â */
    215 
    216 /*
    217  *  Œ^‚ÉŠÖ‚·‚éî•ñ‚ðŽæ‚èo‚·‚½‚߂̃}ƒNƒ
     165#define E_OK            0                       /* 正常終了 */
     166
     167/*
     168 *  メインエラーコード
     169 */
     170#define E_SYS           (-5)            /* システムエラー */
     171#define E_NOSPT         (-9)            /* 未サポート機能 */
     172#define E_RSFN          (-10)           /* 予約機能コード */
     173#define E_RSATR         (-11)           /* 予約属性 */
     174#define E_PAR           (-17)           /* パラメータエラー */
     175#define E_ID            (-18)           /* 不正ID番号 */
     176#define E_CTX           (-25)           /* コンテキストエラー */
     177#define E_MACV          (-26)           /* メモリアクセス違反 */
     178#define E_OACV          (-27)           /* オブジェクトアクセス違反 */
     179#define E_ILUSE         (-28)           /* サービスコール不正使用 */
     180#define E_NOMEM         (-33)           /* メモリ不足 */
     181#define E_NOID          (-34)           /* ID番号不足 */
     182#define E_NORES         (-35)           /* 資源不足 */
     183#define E_OBJ           (-41)           /* オブジェクト状態エラー */
     184#define E_NOEXS         (-42)           /* オブジェクト未生成 */
     185#define E_QOVR          (-43)           /* キューイングオーバーフロー */
     186#define E_RLWAI         (-49)           /* 待ち状態の強制解除 */
     187#define E_TMOUT         (-50)           /* ポーリング失敗またはタイムアウト */
     188#define E_DLT           (-51)           /* 待ちオブジェクトの削除 */
     189#define E_CLS           (-52)           /* 待ちオブジェクトの状態変化 */
     190#define E_WBLK          (-57)           /* ノンブロッキング受付け */
     191#define E_BOVR          (-58)           /* バッファオーバーフロー */
     192
     193/*
     194 *  オブジェクト属性
     195 */
     196#define TA_NULL         UINT_C(0)       /* オブジェクト属性を指定しない */
     197
     198/*
     199 *  タイムアウト指定
     200 */
     201#define TMO_POL         0                       /* ポーリング */
     202#define TMO_FEVR        (-1)            /* 永久待ち */
     203#define TMO_NBLK        (-2)            /* ノンブロッキング */
     204
     205/*
     206 *  アクセス許可パターン
     207 */
     208#define TACP_KERNEL             (0U)    /* カーネルドメインだけにアクセスを許可 */
     209#define TACP_SHARED             (~0U)   /* すべてのドメインからアクセスを許可 */
     210
     211/*
     212 *  型に関する情報を取り出すためのマクロ
    218213 */
    219214#ifndef offsetof
     
    225220#endif /* alignof */
    226221
    227 #ifndef ALIGN_TYPE                              /* ƒAƒ‰ƒCƒ“ƒƒ“ƒg‚̃`ƒFƒbƒN */
     222#ifndef ALIGN_TYPE                              /* アラインメントのチェック */
    228223#define ALIGN_TYPE(addr, type) \
    229224                                                ((((uintptr_t)(addr)) & (alignof(type) - 1)) == 0U)
     
    231226
    232227/*
    233  *  assertƒ}ƒNƒ
     228 *  assertマクロ
    234229 */
    235230#undef assert
     
    246241
    247242/*
    248  *  ƒGƒ‰[ƒR[ƒh¶¬E•ª‰ðƒ}ƒNƒ
    249  *
    250  *  ˆÈ‰º‚̃}ƒNƒ’è‹`‚́C•„†•t‚«®”‚ª2‚̕␔‚Å•\Œ»‚³‚ê‚Ä‚¨‚èC‰EƒVƒtƒg
    251  *  ‰‰ŽZŽqi>>j‚ªŽZpƒVƒtƒg‚³‚ê‚邱‚Æ‚ð‰¼’è‚µ‚Ä‚¢‚éD‚»‚¤‚Å‚È‚¢ŠJ”­ŠÂ
    252  *  ‹«‚ł́Ctarget_stddef.h‚Å‚±‚ê‚ç‚Ì’è‹`‚ðã‘‚«‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
    253  *
    254  *  MERCDƒ}ƒNƒ‚Ì’è‹`‚́CƒƒCƒ“ƒGƒ‰[ƒR[ƒh‚ª•‰‚Å‚ ‚邱‚Æ‚ð‰¼’è‚µ‚Ä‚¢‚éD
    255  *  ‚»‚¤‚Å‚È‚¢ê‡C2‚‚̒è‹`‚ªˆê’v‚µ‚È‚­‚È‚éD
     243 *  エラーコード生成・分解マクロ
     244 *
     245 *  以下のマクロ定義は,符号付き整数が2の補数で表現されており,右シフト
     246 *  演算子(>>)が算術シフトされることを仮定している.そうでない開発環
     247 *  境では,target_stddef.hでこれらの定義を上書きしなければならない.
     248 *
     249 *  MERCDマクロの定義は,メインエラーコードが負であることを仮定している.
     250 *  そうでない場合,2つの定義が一致しなくなる.
    256251 */
    257252#ifndef ERCD
     
    273268
    274269/*
    275  *  ‘Š‘ÎŽžŠÔiRELTIMj‚ÉŽw’è‚Å‚«‚éÅ‘å’l
     270 *  相対時間(RELTIM)に指定できる最大値
    276271 */
    277272#if UINT_MAX < LONG_MAX
  • uKadecot/trunk/ssp/include/t_syslog.h

    • Property svn:mime-type changed from text/plain to text/plain; charset=SHIFT_JIS
    r101 r107  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    11  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    12  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    13  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    14  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    15  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    16  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    17  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    18  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    19 ƒƒ“ƒgi—˜—p
    20  *      ŽÒƒ}ƒjƒ
    21 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    22  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    23  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    24  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    25  *      ‚ƁD
    26  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    27 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    28 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    29  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    30  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    31  *        •ñ‚·‚邱‚ƁD
    32  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    33  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    34  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    35  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    36  *      –Ɛӂ·‚邱‚ƁD
     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 *      免責すること.
    3733 *
    38  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    39  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    40  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    41  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    42  *  ‚̐ӔC‚𕉂í‚È‚¢D
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    4339 *
    4440 *  @(#) $Id$
     
    4642
    4743/*
    48  *              ƒVƒXƒeƒ€ƒƒOo—Í‚ðs‚¤‚½‚ß‚Ì’è‹`
    49  *
    50  *  ƒVƒXƒeƒ€ƒƒOƒT[ƒrƒX‚́CƒVƒXƒeƒ€‚̃ƒOî•ñ‚ðo—Í‚·‚邽‚߂̃T[ƒrƒX
    51  *  ‚Å‚ ‚éDƒJ[ƒlƒ‹‚©‚ç‚̃ƒOî•ñ‚̏o—Í‚É‚à—p‚¢‚邽‚߁C“à•”‚Å‘Ò‚¿ó‘Ô
    52  *  ‚É‚Í‚¢‚邱‚Æ‚Í‚È‚¢D
    53  *
    54  *  ƒƒOî•ñ‚́CƒJ[ƒlƒ‹“à‚̃ƒOƒoƒbƒtƒ@‚ɏ‘‚«ž‚Þ‚©C’჌ƒxƒ‹‚Ì•¶Žšo
    55  *  —͊֐”‚ð—p‚¢‚ďo—Í‚·‚éD‚Ç‚¿‚ç‚ðŽg‚¤‚©‚́CŠg’£ƒT[ƒrƒXƒR[ƒ‹‚Ő؂è
    56  *  Š·‚¦‚邱‚Æ‚ª‚Å‚«‚éD
    57  *
    58  *  ƒƒOƒoƒbƒtƒ@—̈悪ƒI[ƒoƒtƒ[‚µ‚½ê‡‚ɂ́CŒÃ‚¢ƒƒOî•ñ‚ðÁ‚µ‚ďã
    59  *  ‘‚«‚·‚éD
    60  *
    61  *  ƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚炱‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚鎞
    62  *  ‚́CTOPPERS_MACRO_ONLY‚ð’è‹`‚µ‚Ä‚¨‚­‚±‚ƂŁCƒ}ƒNƒ’è‹`ˆÈŠO‚Ì‹Lq‚ð
    63  *  œ‚­‚±‚Æ‚ª‚Å‚«‚éD
    64  *
    65  *  ‚±‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɁCt_stddef.h‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¨
    66  *  ‚­‚±‚Æ‚ª•K—v‚Å‚ ‚éD
     44 *              システムログ出力を行うための定義
     45 *
     46 *  システムログサービスは,システムのログ情報を出力するためのサービス
     47 *  である.カーネルからのログ情報の出力にも用いるため,内部で待ち状態
     48 *  にはいることはない.
     49 *
     50 *  ログ情報は,カーネル内のログバッファに書き込むか,低レベルの文字出
     51 *  力関数を用いて出力する.どちらを使うかは,拡張サービスコールで切り
     52 *  換えることができる.
     53 *
     54 *  ログバッファ領域がオーバフローした場合には,古いログ情報を消して上
     55 *  書きする.
     56 *
     57 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     58 *  は,TOPPERS_MACRO_ONLYを定義しておくことで,マクロ定義以外の記述を
     59 *  除くことができる.
     60 *
     61 *  このファイルをインクルードする前に,t_stddef.hをインクルードしてお
     62 *  くことが必要である.
    6763 */
    6864
     
    7571
    7672/*
    77  *  ƒƒOî•ñ‚ÌŽí•Ê‚Ì’è‹`
    78  */
    79 #define LOG_TYPE_COMMENT        UINT_C(0x01)    /* ƒRƒƒ“ƒg */
    80 #define LOG_TYPE_ASSERT         UINT_C(0x02)    /* ƒAƒT[ƒVƒ‡ƒ“‚ÌŽ¸”s */
    81 
    82 #define LOG_TYPE_INH            UINT_C(0x11)    /* Š„ž‚݃nƒ“ƒhƒ‰ */
    83 #define LOG_TYPE_ISR            UINT_C(0x12)    /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ */
    84 #define LOG_TYPE_CYC            UINT_C(0x13)    /* ŽüŠúƒnƒ“ƒhƒ‰ */
    85 #define LOG_TYPE_ALM            UINT_C(0x14)    /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰ */
    86 #define LOG_TYPE_OVR            UINT_C(0x15)    /* ƒI[ƒoƒ‰ƒ“ƒnƒ“ƒhƒ‰ */
    87 #define LOG_TYPE_EXC            UINT_C(0x16)    /* CPU—áŠOƒnƒ“ƒhƒ‰ */
    88 #define LOG_TYPE_TEX            UINT_C(0x17)    /* ƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ“ */
    89 #define LOG_TYPE_TSKSTAT        UINT_C(0x18)    /* ƒ^ƒXƒNó‘ԕω» */
    90 #define LOG_TYPE_DSP            UINT_C(0x19)    /* ƒfƒBƒXƒpƒbƒ`ƒƒ */
    91 #define LOG_TYPE_SVC            UINT_C(0x1a)    /* ƒT[ƒrƒXƒR[ƒ‹ */
    92 
    93 #define LOG_ENTER                       UINT_C(0x00)    /* “üŒû^ŠJŽn */
    94 #define LOG_LEAVE                       UINT_C(0x80)    /* oŒû^I—¹ */
    95 
    96 /*
    97  *  ƒƒOî•ñ‚̏d—v“x‚Ì’è‹`
    98  */
    99 #define LOG_EMERG                       UINT_C(0)               /* ƒVƒƒƒbƒgƒ_ƒEƒ“‚É’l‚·‚éƒGƒ‰[ */
     73 *  ログ情報の種別の定義
     74 */
     75#define LOG_TYPE_COMMENT        UINT_C(0x01)    /* コメント */
     76#define LOG_TYPE_ASSERT         UINT_C(0x02)    /* アサーションの失敗 */
     77
     78#define LOG_TYPE_INH            UINT_C(0x11)    /* 割込みハンドラ */
     79#define LOG_TYPE_ISR            UINT_C(0x12)    /* 割込みサービスルーチン */
     80#define LOG_TYPE_CYC            UINT_C(0x13)    /* 周期ハンドラ */
     81#define LOG_TYPE_ALM            UINT_C(0x14)    /* アラームハンドラ */
     82#define LOG_TYPE_OVR            UINT_C(0x15)    /* オーバランハンドラ */
     83#define LOG_TYPE_EXC            UINT_C(0x16)    /* CPU例外ハンドラ */
     84#define LOG_TYPE_TEX            UINT_C(0x17)    /* タスク例外処理ルーチン */
     85#define LOG_TYPE_TSKSTAT        UINT_C(0x18)    /* タスク状態変化 */
     86#define LOG_TYPE_DSP            UINT_C(0x19)    /* ディスパッチャ */
     87#define LOG_TYPE_SVC            UINT_C(0x1a)    /* サービスコール */
     88
     89#define LOG_ENTER                       UINT_C(0x00)    /* 入口/開始 */
     90#define LOG_LEAVE                       UINT_C(0x80)    /* 出口/終了 */
     91
     92/*
     93 *  ログ情報の重要度の定義
     94 */
     95#define LOG_EMERG                       UINT_C(0)               /* シャットダウンに値するエラー */
    10096#define LOG_ALERT                       UINT_C(1)
    10197#define LOG_CRIT                        UINT_C(2)
    102 #define LOG_ERROR                       UINT_C(3)               /* ƒVƒXƒeƒ€ƒGƒ‰[ */
    103 #define LOG_WARNING                     UINT_C(4)               /* ŒxƒƒbƒZ[ƒW */
     98#define LOG_ERROR                       UINT_C(3)               /* システムエラー */
     99#define LOG_WARNING                     UINT_C(4)               /* 警告メッセージ */
    104100#define LOG_NOTICE                      UINT_C(5)
    105101#define LOG_INFO                        UINT_C(6)
    106 #define LOG_DEBUG                       UINT_C(7)               /* ƒfƒoƒbƒO—pƒƒbƒZ[ƒW */
     102#define LOG_DEBUG                       UINT_C(7)               /* デバッグ用メッセージ */
    107103
    108104#ifndef TOPPERS_MACRO_ONLY
    109105
    110106/*
    111  *  ƒƒOî•ñ‚̃f[ƒ^\‘¢
     107 *  ログ情報のデータ構造
    112108 */
    113109
     
    115111
    116112typedef struct {
    117         uint_t          logtype;                                /* ƒƒOî•ñ‚ÌŽí•Ê */
    118         SYSTIM          logtim;                                 /* ƒƒOŽž */
    119         intptr_t        loginfo[TMAX_LOGINFO];  /* ‚»‚Ì‘¼‚̃ƒOî•ñ */
     113        uint_t          logtype;                                /* ログ情報の種別 */
     114        SYSTIM          logtim;                                 /* ログ時刻 */
     115        intptr_t        loginfo[TMAX_LOGINFO];  /* その他のログ情報 */
    120116} SYSLOG;
    121117
    122118/*
    123  *  ƒƒOî•ñ‚̏d—v“x‚̃rƒbƒgƒ}ƒbƒv‚ðì‚邽‚߂̃}ƒNƒ
     119 *  ログ情報の重要度のビットマップを作るためのマクロ
    124120 */
    125121#define LOG_MASK(prio)          (1U << (prio))
     
    127123
    128124/*
    129  *  ƒƒOî•ñ‚ðo—Í‚·‚邽‚߂̃‰ƒCƒuƒ‰ƒŠŠÖ”
     125 *  ログ情報を出力するためのライブラリ関数
    130126 */
    131127
     
    223219
    224220/*
    225  *  ƒƒOî•ñiƒRƒƒ“ƒgj‚ðo—Í‚·‚邽‚߂̃‰ƒCƒuƒ‰ƒŠŠÖ”ivasyslog.cj
     221 *  ログ情報(コメント)を出力するためのライブラリ関数(vasyslog.c)
    226222 */
    227223extern void     syslog(uint_t prio, const char *format, ...) throw();
     
    230226
    231227/*
    232  *  ƒVƒXƒeƒ€ƒƒOo—Í‚ð—}Ž~‚·‚éê‡
     228 *  システムログ出力を抑止する場合
    233229 */
    234230
     
    280276
    281277/*
    282  *  ƒƒOî•ñiƒRƒƒ“ƒgj‚ðo—Í‚·‚邽‚߂̃}ƒNƒ
    283  *
    284  *  format‚¨‚æ‚ь㑱‚̈ø”‚©‚çì¬‚µ‚½ƒƒbƒZ[ƒW‚ðCd‘å“xprio‚эƒOî
    285  *  •ñ‚Æ‚µ‚ďo—Í‚·‚邽‚߂̃}ƒNƒDarg1`argn‚Íintptr_tŒ^‚ɃLƒƒƒXƒg‚·‚é
    286  *  ‚½‚߁Cintptr_tŒ^‚ÉŒ^•ÏŠ·‚Å‚«‚é”CˆÓ‚ÌŒ^‚Å‚æ‚¢D
     278 *  ログ情報(コメント)を出力するためのマクロ
     279 *
     280 *  formatおよび後続の引数から作成したメッセージを,重大度prioでログ情
     281 *  報として出力するためのマクロ.arg1〜argnはintptr_t型にキャストする
     282 *  ため,intptr_t型に型変換できる任意の型でよい.
    287283 */
    288284
     
    313309
    314310/*
    315  *  ƒƒOî•ñiƒAƒT[ƒVƒ‡ƒ“‚ÌŽ¸”sj‚ðo—Í‚·‚邽‚߂̃}ƒNƒ
     311 *  ログ情報(アサーションの失敗)を出力するためのマクロ
    316312 */
    317313#ifndef TOPPERS_assert_fail
Note: See TracChangeset for help on using the changeset viewer.