Ignore:
Timestamp:
Mar 8, 2016, 8:37:45 PM (8 years ago)
Author:
coas-nagasima
Message:

MIMEにSJISを設定

Location:
UsbWattMeter/trunk/asp_dcre/include
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • UsbWattMeter/trunk/asp_dcre/include/histogram.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    66 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    77 *
    8  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    9  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    10  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    11  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    12  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    13  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    14  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    15  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    16 ƒƒ“ƒgi—˜—p
    17  *      ŽÒƒ}ƒjƒ
    18 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    19  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    20  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    21  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    22  *      ‚ƁD
    23  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    24 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    25 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    26  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    27  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    28  *        •ñ‚·‚邱‚ƁD
    29  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    30  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    31  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    32  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    33  *      –Ɛӂ·‚邱‚ƁD
     8 *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
     9 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     10 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     11 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     12 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     13 *      スコード中に含まれていること.
     14 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     15 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     16 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     17 *      の無保証規定を掲載すること.
     18 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     19 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     20 *      と.
     21 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     22 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     23 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     24 *        報告すること.
     25 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     26 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     27 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     28 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     29 *      免責すること.
    3430 *
    35  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    36  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    37  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    38  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    39  *  ‚̐ӔC‚𕉂í‚È‚¢D
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    4036 *
    4137 *  @(#) $Id$
     
    4339
    4440/*
    45  *              ŽÀsŽžŠÔ•ª•zWŒvƒ‚ƒWƒ
    46 [ƒ‹
     41 *              実行時間分布集計モジュール
    4742 */
    4843
     
    5550
    5651/*
    57  *  ŽÀsŽžŠÔ•ª•zŒv‘ª‚̏‰Šú‰»
     52 *  実行時間分布計測の初期化
    5853 */
    5954extern void     init_hist(ID histid, uint_t maxval, uint_t histarea[]);
    6055
    6156/*
    62  *  ŽÀsŽžŠÔŒv‘ª‚ÌŠJŽn
     57 *  実行時間計測の開始
    6358 */
    6459extern void     begin_measure(ID histid);
    6560
    6661/*
    67  *  ŽÀsŽžŠÔŒv‘ª‚̏I—¹
     62 *  実行時間計測の終了
    6863 */
    6964extern void     end_measure(ID histid);
    7065
    7166/*
    72  *  ŽÀsŽžŠÔ•ª•zŒv‘ª‚Ì•\Ž¦
     67 *  実行時間分布計測の表示
    7368 */
    7469extern void     print_hist(ID histid);
  • UsbWattMeter/trunk/asp_dcre/include/itron.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    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‚Â‚Ì‚Ý */
     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つのみ */
    127122
    128123/*
    129  *  ƒlƒXƒg‰ñ”‚̍őå’l
     124 *  ネスト回数の最大値
    130125 */
    131 #define TMAX_SUSCNT             UINT_C(1)               /* ‹­§‘Ò‚¿—v‹ƒlƒXƒg”‚̍őå’l */
     126#define TMAX_SUSCNT             UINT_C(1)               /* 強制待ち要求ネスト数の最大値 */
    132127
    133128/*
    134  *  ‹­§‘Ò‚¿ó‘Ô‚©‚ç‚Ì‹­§ÄŠJ
     129 *  強制待ち状態からの強制再開
    135130 */
    136131#define frsm_tsk(tskid)         rsm_tsk(tskid)
  • UsbWattMeter/trunk/asp_dcre/include/kernel.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    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  *              TOPPERS/ASPƒJ[ƒlƒ‹ •W€ƒwƒbƒ_ƒtƒ@ƒCƒ‹
     44 *              TOPPERS/ASPカーネル 標準ヘッダファイル
    4945 *
    50  *  TOPPERS/ASPƒJ[ƒlƒ‹‚ªƒTƒ|[ƒg‚·‚éƒT[ƒrƒXƒR[ƒ‹‚̐錾‚ƁC•K—v‚ȃf[
    51  *  ƒ^Œ^C’萔Cƒ}ƒNƒ‚Ì’è‹`‚ðŠÜ‚Þƒwƒbƒ_ƒtƒ@ƒCƒ‹D
     46 *  TOPPERS/ASPカーネルがサポートするサービスコールの宣言と,必要なデー
     47 *  タ型,定数,マクロの定義を含むヘッダファイル.
    5248 *
    53  *  ƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚炱‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚鎞
    54  *  ‚́CTOPPERS_MACRO_ONLY‚ð’è‹`‚µ‚Ä‚¨‚­D‚±‚ê‚É‚æ‚èCƒ}ƒNƒ’è‹`ˆÈŠO‚ð
    55  *  œ‚­‚悤‚É‚È‚Á‚Ä‚¢‚éD
     49 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     50 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     51 *  除くようになっている.
    5652 *
    57  *  ‚±‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɃCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¨‚­‚ׂ«ƒtƒ@ƒCƒ‹
    58  *  ‚Í‚È‚¢D
     53 *  このファイルをインクルードする前にインクルードしておくべきファイル
     54 *  はない.
    5955 */
    6056
     
    6763
    6864/*
    69  *      TOPPERS‹¤’ʂ̃f[ƒ^Œ^E’萔Eƒ}ƒNƒ
     65 *      TOPPERS共通のデータ型・定数・マクロ
    7066 */
    7167#include <t_stddef.h>
    7268
    7369/*
    74  *  ƒ^[ƒQƒbƒgˆË‘¶•”
     70 *  ターゲット依存部
    7571 */
    7672#include "target_kernel.h"
     
    7975
    8076/*
    81  *  ƒf[ƒ^Œ^‚Ì’è‹`
    82  */
    83 
    84 /*
    85  *  ƒrƒbƒgƒpƒ^[ƒ“‚âƒIƒuƒWƒFƒNƒg”ԍ†‚ÌŒ^’è‹`
    86  */
    87 typedef uint_t          TEXPTN;         /* ƒ^ƒXƒN—áŠO—vˆö‚̃rƒbƒgƒpƒ^[ƒ“ */
    88 typedef uint_t          FLGPTN;         /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚̃rƒbƒgƒpƒ^[ƒ“ */
    89 typedef uint_t          INTNO;          /* Š„ž‚ݔԍ† */
    90 typedef uint_t          INHNO;          /* Š„ž‚݃nƒ“ƒhƒ‰”ԍ† */
    91 typedef uint_t          EXCNO;          /* CPU—áŠOƒnƒ“ƒhƒ‰”ԍ† */
    92 
    93 /*
    94  *  ˆ—’PˆÊ‚ÌŒ^’è‹`
     77 *  データ型の定義
     78 */
     79
     80/*
     81 *  ビットパターンやオブジェクト番号の型定義
     82 */
     83typedef uint_t          TEXPTN;         /* タスク例外要因のビットパターン */
     84typedef uint_t          FLGPTN;         /* イベントフラグのビットパターン */
     85typedef uint_t          INTNO;          /* 割込み番号 */
     86typedef uint_t          INHNO;          /* 割込みハンドラ番号 */
     87typedef uint_t          EXCNO;          /* CPU例外ハンドラ番号 */
     88
     89/*
     90 *  処理単位の型定義
    9591 */
    9692typedef void    (*TASK)(intptr_t exinf);
     
    105101
    106102/*
    107  *  ƒƒ‚ƒŠ—̈æŠm•Û‚Ì‚½‚ß‚ÌŒ^’è‹`
     103 *  メモリ領域確保のための型定義
    108104 */
    109105#ifndef TOPPERS_STK_T
    110106#define TOPPERS_STK_T   intptr_t
    111107#endif /* TOPPERS_STK_T */
    112 typedef TOPPERS_STK_T   STK_T;  /* ƒXƒ^ƒbƒN—̈æ‚ðŠm•Û‚·‚邽‚ß‚ÌŒ^ */
     108typedef TOPPERS_STK_T   STK_T;  /* スタック領域を確保するための型 */
    113109
    114110#ifndef TOPPERS_MPF_T
    115111#define TOPPERS_MPF_T   intptr_t
    116112#endif /* TOPPERS_MPF_T */
    117 typedef TOPPERS_MPF_T   MPF_T;  /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹—̈æ‚ðŠm•Û‚·‚邽‚ß‚ÌŒ^ */
    118 
    119 /*
    120  *  ƒƒbƒZ[ƒWƒwƒbƒ_‚ÌŒ^’è‹`
    121  */
    122 typedef struct t_msg {                  /* ƒ[ƒ‹ƒ{ƒbƒNƒX‚̃ƒbƒZ[ƒWƒwƒbƒ_ */
     113typedef TOPPERS_MPF_T   MPF_T;  /* 固定長メモリプール領域を確保するための型 */
     114
     115/*
     116 *  メッセージヘッダの型定義
     117 */
     118typedef struct t_msg {                  /* メールボックスのメッセージヘッダ */
    123119        struct t_msg    *pk_next;
    124120} T_MSG;
    125121
    126 typedef struct t_msg_pri {              /* —Dæ“x•t‚«ƒƒbƒZ[ƒWƒwƒbƒ_ */
    127         T_MSG   msgque;                         /* ƒƒbƒZ[ƒWƒwƒbƒ_ */
    128         PRI             msgpri;                         /* ƒƒbƒZ[ƒW—Dæ“x */
     122typedef struct t_msg_pri {              /* 優先度付きメッセージヘッダ */
     123        T_MSG   msgque;                         /* メッセージヘッダ */
     124        PRI             msgpri;                         /* メッセージ優先度 */
    129125} T_MSG_PRI;
    130126
    131127/*
    132  *  ƒpƒPƒbƒgŒ`Ž®‚Ì’è‹`
     128 *  パケット形式の定義
    133129 */
    134130typedef struct t_ctsk {
    135         ATR                     tskatr;         /* ƒ^ƒXƒN‘®« */
    136         intptr_t        exinf;          /* ƒ^ƒXƒN‚ÌŠg’£î•ñ */
    137         TASK            task;           /* ƒ^ƒXƒN‚̃ƒCƒ“ƒ‹[ƒ`ƒ“‚̐擪”Ô’n */
    138         PRI                     itskpri;        /* ƒ^ƒXƒN‚Ì‹N“®Žž—Dæ“x */
    139         SIZE            stksz;          /* ƒ^ƒXƒN‚̃Xƒ^ƒbƒN—̈æ‚̃TƒCƒY */
    140         STK_T           *stk;           /* ƒ^ƒXƒN‚̃Xƒ^ƒbƒN—̈æ‚̐擪”Ô’n */
     131        ATR                     tskatr;         /* タスク属性 */
     132        intptr_t        exinf;          /* タスクの拡張情報 */
     133        TASK            task;           /* タスクのメインルーチンの先頭番地 */
     134        PRI                     itskpri;        /* タスクの起動時優先度 */
     135        SIZE            stksz;          /* タスクのスタック領域のサイズ */
     136        STK_T           *stk;           /* タスクのスタック領域の先頭番地 */
    141137} T_CTSK;
    142138
    143139typedef struct t_rtsk {
    144         STAT    tskstat;        /* ƒ^ƒXƒNó‘Ô */
    145         PRI             tskpri;         /* ƒ^ƒXƒN‚ÌŒ»Ý—Dæ“x */
    146         PRI             tskbpri;        /* ƒ^ƒXƒN‚̃x[ƒX—Dæ“x */
    147         STAT    tskwait;        /* ‘Ò‚¿—vˆö */
    148         ID              wobjid;         /* ‘Ò‚¿‘Ώۂ̃IƒuƒWƒFƒNƒg‚ÌID */
    149         TMO             lefttmo;        /* ƒ^ƒCƒ€ƒAƒEƒg‚·‚é‚Ü‚Å‚ÌŽžŠÔ */
    150         uint_t  actcnt;         /* ‹N“®—v‹ƒLƒ
    151 [ƒCƒ“ƒO” */
    152         uint_t  wupcnt;         /* ‹N°—v‹ƒLƒ
    153 [ƒCƒ“ƒO” */
     140        STAT    tskstat;        /* タスク状態 */
     141        PRI             tskpri;         /* タスクの現在優先度 */
     142        PRI             tskbpri;        /* タスクのベース優先度 */
     143        STAT    tskwait;        /* 待ち要因 */
     144        ID              wobjid;         /* 待ち対象のオブジェクトのID */
     145        TMO             lefttmo;        /* タイムアウトするまでの時間 */
     146        uint_t  actcnt;         /* 起動要求キューイング数 */
     147        uint_t  wupcnt;         /* 起床要求キューイング数 */
    154148} T_RTSK;
    155149
    156150typedef struct t_dtex {
    157         ATR             texatr;         /* ƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ“‘®« */
    158         TEXRTN  texrtn;         /* ƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ“‚̐擪”Ô’n */
     151        ATR             texatr;         /* タスク例外処理ルーチン属性 */
     152        TEXRTN  texrtn;         /* タスク例外処理ルーチンの先頭番地 */
    159153} T_DTEX;
    160154
    161155typedef struct t_rtex {
    162         STAT    texstat;        /* ƒ^ƒXƒN—áŠOˆ—‚̏ó‘Ô */
    163         TEXPTN  pndptn;         /* •Û—¯—áŠO—vˆö */
     156        STAT    texstat;        /* タスク例外処理の状態 */
     157        TEXPTN  pndptn;         /* 保留例外要因 */
    164158} T_RTEX;
    165159
    166160typedef struct t_csem {
    167         ATR             sematr;         /* ƒZƒ}ƒtƒH‘®« */
    168         uint_t  isemcnt;        /* ƒZƒ}ƒtƒH‚̏‰ŠúŽ‘Œ¹” */
    169         uint_t  maxsem;         /* ƒZƒ}ƒtƒH‚̍ő厑Œ¹” */
     161        ATR             sematr;         /* セマフォ属性 */
     162        uint_t  isemcnt;        /* セマフォの初期資源数 */
     163        uint_t  maxsem;         /* セマフォの最大資源数 */
    170164} T_CSEM;
    171165
    172166typedef struct t_rsem {
    173         ID              wtskid;         /* ƒZƒ}ƒtƒH‚Ì‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚ÌID”ԍ† */
    174         uint_t  semcnt;         /* ƒZƒ}ƒtƒH‚ÌŒ»Ý‚ÌŽ‘Œ¹” */
     167        ID              wtskid;         /* セマフォの待ち行列の先頭のタスクのID番号 */
     168        uint_t  semcnt;         /* セマフォの現在の資源数 */
    175169} T_RSEM;
    176170
    177171typedef struct t_cflg {
    178         ATR             flgatr;         /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‘®« */
    179         FLGPTN  iflgptn;        /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚̏‰Šúƒrƒbƒgƒpƒ^[ƒ“ */
     172        ATR             flgatr;         /* イベントフラグ属性 */
     173        FLGPTN  iflgptn;        /* イベントフラグの初期ビットパターン */
    180174} T_CFLG;
    181175
    182176typedef struct t_rflg {
    183         ID              wtskid;         /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚Ì‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚ÌID”ԍ† */
    184         FLGPTN  flgptn;         /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚ÌŒ»Ý‚̃rƒbƒgƒpƒ^[ƒ“ */
     177        ID              wtskid;         /* イベントフラグの待ち行列の先頭のタスクのID番号 */
     178        FLGPTN  flgptn;         /* イベントフラグの現在のビットパターン */
    185179} T_RFLG;
    186180
    187181typedef struct t_cdtq {
    188         ATR             dtqatr;         /* ƒf[ƒ^ƒLƒ
    189 [‘®« */
    190         uint_t  dtqcnt;         /* ƒf[ƒ^ƒLƒ
    191 [ŠÇ——̈æ‚ÉŠi”[‚Å‚«‚éƒf[ƒ^” */
    192         void    *dtqmb;         /* ƒf[ƒ^ƒLƒ
    193 [ŠÇ——̈æ‚̐擪”Ô’n */
     182        ATR             dtqatr;         /* データキュー属性 */
     183        uint_t  dtqcnt;         /* データキュー管理領域に格納できるデータ数 */
     184        void    *dtqmb;         /* データキュー管理領域の先頭番地 */
    194185} T_CDTQ;
    195186
    196187typedef struct t_rdtq {
    197         ID              stskid;         /* ƒf[ƒ^ƒLƒ
    198 [‚Ì‘—M‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚ÌID”ԍ† */
    199         ID              rtskid;         /* ƒf[ƒ^ƒLƒ
    200 [‚ÌŽóM‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚ÌID”ԍ† */
    201         uint_t  sdtqcnt;        /* ƒf[ƒ^ƒLƒ
    202 [ŠÇ——̈æ‚ÉŠi”[‚³‚ê‚Ä‚¢‚éƒf[ƒ^‚̐” */
     188        ID              stskid;         /* データキューの送信待ち行列の先頭のタスクのID番号 */
     189        ID              rtskid;         /* データキューの受信待ち行列の先頭のタスクのID番号 */
     190        uint_t  sdtqcnt;        /* データキュー管理領域に格納されているデータの数 */
    203191} T_RDTQ;
    204192
    205193typedef struct t_cpdq {
    206         ATR             pdqatr;         /* —Dæ“xƒf[ƒ^ƒLƒ
    207 [‘®« */
    208         uint_t  pdqcnt;         /* —Dæ“xƒf[ƒ^ƒLƒ
    209 [ŠÇ——̈æ‚ÉŠi”[‚Å‚«‚éƒf[ƒ^” */
    210         PRI             maxdpri;        /* —Dæ“xƒf[ƒ^ƒLƒ
    211 [‚É‘—M‚Å‚«‚éƒf[ƒ^—Dæ“x‚̍Å
    212                                                    ‘å’l */
    213         void    *pdqmb;         /* —Dæ“xƒf[ƒ^ƒLƒ
    214 [ŠÇ——̈æ‚̐擪”Ô’n */
     194        ATR             pdqatr;         /* 優先度データキュー属性 */
     195        uint_t  pdqcnt;         /* 優先度データキュー管理領域に格納できるデータ数 */
     196        PRI             maxdpri;        /* 優先度データキューに送信できるデータ優先度の最
     197                                                   大値 */
     198        void    *pdqmb;         /* 優先度データキュー管理領域の先頭番地 */
    215199} T_CPDQ;
    216200
    217201typedef struct t_rpdq {
    218         ID              stskid;         /* —Dæ“xƒf[ƒ^ƒLƒ
    219 [‚Ì‘—M‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN
    220                                                    ‚ÌID”ԍ† */
    221         ID              rtskid;         /* —Dæ“xƒf[ƒ^ƒLƒ
    222 [‚ÌŽóM‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN
    223                                                    ‚ÌID”ԍ† */
    224         uint_t  spdqcnt;        /* —Dæ“xƒf[ƒ^ƒLƒ
    225 [ŠÇ——̈æ‚ÉŠi”[‚³‚ê‚Ä‚¢‚éƒf[
    226                                                    ƒ^‚̐” */
     202        ID              stskid;         /* 優先度データキューの送信待ち行列の先頭のタスク
     203                                                   のID番号 */
     204        ID              rtskid;         /* 優先度データキューの受信待ち行列の先頭のタスク
     205                                                   のID番号 */
     206        uint_t  spdqcnt;        /* 優先度データキュー管理領域に格納されているデー
     207                                                   タの数 */
    227208} T_RPDQ;
    228209
    229210typedef struct t_cmbx {
    230         ATR             mbxatr;         /* ƒ[ƒ‹ƒ{ƒbƒNƒX‘®« */
    231         PRI             maxmpri;        /* —Dæ“xƒ[ƒ‹ƒ{ƒbƒNƒX‚É‘—M‚Å‚«‚郁ƒbƒZ[ƒW—Dæ
    232                                                    “x‚̍őå’l */
    233         void    *mprihd;        /* —Dæ“x•Ê‚̃ƒbƒZ[ƒWƒLƒ
    234 [ƒwƒbƒ_—̈æ‚̐擪”Ô’n */
     211        ATR             mbxatr;         /* メールボックス属性 */
     212        PRI             maxmpri;        /* 優先度メールボックスに送信できるメッセージ優先
     213                                                   度の最大値 */
     214        void    *mprihd;        /* 優先度別のメッセージキューヘッダ領域の先頭番地 */
    235215} T_CMBX;
    236216
    237217typedef struct t_rmbx {
    238         ID              wtskid;         /* ƒ[ƒ‹ƒ{ƒbƒNƒX‚Ì‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚ÌID”ԍ† */
    239         T_MSG   *pk_msg;        /* ƒƒbƒZ[ƒWƒLƒ
    240 [‚̐擪‚ɂ‚Ȃª‚ꂽƒƒbƒZ[ƒW
    241                                                    ‚̐擪”Ô’n */
     218        ID              wtskid;         /* メールボックスの待ち行列の先頭のタスクのID番号 */
     219        T_MSG   *pk_msg;        /* メッセージキューの先頭につながれたメッセージ
     220                                                   の先頭番地 */
    242221} T_RMBX;
    243222
    244223typedef struct t_cmpf {
    245         ATR             mpfatr;         /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹‘®« */
    246         uint_t  blkcnt;         /* Šl“¾‚Å‚«‚éŒÅ’è’·ƒƒ‚ƒŠƒuƒƒbƒN‚̐” */
    247         uint_t  blksz;          /* ŒÅ’è’·ƒƒ‚ƒŠƒuƒƒbƒN‚̃TƒCƒY */
    248         MPF_T   *mpf;           /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹—̈æ‚̐擪”Ô’n */
    249         void    *mpfmb;         /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹ŠÇ——̈æ‚̐擪”Ô’n */
     224        ATR             mpfatr;         /* 固定長メモリプール属性 */
     225        uint_t  blkcnt;         /* 獲得できる固定長メモリブロックの数 */
     226        uint_t  blksz;          /* 固定長メモリブロックのサイズ */
     227        MPF_T   *mpf;           /* 固定長メモリプール領域の先頭番地 */
     228        void    *mpfmb;         /* 固定長メモリプール管理領域の先頭番地 */
    250229} T_CMPF;
    251230
    252231typedef struct t_rmpf {
    253         ID              wtskid;         /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹‚Ì‘Ò‚¿s—ñ‚̐擪‚̃^ƒXƒN‚Ì
    254                                                    ID”ԍ† */
    255         uint_t  fblkcnt;        /* ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹—̈æ‚̋󂫃ƒ‚ƒŠ—̈æ‚ÉŠ„‚è
    256                                                    •t‚¯‚邱‚Æ‚ª‚Å‚«‚éŒÅ’è’·ƒƒ‚ƒŠƒuƒƒbƒN‚̐” */
     232        ID              wtskid;         /* 固定長メモリプールの待ち行列の先頭のタスクの
     233                                                   ID番号 */
     234        uint_t  fblkcnt;        /* 固定長メモリプール領域の空きメモリ領域に割り
     235                                                   付けることができる固定長メモリブロックの数 */
    257236} T_RMPF;
    258237
    259238typedef struct t_ccyc {
    260         ATR                     cycatr;         /* ŽüŠúƒnƒ“ƒhƒ‰‘®« */
    261         intptr_t        exinf;          /* ŽüŠúƒnƒ“ƒhƒ‰‚ÌŠg’£î•ñ */
    262         CYCHDR          cychdr;         /* ŽüŠúƒnƒ“ƒhƒ‰‚̐擪”Ô’n */
    263         RELTIM          cyctim;         /* ŽüŠúƒnƒ“ƒhƒ‰‚Ì‹N“®ŽüŠú */
    264         RELTIM          cycphs;         /* ŽüŠúƒnƒ“ƒhƒ‰‚Ì‹N“®ˆÊ‘Š */
     239        ATR                     cycatr;         /* 周期ハンドラ属性 */
     240        intptr_t        exinf;          /* 周期ハンドラの拡張情報 */
     241        CYCHDR          cychdr;         /* 周期ハンドラの先頭番地 */
     242        RELTIM          cyctim;         /* 周期ハンドラの起動周期 */
     243        RELTIM          cycphs;         /* 周期ハンドラの起動位相 */
    265244} T_CCYC;
    266245
    267246typedef struct t_rcyc {
    268         STAT    cycstat;        /* ŽüŠúƒnƒ“ƒhƒ‰‚Ì“®ìó‘Ô */
    269         RELTIM  lefttim;        /* ŽŸ‚ÉŽüŠúƒnƒ“ƒhƒ‰‚ð‹N“®‚·‚鎞‚Ü‚Å‚Ì‘Š‘ÎŽžŠÔ */
     247        STAT    cycstat;        /* 周期ハンドラの動作状態 */
     248        RELTIM  lefttim;        /* 次に周期ハンドラを起動する時刻までの相対時間 */
    270249} T_RCYC;
    271250
    272251typedef struct t_calm {
    273         ATR                     almatr;         /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‘®« */
    274         intptr_t        exinf;          /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚ÌŠg’£î•ñ */
    275         ALMHDR          almhdr;         /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚̐擪”Ô’n */
     252        ATR                     almatr;         /* アラームハンドラ属性 */
     253        intptr_t        exinf;          /* アラームハンドラの拡張情報 */
     254        ALMHDR          almhdr;         /* アラームハンドラの先頭番地 */
    276255} T_CALM;
    277256
    278257typedef struct t_ralm {
    279         STAT    almstat;        /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚Ì“®ìó‘Ô */
    280         RELTIM  lefttim;        /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚ð‹N“®‚·‚鎞‚Ü‚Å‚Ì‘Š‘ÎŽžŠÔ */
     258        STAT    almstat;        /* アラームハンドラの動作状態 */
     259        RELTIM  lefttim;        /* アラームハンドラを起動する時刻までの相対時間 */
    281260} T_RALM;
    282261
    283262typedef struct t_cisr {
    284         ATR                     isratr;         /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‘®« */
    285         intptr_t        exinf;          /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ÌŠg’£î•ñ */
    286         INTNO           intno;          /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ð“o˜^‚·‚銄ž‚ݔԍ† */
    287         ISR                     isr;            /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚̐擪”Ô’n */
    288         PRI                     isrpri;         /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“—Dæ“x */
     263        ATR                     isratr;         /* 割込みサービスルーチン属性 */
     264        intptr_t        exinf;          /* 割込みサービスルーチンの拡張情報 */
     265        INTNO           intno;          /* 割込みサービスルーチンを登録する割込み番号 */
     266        ISR                     isr;            /* 割込みサービスルーチンの先頭番地 */
     267        PRI                     isrpri;         /* 割込みサービスルーチン優先度 */
    289268} T_CISR;
    290269
    291270/*
    292  *  ƒT[ƒrƒXƒR[ƒ‹‚̐錾
    293  */
    294 
    295 /*
    296  *  ƒ^ƒXƒNŠÇ—‹@”\
     271 *  サービスコールの宣言
     272 */
     273
     274/*
     275 *  タスク管理機能
    297276 */
    298277extern ER_UINT  acre_tsk(const T_CTSK *pk_ctsk) throw();
     
    309288
    310289/*
    311  *  ƒ^ƒXƒN•t‘®“¯Šú‹@”\
     290 *  タスク付属同期機能
    312291 */
    313292extern ER               slp_tsk(void) throw();
     
    323302
    324303/*
    325  *  ƒ^ƒXƒN—áŠOˆ—‹@”\
     304 *  タスク例外処理機能
    326305 */
    327306extern ER               def_tex(ID tskid, const T_DTEX *pk_dtex) throw();
     
    334313
    335314/*
    336  *  “¯ŠúE’ʐM‹@”\
     315 *  同期・通信機能
    337316 */
    338317extern ER_ID    acre_sem(const T_CSEM *pk_csem) throw();
     
    398377
    399378/*
    400  *  ƒƒ‚ƒŠƒv[ƒ‹ŠÇ—‹@”\
     379 *  メモリプール管理機能
    401380 */
    402381extern ER_ID    acre_mpf(const T_CMPF *pk_cmpf) throw();
     
    410389
    411390/*
    412  *  ŽžŠÔŠÇ—‹@”\
     391 *  時間管理機能
    413392 */
    414393extern ER               get_tim(SYSTIM *p_systim) throw();
     
    430409
    431410/*
    432  *  ƒVƒXƒeƒ€ó‘ÔŠÇ—‹@”\
     411 *  システム状態管理機能
    433412 */
    434413extern ER               rot_rdq(PRI tskpri) throw();
     
    450429
    451430/*
    452  *  Š„ž‚ÝŠÇ—‹@”\
     431 *  割込み管理機能
    453432 */
    454433extern ER_ID    acre_isr(const T_CISR *pk_cisr) throw();
     
    460439
    461440/*
    462  *  CPU—áŠOŠÇ—‹@”\
     441 *  CPU例外管理機能
    463442 */
    464443extern bool_t   xsns_dpn(void *p_excinf) throw();
     
    468447
    469448/*
    470  *  ƒIƒuƒWƒFƒNƒg‘®«‚Ì’è‹`
    471  */
    472 #define TA_ACT                  UINT_C(0x02)    /* ƒ^ƒXƒN‚ð‹N“®‚³‚ꂽó‘ԂŐ¶¬ */
    473 
    474 #define TA_TPRI                 UINT_C(0x01)    /* ƒ^ƒXƒN‚Ì‘Ò‚¿s—ñ‚ð—Dæ“x‡‚É */
    475 #define TA_MPRI                 UINT_C(0x02)    /* ƒƒbƒZ[ƒWƒLƒ
    476 [‚ð—Dæ“x‡‚É */
    477 
    478 #define TA_WMUL                 UINT_C(0x02)    /* •¡”‚Ì‘Ò‚¿ƒ^ƒXƒN */
    479 #define TA_CLR                  UINT_C(0x04)    /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚̃NƒŠƒAŽw’è */
    480 
    481 #define TA_STA                  UINT_C(0x02)    /* ŽüŠúƒnƒ“ƒhƒ‰‚𓮍ìó‘ԂŐ¶¬ */
    482 
    483 #define TA_NONKERNEL    UINT_C(0x02)    /* ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý */
    484 
    485 #define TA_ENAINT               UINT_C(0x01)    /* Š„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ðƒNƒŠƒA */
    486 #define TA_EDGE                 UINT_C(0x02)    /* ƒGƒbƒWƒgƒŠƒK */
    487 
    488 /*
    489  *  ƒT[ƒrƒXƒR[ƒ‹‚Ì“®ìƒ‚[ƒh‚Ì’è‹`
    490  */
    491 #define TWF_ORW                 UINT_C(0x01)    /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚ÌOR‘Ò‚¿ */
    492 #define TWF_ANDW                UINT_C(0x02)    /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚ÌAND‘Ò‚¿ */
    493 
    494 /*
    495  *  ƒIƒuƒWƒFƒNƒg‚̏ó‘Ô‚Ì’è‹`
    496  */
    497 #define TTS_RUN                 UINT_C(0x01)    /* ŽÀsó‘Ô */
    498 #define TTS_RDY                 UINT_C(0x02)    /* ŽÀs‰Â”\ó‘Ô */
    499 #define TTS_WAI                 UINT_C(0x04)    /* ‘Ò‚¿ó‘Ô */
    500 #define TTS_SUS                 UINT_C(0x08)    /* ‹­§‘Ò‚¿ó‘Ô */
    501 #define TTS_WAS                 UINT_C(0x0c)    /* “ñd‘Ò‚¿ó‘Ô */
    502 #define TTS_DMT                 UINT_C(0x10)    /* ‹xŽ~ó‘Ô */
    503 
    504 #define TTW_SLP                 UINT_C(0x0001)  /* ‹N°‘Ò‚¿ */
    505 #define TTW_DLY                 UINT_C(0x0002)  /* ŽžŠÔŒo‰ß‘Ò‚¿ */
    506 #define TTW_SEM                 UINT_C(0x0004)  /* ƒZƒ}ƒtƒH‚ÌŽ‘Œ¹Šl“¾‘Ò‚¿ */
    507 #define TTW_FLG                 UINT_C(0x0008)  /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‘Ò‚¿ */
    508 #define TTW_SDTQ                UINT_C(0x0010)  /* ƒf[ƒ^ƒLƒ
    509 [‚Ö‚Ì‘—M‘Ò‚¿ */
    510 #define TTW_RDTQ                UINT_C(0x0020)  /* ƒf[ƒ^ƒLƒ
    511 [‚©‚ç‚ÌŽóM‘Ò‚¿ */
    512 #define TTW_SPDQ                UINT_C(0x0100)  /* —Dæ“xƒf[ƒ^ƒLƒ
    513 [‚Ö‚Ì‘—M‘Ò‚¿ */
    514 #define TTW_RPDQ                UINT_C(0x0200)  /* —Dæ“xƒf[ƒ^ƒLƒ
    515 [‚©‚ç‚ÌŽóM‘Ò‚¿ */
    516 #define TTW_MBX                 UINT_C(0x0040)  /* ƒ[ƒ‹ƒ{ƒbƒNƒX‚©‚ç‚ÌŽóM‘Ò‚¿ */
    517 #define TTW_MPF                 UINT_C(0x2000)  /* ŒÅ’è’·ƒƒ‚ƒŠƒuƒƒbƒN‚ÌŠl“¾‘Ò‚¿ */
    518 
    519 #define TTEX_ENA                UINT_C(0x01)    /* ƒ^ƒXƒN—áŠOˆ—‹–‰Âó‘Ô */
    520 #define TTEX_DIS                UINT_C(0x02)    /* ƒ^ƒXƒN—áŠOˆ—‹ÖŽ~ó‘Ô */
    521 
    522 #define TCYC_STP                UINT_C(0x01)    /* ŽüŠúƒnƒ“ƒhƒ‰‚ª“®ì‚µ‚Ä‚¢‚È‚¢ */
    523 #define TCYC_STA                UINT_C(0x02)    /* ŽüŠúƒnƒ“ƒhƒ‰‚ª“®ì‚µ‚Ä‚¢‚é */
    524 
    525 #define TALM_STP                UINT_C(0x01)    /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚ª“®ì‚µ‚Ä‚¢‚È‚¢ */
    526 #define TALM_STA                UINT_C(0x02)    /* ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚ª“®ì‚µ‚Ä‚¢‚é */
    527 
    528 /*
    529  *  ‚»‚Ì‘¼‚̒萔‚Ì’è‹`
    530  */
    531 #define TSK_SELF                0                       /* Ž©ƒ^ƒXƒNŽw’è */
    532 #define TSK_NONE                0                       /* ŠY“–‚·‚éƒ^ƒXƒN‚ª‚È‚¢ */
    533 
    534 #define TPRI_SELF               0                       /* Ž©ƒ^ƒXƒN‚̃x[ƒX—Dæ“x */
    535 #define TPRI_INI                0                       /* ƒ^ƒXƒN‚Ì‹N“®Žž—Dæ“x */
    536 
    537 #define TIPM_ENAALL             0                       /* Š„ž‚Ý—Dæ“xƒ}ƒXƒN‘S‰ðœ */
    538 
    539 /*
    540  *  \¬’萔‚ƃ}ƒNƒ
    541  */
    542 
    543 /*
    544  *  ƒTƒ|[ƒg‚·‚é‹@”\
     449 *  オブジェクト属性の定義
     450 */
     451#define TA_ACT                  UINT_C(0x02)    /* タスクを起動された状態で生成 */
     452
     453#define TA_TPRI                 UINT_C(0x01)    /* タスクの待ち行列を優先度順に */
     454#define TA_MPRI                 UINT_C(0x02)    /* メッセージキューを優先度順に */
     455
     456#define TA_WMUL                 UINT_C(0x02)    /* 複数の待ちタスク */
     457#define TA_CLR                  UINT_C(0x04)    /* イベントフラグのクリア指定 */
     458
     459#define TA_STA                  UINT_C(0x02)    /* 周期ハンドラを動作状態で生成 */
     460
     461#define TA_NONKERNEL    UINT_C(0x02)    /* カーネル管理外の割込み */
     462
     463#define TA_ENAINT               UINT_C(0x01)    /* 割込み要求禁止フラグをクリア */
     464#define TA_EDGE                 UINT_C(0x02)    /* エッジトリガ */
     465
     466/*
     467 *  サービスコールの動作モードの定義
     468 */
     469#define TWF_ORW                 UINT_C(0x01)    /* イベントフラグのOR待ち */
     470#define TWF_ANDW                UINT_C(0x02)    /* イベントフラグのAND待ち */
     471
     472/*
     473 *  オブジェクトの状態の定義
     474 */
     475#define TTS_RUN                 UINT_C(0x01)    /* 実行状態 */
     476#define TTS_RDY                 UINT_C(0x02)    /* 実行可能状態 */
     477#define TTS_WAI                 UINT_C(0x04)    /* 待ち状態 */
     478#define TTS_SUS                 UINT_C(0x08)    /* 強制待ち状態 */
     479#define TTS_WAS                 UINT_C(0x0c)    /* 二重待ち状態 */
     480#define TTS_DMT                 UINT_C(0x10)    /* 休止状態 */
     481
     482#define TTW_SLP                 UINT_C(0x0001)  /* 起床待ち */
     483#define TTW_DLY                 UINT_C(0x0002)  /* 時間経過待ち */
     484#define TTW_SEM                 UINT_C(0x0004)  /* セマフォの資源獲得待ち */
     485#define TTW_FLG                 UINT_C(0x0008)  /* イベントフラグ待ち */
     486#define TTW_SDTQ                UINT_C(0x0010)  /* データキューへの送信待ち */
     487#define TTW_RDTQ                UINT_C(0x0020)  /* データキューからの受信待ち */
     488#define TTW_SPDQ                UINT_C(0x0100)  /* 優先度データキューへの送信待ち */
     489#define TTW_RPDQ                UINT_C(0x0200)  /* 優先度データキューからの受信待ち */
     490#define TTW_MBX                 UINT_C(0x0040)  /* メールボックスからの受信待ち */
     491#define TTW_MPF                 UINT_C(0x2000)  /* 固定長メモリブロックの獲得待ち */
     492
     493#define TTEX_ENA                UINT_C(0x01)    /* タスク例外処理許可状態 */
     494#define TTEX_DIS                UINT_C(0x02)    /* タスク例外処理禁止状態 */
     495
     496#define TCYC_STP                UINT_C(0x01)    /* 周期ハンドラが動作していない */
     497#define TCYC_STA                UINT_C(0x02)    /* 周期ハンドラが動作している */
     498
     499#define TALM_STP                UINT_C(0x01)    /* アラームハンドラが動作していない */
     500#define TALM_STA                UINT_C(0x02)    /* アラームハンドラが動作している */
     501
     502/*
     503 *  その他の定数の定義
     504 */
     505#define TSK_SELF                0                       /* 自タスク指定 */
     506#define TSK_NONE                0                       /* 該当するタスクがない */
     507
     508#define TPRI_SELF               0                       /* 自タスクのベース優先度 */
     509#define TPRI_INI                0                       /* タスクの起動時優先度 */
     510
     511#define TIPM_ENAALL             0                       /* 割込み優先度マスク全解除 */
     512
     513/*
     514 *  構成定数とマクロ
     515 */
     516
     517/*
     518 *  サポートする機能
    545519 */
    546520#ifdef TOPPERS_TARGET_SUPPORT_DIS_INT
    547 #define TOPPERS_SUPPORT_DIS_INT                 /* dis_int‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚é */
     521#define TOPPERS_SUPPORT_DIS_INT                 /* dis_intがサポートされている */
    548522#endif /* TOPPERS_TARGET_SUPPORT_DIS_INT */
    549523
    550524#ifdef TOPPERS_TARGET_SUPPORT_ENA_INT
    551 #define TOPPERS_SUPPORT_ENA_INT                 /* ena_int‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚é */
     525#define TOPPERS_SUPPORT_ENA_INT                 /* ena_intがサポートされている */
    552526#endif /* TOPPERS_TARGET_SUPPORT_ENA_INT */
    553527
    554528#ifdef TOPPERS_TARGET_SUPPORT_GET_UTM
    555 #define TOPPERS_SUPPORT_GET_UTM                 /* get_utm‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚é */
     529#define TOPPERS_SUPPORT_GET_UTM                 /* get_utmがサポートされている */
    556530#endif /* TOPPERS_TARGET_SUPPORT_GET_UTM */
    557531
    558 #define TOPPERS_SUPPORT_DYNAMIC_CRE             /* “®“I¶¬‹@”\Šg’£ */
    559 
    560 /*
    561  *  —Dæ“x‚͈̔Í
    562  */
    563 #define TMIN_TPRI               1                       /* ƒ^ƒXƒN—Dæ“x‚̍ŏ¬’liÅ‚’lj*/
    564 #define TMAX_TPRI               16                      /* ƒ^ƒXƒN—Dæ“x‚̍őå’liÅ’á’lj*/
    565 #define TMIN_DPRI               1                       /* ƒf[ƒ^—Dæ“x‚̍ŏ¬’liÅ‚’lj*/
    566 #define TMAX_DPRI               16                      /* ƒf[ƒ^—Dæ“x‚̍őå’liÅ’á’lj*/
    567 #define TMIN_MPRI               1                       /* ƒƒbƒZ[ƒW—Dæ“x‚̍ŏ¬’liÅ‚’lj*/
    568 #define TMAX_MPRI               16                      /* ƒƒbƒZ[ƒW—Dæ“x‚̍őå’liÅ’á’lj*/
    569 #define TMIN_ISRPRI             1                       /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“—Dæ“x‚̍ŏ¬’l */
    570 #define TMAX_ISRPRI             16                      /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“—Dæ“x‚̍őå’l */
    571 
    572 /*
    573  *  ƒo[ƒWƒ‡ƒ“î•ñ
    574  */
    575 #define TKERNEL_MAKER   UINT_C(0x0118)  /* ƒJ[ƒlƒ‹‚̃[ƒJ[ƒR[ƒh */
    576 #define TKERNEL_PRID    UINT_C(0x0007)  /* ƒJ[ƒlƒ‹‚ÌŽ¯•Ê”ԍ† */
    577 #define TKERNEL_SPVER   UINT_C(0xf517)  /* ƒJ[ƒlƒ‹Žd—l‚̃o[ƒWƒ‡ƒ“”ԍ† */
    578 #define TKERNEL_PRVER   UINT_C(0x1092)  /* ƒJ[ƒlƒ‹‚̃o[ƒWƒ‡ƒ“”ԍ† */
    579 
    580 /*
    581  *  ƒLƒ
    582 [ƒCƒ“ƒO‰ñ”‚̍őå’l
    583  */
    584 #define TMAX_ACTCNT             UINT_C(1)               /* ‹N“®—v‹ƒLƒ
    585 [ƒCƒ“ƒO”‚̍őå’l */
    586 #define TMAX_WUPCNT             UINT_C(1)               /* ‹N°—v‹ƒLƒ
    587 [ƒCƒ“ƒO”‚̍őå’l */
    588 
    589 /*
    590  *  ƒrƒbƒgƒpƒ^[ƒ“‚̃rƒbƒg”
    591  */
    592 #ifndef TBIT_TEXPTN                                     /* ƒ^ƒXƒN—áŠO—vˆö‚̃rƒbƒg” */
     532#define TOPPERS_SUPPORT_DYNAMIC_CRE             /* 動的生成機能拡張 */
     533
     534/*
     535 *  優先度の範囲
     536 */
     537#define TMIN_TPRI               1                       /* タスク優先度の最小値(最高値)*/
     538#define TMAX_TPRI               16                      /* タスク優先度の最大値(最低値)*/
     539#define TMIN_DPRI               1                       /* データ優先度の最小値(最高値)*/
     540#define TMAX_DPRI               16                      /* データ優先度の最大値(最低値)*/
     541#define TMIN_MPRI               1                       /* メッセージ優先度の最小値(最高値)*/
     542#define TMAX_MPRI               16                      /* メッセージ優先度の最大値(最低値)*/
     543#define TMIN_ISRPRI             1                       /* 割込みサービスルーチン優先度の最小値 */
     544#define TMAX_ISRPRI             16                      /* 割込みサービスルーチン優先度の最大値 */
     545
     546/*
     547 *  バージョン情報
     548 */
     549#define TKERNEL_MAKER   UINT_C(0x0118)  /* カーネルのメーカーコード */
     550#define TKERNEL_PRID    UINT_C(0x0007)  /* カーネルの識別番号 */
     551#define TKERNEL_SPVER   UINT_C(0xf517)  /* カーネル仕様のバージョン番号 */
     552#define TKERNEL_PRVER   UINT_C(0x1092)  /* カーネルのバージョン番号 */
     553
     554/*
     555 *  キューイング回数の最大値
     556 */
     557#define TMAX_ACTCNT             UINT_C(1)               /* 起動要求キューイング数の最大値 */
     558#define TMAX_WUPCNT             UINT_C(1)               /* 起床要求キューイング数の最大値 */
     559
     560/*
     561 *  ビットパターンのビット数
     562 */
     563#ifndef TBIT_TEXPTN                                     /* タスク例外要因のビット数 */
    593564#define TBIT_TEXPTN             (sizeof(TEXPTN) * CHAR_BIT)
    594565#endif /* TBIT_TEXPTN */
    595566
    596 #ifndef TBIT_FLGPTN                                     /* ƒCƒxƒ“ƒgƒtƒ‰ƒO‚̃rƒbƒg” */
     567#ifndef TBIT_FLGPTN                                     /* イベントフラグのビット数 */
    597568#define TBIT_FLGPTN             (sizeof(FLGPTN) * CHAR_BIT)
    598569#endif /* TBIT_FLGPTN */
    599570
    600571/*
    601  *  ƒƒ‚ƒŠ—̈æŠm•Û‚Ì‚½‚߂̃}ƒNƒ
     572 *  メモリ領域確保のためのマクロ
    602573 *
    603  *  ˆÈ‰º‚ÌTOPPERS_COUNT_SZ‚ÆTOPPERS_ROUND_SZ‚Ì’è‹`‚́Cunit‚ª2‚̋Џæ‚Å‚ 
    604  *  ‚邱‚Æ‚ð‰¼’è‚µ‚Ä‚¢‚éD
     574 *  以下のTOPPERS_COUNT_SZとTOPPERS_ROUND_SZの定義は,unitが2の巾乗であ
     575 *  ることを仮定している.
    605576 */
    606577#ifndef TOPPERS_COUNT_SZ
     
    629600
    630601/*
    631  *  ‚»‚Ì‘¼‚̍\¬’萔
    632  */
    633 #define TMAX_MAXSEM             UINT_MAX        /* ƒZƒ}ƒtƒH‚̍ő厑Œ¹”‚̍őå’l */
     602 *  その他の構成定数
     603 */
     604#define TMAX_MAXSEM             UINT_MAX        /* セマフォの最大資源数の最大値 */
    634605
    635606#ifdef __cplusplus
  • UsbWattMeter/trunk/asp_dcre/include/log_output.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    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  *              ƒVƒXƒeƒ€ƒƒO‚̃tƒH[ƒ}ƒbƒgo—Í
     43 *              システムログのフォーマット出力
    4844 */
    4945
     
    5854
    5955/*
    60  *  •¶Žš—ñ®Œ`o—Í
     56 *  文字列整形出力
    6157 *
    62  *  format‚ÅŽw’肳‚ê‚éƒtƒH[ƒ}ƒbƒg‹Lq‚Æp_args‚ÅŽw’肳‚ê‚éˆø”—ñ‚©‚çì
    63  *  ¬‚µ‚½ƒƒbƒZ[ƒW‚ðC1•¶Žšo—͊֐”putc‚ð—p‚¢‚ďo—Í‚·‚éD
     58 *  formatで指定されるフォーマット記述とp_argsで指定される引数列から作
     59 *  成したメッセージを,1文字出力関数putcを用いて出力する.
    6460 */
    6561extern void     syslog_printf(const char *format, const intptr_t *p_args,
     
    6763
    6864/*
    69  *  ƒƒOî•ñ‚̏o—Í
     65 *  ログ情報の出力
    7066 *
    71  *  p_syslog‚ÅŽw’肳‚ê‚郍ƒOî•ñ‚𕶎š—ñ‚ɐ®Œ`‚µC1•¶Žšo—͊֐”putc‚ð—p
    72  *  ‚¢‚ďo—Í‚·‚éD
     67 *  p_syslogで指定されるログ情報を文字列に整形し,1文字出力関数putcを用
     68 *  いて出力する.
    7369 */
    7470extern void     syslog_print(const SYSLOG *p_syslog, void (*putc)(char)) throw();
    7571
    7672/*
    77  *  ƒƒOî•ñ‘rŽ¸ƒƒbƒZ[ƒW•¶Žš—ñ
     73 *  ログ情報喪失メッセージ文字列
    7874 *
    79  *  lostlogŒÂ‚̃ƒOî•ñ‚ªŽ¸‚í‚ꂽŽ|‚̃ƒbƒZ[ƒW‚ðC1•¶Žšo—͊֐”putc‚ð
    80  *  —p‚¢‚ďo—Í‚·‚éD
     75 *  lostlog個のログ情報が失われた旨のメッセージを,1文字出力関数putcを
     76 *  用いて出力する.
    8177 */
    8278extern void     syslog_lostmsg(uint_t lostlog, void (*putc)(char)) throw();
  • UsbWattMeter/trunk/asp_dcre/include/queue.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    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
    36  *
    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
     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 *  の責任を負わない.
    4238 *
    4339 *  @(#) $Id$
     
    4541
    4642/*
    47  *              ƒLƒ
    48 [‘€ìƒ‰ƒCƒuƒ‰ƒŠ
    49  *
    50  *  ‚±‚̃Lƒ
    51 [‘€ìƒ‰ƒCƒuƒ‰ƒŠ‚ł́CƒLƒ
    52 [ƒwƒbƒ_‚ðŠÜ‚ÞƒŠƒ“ƒO\‘¢‚̃_ƒuƒ‹
    53  *  ƒŠƒ“ƒNƒLƒ
    54 [‚ðˆµ‚¤D‹ï‘Ì“I‚ɂ́CƒLƒ
    55 [ƒwƒbƒ_‚ÌŽŸƒGƒ“ƒgƒŠ‚̓Lƒ
    56 [‚Ì
    57  *  æ“ª‚̃Gƒ“ƒgƒŠC‘OƒGƒ“ƒgƒŠ‚̓Lƒ
    58 [‚Ì––”ö‚̃Gƒ“ƒgƒŠ‚Æ‚·‚éD‚Ü‚½CƒL
    59  *  ƒ
    60 [‚̐擪‚̃Gƒ“ƒgƒŠ‚Ì‘OƒGƒ“ƒgƒŠ‚ƁCƒLƒ
    61 [‚Ì––”ö‚̃Gƒ“ƒgƒŠ‚ÌŽŸƒGƒ“
    62  *  ƒgƒŠ‚́CƒLƒ
    63 [ƒwƒbƒ_‚Æ‚·‚éD‹ó‚̃Lƒ
    64 [‚́CŽŸƒGƒ“ƒgƒŠC‘OƒGƒ“ƒgƒŠ‚Æ
    65  *  ‚àŽ©•ªŽ©g‚ðŽw‚·ƒLƒ
    66 [ƒwƒbƒ_‚Å‚ ‚ç‚í‚·D
     43 *              キュー操作ライブラリ
     44 *
     45 *  このキュー操作ライブラリでは,キューヘッダを含むリング構造のダブル
     46 *  リンクキューを扱う.具体的には,キューヘッダの次エントリはキューの
     47 *  先頭のエントリ,前エントリはキューの末尾のエントリとする.また,キ
     48 *  ューの先頭のエントリの前エントリと,キューの末尾のエントリの次エン
     49 *  トリは,キューヘッダとする.空のキューは,次エントリ,前エントリと
     50 *  も自分自身を指すキューヘッダであらわす.
    6751 */
    6852
     
    7559
    7660/*
    77  *  ƒLƒ
    78 [‚̃f[ƒ^\‘¢‚Ì’è‹`
     61 *  キューのデータ構造の定義
    7962 */
    8063typedef struct queue {
    81         struct queue *p_next;           /* ŽŸƒGƒ“ƒgƒŠ‚ւ̃|ƒCƒ“ƒ^ */
    82         struct queue *p_prev;           /* ‘OƒGƒ“ƒgƒŠ‚ւ̃|ƒCƒ“ƒ^ */
     64        struct queue *p_next;           /* 次エントリへのポインタ */
     65        struct queue *p_prev;           /* 前エントリへのポインタ */
    8366} QUEUE;
    8467
    8568/*
    86  *  ƒLƒ
    87 [‚̏‰Šú‰»
    88  *
    89  *  p_queue‚ɂ̓Lƒ
    90 [ƒwƒbƒ_‚ðŽw’è‚·‚éD
     69 *  キューの初期化
     70 *
     71 *  p_queueにはキューヘッダを指定する.
    9172 */
    9273Inline void
     
    9879
    9980/*
    100  *  ƒLƒ
    101 [‚Ì‘OƒGƒ“ƒgƒŠ‚Ö‚Ì‘}“ü
    102  *
    103  *  p_queue‚Ì‘O‚Ép_entry‚ð‘}“ü‚·‚éDp_queue‚ɃLƒ
    104 [ƒwƒbƒ_‚ðŽw’肵‚½ê
    105  *  ‡‚ɂ́CƒLƒ
    106 [‚Ì––”ö‚Ép_entry‚ð‘}“ü‚·‚邱‚Æ‚É‚È‚éD
     81 *  キューの前エントリへの挿入
     82 *
     83 *  p_queueの前にp_entryを挿入する.p_queueにキューヘッダを指定した場
     84 *  合には,キューの末尾にp_entryを挿入することになる.
    10785 */
    10886Inline void
     
    11694
    11795/*
    118  *  ƒLƒ
    119 [‚ÌŽŸƒGƒ“ƒgƒŠ‚Ö‚Ì‘}“ü
    120  *
    121  *  p_queue‚ÌŽŸ‚Ép_entry‚ð‘}“ü‚·‚éDp_queue‚ɃLƒ
    122 [ƒwƒbƒ_‚ðŽw’肵‚½ê
    123  *  ‡‚ɂ́CƒLƒ
    124 [‚̐擪‚Ép_entry‚ð‘}“ü‚·‚邱‚Æ‚É‚È‚éD
     96 *  キューの次エントリへの挿入
     97 *
     98 *  p_queueの次にp_entryを挿入する.p_queueにキューヘッダを指定した場
     99 *  合には,キューの先頭にp_entryを挿入することになる.
    125100 */
    126101Inline void
     
    134109
    135110/*
    136  *  ƒGƒ“ƒgƒŠ‚̍폜
    137  *
    138  *  p_entry‚ðƒLƒ
    139 [‚©‚çíœ‚·‚éD
     111 *  エントリの削除
     112 *
     113 *  p_entryをキューから削除する.
    140114 */
    141115Inline void
     
    147121
    148122/*
    149  *  ƒLƒ
    150 [‚Ì—ñ‹“
    151  *
    152  *  ˆø”p_top‚ðƒLƒ
    153 [‚Æ‚·‚éƒGƒ“ƒgƒŠ‚ðæ“ª‚©‚ç—ñ‹“‚·‚éB
    154  *  Å‰‚̌ďo‚µ‚ł́Ap_entry‚ÉNULL‚ð“n‚·B•Ô’l‚Íp_top‚ÌŽŸ‚̃Gƒ“ƒgƒŠ(‚‚܂èæ“ª)‚Å‚ ‚éB
    155  *  ŽŸ‰ñˆÈ~‚Í‘O‰ñ‚É“¾‚½ƒGƒ“ƒgƒŠ‚ðp_entry‚É“n‚·B•Ô’l‚Íp_entry‚ÌŽŸ‚̃Gƒ“ƒgƒŠ‚Æ‚È‚éB
    156  *  p_entry‚ÌŽŸ‚̃Gƒ“ƒgƒŠ‚ªp_top‚¾‚Á‚½‚Æ‚«ANULL‚ð•Ô’l‚Æ‚µ‚āAƒLƒ
    157 [‚̏I’[‚ð‚ ‚ç‚í‚·B
    158  *  p_top‚ÌNULLƒ`ƒFƒbƒN‚âp_entry‚̑Ó–«ŒŸØ‚͍s‚Á‚Ä‚¢‚È‚¢BŒÄo‚µ‘¤‚̐ӔC‚ōs‚¤‚±‚ƁB
    159  *  ‚Ü‚½AŒ¾‚¤‚Ü‚Å‚à‚È‚¢‚ªAƒXƒŒƒbƒhƒZ[ƒt‚ɂ͂Ȃ肦‚È‚¢B—ñ‹“ƒ‹[ƒv’†‚Í”r‘¼‚Í
    160  *  ŒÄo‚µ‘¤‚̐ӔC‚ōs‚¤‚±‚ƁB
     123 *  キューの列挙
     124 *
     125 *  引数p_topをキューとするエントリを先頭から列挙する。
     126 *  最初の呼出しでは、p_entryにNULLを渡す。返値はp_topの次のエントリ(つまり先頭)である。
     127 *  次回以降は前回に得たエントリをp_entryに渡す。返値はp_entryの次のエントリとなる。
     128 *  p_entryの次のエントリがp_topだったとき、NULLを返値として、キューの終端をあらわす。
     129 *  p_topのNULLチェックやp_entryの妥当性検証は行っていない。呼出し側の責任で行うこと。
     130 *  また、言うまでもないが、スレッドセーフにはなりえない。列挙ループ中は排他は
     131 *  呼出し側の責任で行うこと。
    161132 */
    162133Inline QUEUE *
     
    176147
    177148/*
    178  *  ƒLƒ
    179 [‚ÌŽŸƒGƒ“ƒgƒŠ‚ÌŽæo‚µ
    180  *
    181  *  p_queue‚ÌŽŸƒGƒ“ƒgƒŠ‚ðƒLƒ
    182 [‚©‚çíœ‚µCíœ‚µ‚½ƒGƒ“ƒgƒŠ‚ð•Ô‚·D
    183  *  p_queue‚ɃLƒ
    184 [ƒwƒbƒ_‚ðŽw’肵‚½ê‡‚ɂ́CƒLƒ
    185 [‚̐擪‚̃Gƒ“ƒgƒŠ‚ð
    186  *  Žæ‚èo‚·‚±‚Æ‚É‚È‚éDp_queue‚É‹ó‚̃Lƒ
    187 [‚ðŽw’肵‚ČĂяo‚µ‚Ä‚Í‚È‚ç
    188  *  ‚È‚¢D
     149 *  キューの次エントリの取出し
     150 *
     151 *  p_queueの次エントリをキューから削除し,削除したエントリを返す.
     152 *  p_queueにキューヘッダを指定した場合には,キューの先頭のエントリを
     153 *  取り出すことになる.p_queueに空のキューを指定して呼び出してはなら
     154 *  ない.
    189155 */
    190156Inline QUEUE *
     
    201167
    202168/*
    203  *  ƒLƒ
    204 [‚ÌŽŸƒGƒ“ƒgƒŠ‚̃|ƒCƒ“ƒ^‚ðŽæ“¾
    205  *
    206  *  p_queue ‚ÌŽŸƒGƒ“ƒgƒŠ‚ð•Ô‚·Dp_queue ‚ɃLƒ
    207 [ƒwƒbƒ_‚ðŽw’肵‚½ê‡‚ɂ́C
    208  *  ƒLƒ
    209 [‚̐擪‚̃Gƒ“ƒgƒŠ‚ðŽæ‚èo‚·‚±‚Æ‚É‚È‚éDp_queue ‚É‹ó‚̃Lƒ
    210 [‚ð
    211  *  Žw’肵‚ČĂяo‚µ‚Ä‚Í‚È‚ç‚È‚¢D
     169 *  キューの次エントリのポインタを取得
     170 *
     171 *  p_queue の次エントリを返す.p_queue にキューヘッダを指定した場合には,
     172 *  キューの先頭のエントリを取り出すことになる.p_queue に空のキューを
     173 *  指定して呼び出してはならない.
    212174 */
    213175Inline QUEUE *
     
    220182
    221183/*
    222  *  ƒLƒ
    223 [‚ª‹ó‚©‚Ç‚¤‚©‚̃`ƒFƒbƒN
    224  *
    225  *  p_queue‚ɂ̓Lƒ
    226 [ƒwƒbƒ_‚ðŽw’è‚·‚éD
     184 *  キューが空かどうかのチェック
     185 *
     186 *  p_queueにはキューヘッダを指定する.
    227187 */
    228188Inline bool_t
  • UsbWattMeter/trunk/asp_dcre/include/sil.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    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
    36  *
    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
     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 *  の責任を負わない.
    4238 *
    4339 *  @(#) $Id$
     
    4541
    4642/*
    47  *              ƒVƒXƒeƒ€ƒCƒ“ƒ^ƒtƒF[ƒXƒŒƒCƒ„
    48  *
    49  *  ƒVƒXƒeƒ€ƒCƒ“ƒ^ƒtƒF[ƒXƒŒƒCƒ„‚̃T[ƒrƒXƒR[ƒ‹‚Ì’è‹`EéŒ¾‚ƃ}ƒNƒ‚È
    50  *  ‚Ç‚Ì’è‹`‚ðŠÜ‚Þƒwƒbƒ_ƒtƒ@ƒCƒ‹D
    51  *
    52  *  ƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚炱‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚鎞
    53  *  ‚́CTOPPERS_MACRO_ONLY‚ð’è‹`‚µ‚Ä‚¨‚­‚±‚ƂŁCƒ}ƒNƒ’è‹`ˆÈŠO‚Ì‹Lq‚ð
    54  *  œ‚­‚±‚Æ‚ª‚Å‚«‚éD
    55  *
    56  *  ‚±‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɃCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¨‚­‚ׂ«ƒtƒ@ƒCƒ‹
    57  *  ‚Í‚È‚¢D
     43 *              システムインタフェースレイヤ
     44 *
     45 *  システムインタフェースレイヤのサービスコールの定義・宣言とマクロな
     46 *  どの定義を含むヘッダファイル.
     47 *
     48 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     49 *  は,TOPPERS_MACRO_ONLYを定義しておくことで,マクロ定義以外の記述を
     50 *  除くことができる.
     51 *
     52 *  このファイルをインクルードする前にインクルードしておくべきファイル
     53 *  はない.
    5854 */
    5955
     
    6662
    6763/*
    68  *      TOPPERS‹¤’ʂ̃f[ƒ^Œ^E’萔Eƒ}ƒNƒ
     64 *      TOPPERS共通のデータ型・定数・マクロ
    6965 */
    7066#include <t_stddef.h>
    7167
    7268/*
    73  *  ƒ^[ƒQƒbƒgˆË‘¶•”
     69 *  ターゲット依存部
    7470 */
    7571#include "target_sil.h"
     
    7874
    7975/*
    80  *  ‘SŠ„ž‚݃ƒbƒNó‘Ԃ̐§Œä
    81  *
    82  *  SIL_PRE_LOCCSIL_LOC_INT()CSIL_UNL_INT()‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å—p
    83  *  ˆÓ‚·‚éDƒfƒtƒHƒ‹ƒg‚Ì’è‹`‚Í—pˆÓ‚µ‚Ä‚¢‚È‚¢D
    84  */
    85 
    86 /*
    87  *  ”÷­ŽžŠÔ‘Ò‚¿
     76 *  全割込みロック状態の制御
     77 *
     78 *  SIL_PRE_LOC,SIL_LOC_INT(),SIL_UNL_INT()は,ターゲット依存部で用
     79 *  意する.デフォルトの定義は用意していない.
     80 */
     81
     82/*
     83 *  微少時間待ち
    8884 */
    8985extern void     sil_dly_nse(ulong_t dlytim) throw();
    9086
    9187/*
    92  *  ƒGƒ“ƒfƒBƒAƒ“‚Ì”½“]
     88 *  エンディアンの反転
    9389 */
    9490#ifndef TOPPERS_SIL_REV_ENDIAN_UINT16
     
    104100
    105101/*
    106  *  ƒƒ‚ƒŠ‹óŠÔƒAƒNƒZƒXŠÖ”
     102 *  メモリ空間アクセス関数
    107103 */
    108104#ifndef TOPPERS_OMIT_SIL_ACCESS
    109105
    110106/*
    111  *  8ƒrƒbƒg’PˆÊ‚̓Ǐo‚µ^‘ž‚Ý
     107 *  8ビット単位の読出し/書込み
    112108 */
    113109#ifdef UINT8_MAX
     
    131127
    132128/*
    133  *  16ƒrƒbƒg’PˆÊ‚̓Ǐo‚µ^‘ž‚Ý
     129 *  16ビット単位の読出し/書込み
    134130 */
    135131
     
    149145}
    150146
    151 #ifdef SIL_ENDIAN_BIG                   /* ƒrƒbƒOƒGƒ“ƒfƒBƒAƒ“ƒvƒƒZƒbƒT */
     147#ifdef SIL_ENDIAN_BIG                   /* ビッグエンディアンプロセッサ */
    152148
    153149#define sil_reh_bem(mem)                sil_reh_mem(mem)
     
    176172#endif /* TOPPERS_OMIT_SIL_WRH_LEM */
    177173#else /* SIL_ENDIAN_BIG */
    178 #ifdef SIL_ENDIAN_LITTLE                /* ƒŠƒgƒ‹ƒGƒ“ƒfƒBƒAƒ“ƒvƒƒZƒbƒT */
     174#ifdef SIL_ENDIAN_LITTLE                /* リトルエンディアンプロセッサ */
    179175
    180176#define sil_reh_lem(mem)                sil_reh_mem(mem)
     
    210206
    211207/*
    212  *  32ƒrƒbƒg’PˆÊ‚̓Ǐo‚µ^‘ž‚Ý
     208 *  32ビット単位の読出し/書込み
    213209 */
    214210
     
    228224}
    229225
    230 #ifdef SIL_ENDIAN_BIG                   /* ƒrƒbƒOƒGƒ“ƒfƒBƒAƒ“ƒvƒƒZƒbƒT */
     226#ifdef SIL_ENDIAN_BIG                   /* ビッグエンディアンプロセッサ */
    231227
    232228#define sil_rew_bem(mem)                sil_rew_mem(mem)
     
    254250
    255251#endif /* TOPPERS_OMIT_SIL_WRW_LEM */
    256 #else /* SIL_ENDIAN_BIG */              /* ƒŠƒgƒ‹ƒGƒ“ƒfƒBƒAƒ“ƒvƒƒZƒbƒT */
     252#else /* SIL_ENDIAN_BIG */              /* リトルエンディアンプロセッサ */
    257253
    258254#define sil_rew_lem(mem)                sil_rew_mem(mem)
  • UsbWattMeter/trunk/asp_dcre/include/t_stddef.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    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
    36  *
    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
     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 *  の責任を負わない.
    4238 *
    4339 *  @(#) $Id$
     
    4541
    4642/*
    47  *              TOPPERS‹¤’ʃwƒbƒ_ƒtƒ@ƒCƒ‹
    48  *
    49  *  TOPPERSŠÖ˜A‚Ì‚·‚ׂẴ\[ƒXƒtƒ@ƒCƒ‹‚ŃCƒ“ƒNƒ‹[ƒh‚·‚ׂ«ƒwƒbƒ_ƒtƒ@ƒC
    50  *  ƒ‹DŠeŽí‚̃J[ƒlƒ‹‚âƒ\ƒtƒgƒEƒFƒA•”•i‚Å‹¤’Ê‚É—p‚¢‚邱‚Æ‚ð‘z’肵‚Ä‚¢
    51  *  ‚éDTOPPERS‚ÌŠeŽí‚̃J[ƒlƒ‹‚âƒ\ƒtƒgƒEƒFƒA•”•i‚Å‹¤’Ê‚É—p‚¢‚éƒf[ƒ^Œ^C
    52  *  ’萔Cƒ}ƒNƒ‚Ì’è‹`‚È‚Ç‚ðŠÜ‚ށD
    53  *
    54  *  ƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚炱‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚鎞
    55  *  ‚́CTOPPERS_MACRO_ONLY‚ð’è‹`‚µ‚Ä‚¨‚­D‚±‚ê‚É‚æ‚èCƒ}ƒNƒ’è‹`ˆÈŠO‚ð
    56  *  œ‚­‚悤‚É‚È‚Á‚Ä‚¢‚éD
    57  *
    58  *  ‚±‚̃tƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɃCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¨‚­‚ׂ«ƒtƒ@ƒCƒ‹
    59  *  ‚Í‚È‚¢D
     43 *              TOPPERS共通ヘッダファイル
     44 *
     45 *  TOPPERS関連のすべてのソースファイルでインクルードすべきヘッダファイ
     46 *  ル.各種のカーネルやソフトウェア部品で共通に用いることを想定してい
     47 *  る.TOPPERSの各種のカーネルやソフトウェア部品で共通に用いるデータ型,
     48 *  定数,マクロの定義などを含む.
     49 *
     50 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     51 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     52 *  除くようになっている.
     53 *
     54 *  このファイルをインクルードする前にインクルードしておくべきファイル
     55 *  はない.
    6056 */
    6157
     
    6864
    6965/*
    70  *  ƒ^[ƒQƒbƒgˆË‘¶•”
     66 *  ターゲット依存部
    7167 */
    7268#include "target_stddef.h"
    7369
    7470/*
    75  *  CŒ¾Œê/EC++‚Åthrow()‚ɑΏˆ‚·‚邽‚ß‚Ì’è‹`
     71 *  C言語/EC++でthrow()に対処するための定義
    7672 */
    7773#if !defined(__cplusplus) || defined(__embedded_cplusplus)
     
    8278
    8379/*
    84  *  ƒ^[ƒQƒbƒgˆË‘¶‚̃f[ƒ^Œ^‚̃}ƒNƒ‚̃fƒtƒHƒ‹ƒg’è‹`
     80 *  ターゲット依存のデータ型のマクロのデフォルト定義
    8581 */
    8682#ifndef TOPPERS_bool
    87 #define TOPPERS_bool    int                             /* ƒu[ƒ‹Œ^ */
     83#define TOPPERS_bool    int                             /* ブール型 */
    8884#endif /* TOPPERS_bool */
    8985
    9086#ifndef TOPPERS_size
    91 #define TOPPERS_size    uintptr_t               /* ƒTƒCƒYŒ^ */
     87#define TOPPERS_size    uintptr_t               /* サイズ型 */
    9288#endif /* TOPPERS_size */
    9389
     
    9591struct TOPPERS_dummy_t { int TOPPERS_dummy_field; };
    9692typedef void                    (*TOPPERS_fp_t)(struct TOPPERS_dummy_t);
    97 #define TOPPERS_fp              TOPPERS_fp_t    /* ƒvƒƒOƒ‰ƒ€‚Ì‹N“®”Ô’n */
     93#define TOPPERS_fp              TOPPERS_fp_t    /* プログラムの起動番地 */
    9894#endif /* TOPPERS_fp */
    9995
    10096/*
    101  *  ‹¤’ʃf[ƒ^Œ^
    102  */
    103 typedef TOPPERS_bool    bool_t;         /* ^‹U’l */
    104 
    105 typedef signed int              int_t;          /* Ž©‘R‚ȃTƒCƒY‚Ì•„†•t‚«®” */
    106 typedef unsigned int    uint_t;         /* Ž©‘R‚ȃTƒCƒY‚Ì•„†–³‚µ®” */
    107 
    108 typedef signed long             long_t;         /* ’·‚߂̃TƒCƒY‚Ì•„†•t‚«®” */
    109 typedef unsigned long   ulong_t;        /* ’·‚߂̃TƒCƒY‚Ì•„†–³‚µ®” */
    110 
    111 typedef int_t                   FN;                     /* ‹@”\ƒR[ƒh */
    112 typedef int_t                   ER;                     /* ƒGƒ‰[ƒR[ƒh */
    113 typedef int_t                   ID;                     /* ƒIƒuƒWƒFƒNƒg‚ÌID”ԍ† */
    114 typedef uint_t                  ATR;            /* ƒIƒuƒWƒFƒNƒg‚Ì‘®« */
    115 typedef uint_t                  STAT;           /* ƒIƒuƒWƒFƒNƒg‚̏ó‘Ô */
    116 typedef uint_t                  MODE;           /* ƒT[ƒrƒXƒR[ƒ‹‚Ì“®ìƒ‚[ƒh */
    117 typedef int_t                   PRI;            /* —Dæ“x */
    118 typedef TOPPERS_size    SIZE;           /* ƒƒ‚ƒŠ—̈æ‚̃TƒCƒY */
    119 
    120 typedef int_t                   TMO;            /* ƒ^ƒCƒ€ƒAƒEƒgŽw’è */
    121 typedef uint_t                  RELTIM;         /* ‘Š‘ÎŽžŠÔ */
    122 typedef ulong_t                 SYSTIM;         /* ƒVƒXƒeƒ€Žž */
    123 typedef ulong_t                 SYSUTM;         /* «”\•]‰¿—pƒVƒXƒeƒ€Žž */
    124 
    125 typedef TOPPERS_fp              FP;                     /* ƒvƒƒOƒ‰ƒ€‚Ì‹N“®”Ô’n */
    126 
    127 typedef int_t                   ER_BOOL;        /* ƒGƒ‰[ƒR[ƒh‚Ü‚½‚͐^‹U’l */
    128 typedef int_t                   ER_ID;          /* ƒGƒ‰[ƒR[ƒh‚Ü‚½‚ÍID”ԍ† */
    129 typedef int_t                   ER_UINT;        /* ƒGƒ‰[ƒR[ƒh‚Ü‚½‚Í•„†–³‚µ®” */
    130 
    131 typedef uintptr_t               MB_T;           /* ŠÇ——̈æ‚ðŠm•Û‚·‚邽‚߂̃f[ƒ^Œ^ */
    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ƒ^[ƒ“ */
     97 *  共通データ型
     98 */
     99typedef TOPPERS_bool    bool_t;         /* 真偽値 */
     100
     101typedef signed int              int_t;          /* 自然なサイズの符号付き整数 */
     102typedef unsigned int    uint_t;         /* 自然なサイズの符号無し整数 */
     103
     104typedef signed long             long_t;         /* 長めのサイズの符号付き整数 */
     105typedef unsigned long   ulong_t;        /* 長めのサイズの符号無し整数 */
     106
     107typedef int_t                   FN;                     /* 機能コード */
     108typedef int_t                   ER;                     /* エラーコード */
     109typedef int_t                   ID;                     /* オブジェクトのID番号 */
     110typedef uint_t                  ATR;            /* オブジェクトの属性 */
     111typedef uint_t                  STAT;           /* オブジェクトの状態 */
     112typedef uint_t                  MODE;           /* サービスコールの動作モード */
     113typedef int_t                   PRI;            /* 優先度 */
     114typedef TOPPERS_size    SIZE;           /* メモリ領域のサイズ */
     115
     116typedef int_t                   TMO;            /* タイムアウト指定 */
     117typedef uint_t                  RELTIM;         /* 相対時間 */
     118typedef ulong_t                 SYSTIM;         /* システム時刻 */
     119typedef ulong_t                 SYSUTM;         /* 性能評価用システム時刻 */
     120
     121typedef TOPPERS_fp              FP;                     /* プログラムの起動番地 */
     122
     123typedef int_t                   ER_BOOL;        /* エラーコードまたは真偽値 */
     124typedef int_t                   ER_ID;          /* エラーコードまたはID番号 */
     125typedef int_t                   ER_UINT;        /* エラーコードまたは符号無し整数 */
     126
     127typedef uintptr_t               MB_T;           /* 管理領域を確保するためのデータ型 */
     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ƒ
    218  *
    219  *  ˆÈ‰º‚ÌALIGN_TYPE‚Ì’è‹`‚́CƒAƒ‰ƒCƒ“ƒƒ“ƒg‚Ì’PˆÊ‚ª2‚̋Џæ‚Å‚ ‚邱‚Æ‚ð
    220  *  ‰¼’肵‚Ä‚¢‚éD
     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 *  型に関する情報を取り出すためのマクロ
     213 *
     214 *  以下のALIGN_TYPEの定義は,アラインメントの単位が2の巾乗であることを
     215 *  仮定している.
    221216 */
    222217#ifndef offsetof
     
    228223#endif /* alignof */
    229224
    230 #ifndef ALIGN_TYPE                              /* ƒAƒ‰ƒCƒ“ƒƒ“ƒg‚̃`ƒFƒbƒN */
     225#ifndef ALIGN_TYPE                              /* アラインメントのチェック */
    231226#define ALIGN_TYPE(addr, type) \
    232227                                                ((((uintptr_t)(addr)) & (alignof(type) - 1)) == 0U)
     
    234229
    235230/*
    236  *  assertƒ}ƒNƒ
     231 *  assertマクロ
    237232 */
    238233#undef assert
     
    249244
    250245/*
    251  *  ƒGƒ‰[ƒR[ƒh¶¬E•ª‰ðƒ}ƒNƒ
    252  *
    253  *  ˆÈ‰º‚̃}ƒNƒ’è‹`‚́C•„†•t‚«®”‚ª2‚̕␔‚Å•\Œ»‚³‚ê‚Ä‚¨‚èC‰EƒVƒtƒg
    254  *  ‰‰ŽZŽqi>>j‚ªŽZpƒVƒtƒg‚³‚ê‚邱‚Æ‚ð‰¼’è‚µ‚Ä‚¢‚éD‚»‚¤‚Å‚È‚¢ŠJ”­ŠÂ
    255  *  ‹«‚ł́Ctarget_stddef.h‚Å‚±‚ê‚ç‚Ì’è‹`‚ðã‘‚«‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
    256  *
    257  *  MERCDƒ}ƒNƒ‚Ì’è‹`‚́CƒƒCƒ“ƒGƒ‰[ƒR[ƒh‚ª•‰‚Å‚ ‚邱‚Æ‚ð‰¼’è‚µ‚Ä‚¢‚éD
    258  *  ‚»‚¤‚Å‚È‚¢ê‡C2‚‚̒è‹`‚ªˆê’v‚µ‚È‚­‚È‚éD
     246 *  エラーコード生成・分解マクロ
     247 *
     248 *  以下のマクロ定義は,符号付き整数が2の補数で表現されており,右シフト
     249 *  演算子(>>)が算術シフトされることを仮定している.そうでない開発環
     250 *  境では,target_stddef.hでこれらの定義を上書きしなければならない.
     251 *
     252 *  MERCDマクロの定義は,メインエラーコードが負であることを仮定している.
     253 *  そうでない場合,2つの定義が一致しなくなる.
    259254 */
    260255#ifndef ERCD
     
    276271
    277272/*
    278  *  ƒAƒNƒZƒX‹–‰Âƒpƒ^[ƒ“¶¬ƒ}ƒNƒ
    279  */
    280 #define TACP(domid)             (1U << ((domid) - 1))   /* domid‚¾‚¯‚ɃAƒNƒZƒX‚ð‹–‰Â */
    281 
    282 /*
    283  *  ‘Š‘ÎŽžŠÔiRELTIMj‚ÉŽw’è‚Å‚«‚éÅ‘å’l
     273 *  アクセス許可パターン生成マクロ
     274 */
     275#define TACP(domid)             (1U << ((domid) - 1))   /* domidだけにアクセスを許可 */
     276
     277/*
     278 *  相対時間(RELTIM)に指定できる最大値
    284279 */
    285280#if UINT_MAX < LONG_MAX
  • UsbWattMeter/trunk/asp_dcre/include/t_stdlib.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    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  *              Šî–{“I‚ȃ‰ƒCƒuƒ‰ƒŠŠÖ”
     43 *              基本的なライブラリ関数
    4844 */
    4945
     
    5652
    5753/*
    58  *  ƒGƒ‰[ƒƒbƒZ[ƒW•¶Žš—ñ‚ð•Ô‚·ŠÖ”
     54 *  エラーメッセージ文字列を返す関数
    5955 *
    60  *  ercd‚ÅŽw’肳‚ꂽƒGƒ‰[ƒR[ƒh‚̃ƒCƒ“ƒGƒ‰[ƒR[ƒh‚Ì–¼ÌiE_PARC
    61  *  E_OBJ‚Ȃǁj‚Ì•¶Žš—ñ‚ð•Ô‚·ŠÖ”D
     56 *  ercdで指定されたエラーコードのメインエラーコードの名称(E_PAR,
     57 *  E_OBJなど)の文字列を返す関数.
    6258 */
    6359extern const char       *itron_strerror(ER ercd) throw();
    6460
    6561/*
    66  *  ƒGƒ‰[ƒƒbƒZ[ƒW‚̃ƒOo—Í
     62 *  エラーメッセージのログ出力
    6763 *
    68  *  ƒT[ƒrƒXƒR[ƒ‹‚ªƒGƒ‰[‚ð•Ô‚µ‚½ê‡‚ɁC‚»‚̃tƒ@ƒCƒ‹–¼Cs”ԍ†CƒƒC
    69  *  ƒ“ƒGƒ‰[ƒR[ƒh“™‚ð•\Ž¦‚·‚邽‚߂̊֐”D
     64 *  サービスコールがエラーを返した場合に,そのファイル名,行番号,メイ
     65 *  ンエラーコード等を表示するための関数.
    7066 */
    7167extern void             t_perror(uint_t prio, const char *file, int_t line,
  • UsbWattMeter/trunk/asp_dcre/include/t_syslog.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    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  *  ƒpƒPƒbƒgŒ`Ž®‚Ì’è‹`
     125 *  パケット形式の定義
    130126 */
    131127typedef struct t_syslog_rlog {
    132         uint_t  count;          /* ƒƒOƒoƒbƒtƒ@’†‚̃ƒO‚̐” */
    133         uint_t  lost;           /* Ž¸‚í‚ꂽƒƒO‚̐” */
    134         uint_t  logmask;        /* ƒƒOƒoƒbƒtƒ@‚É‹L˜^‚·‚ׂ«d—v“x */
    135         uint_t  lowmask;        /* ’჌ƒxƒ‹o—Í‚·‚ׂ«d—v“x */
     128        uint_t  count;          /* ログバッファ中のログの数 */
     129        uint_t  lost;           /* 失われたログの数 */
     130        uint_t  logmask;        /* ログバッファに記録すべき重要度 */
     131        uint_t  lowmask;        /* 低レベル出力すべき重要度 */
    136132} T_SYSLOG_RLOG;
    137133
    138134/*
    139  *  ƒƒOî•ñ‚ðo—Í‚·‚邽‚߂̃‰ƒCƒuƒ‰ƒŠŠÖ”
     135 *  ログ情報を出力するためのライブラリ関数
    140136 */
    141137
     
    233229
    234230/*
    235  *  ƒƒOî•ñiƒRƒƒ“ƒgj‚ðo—Í‚·‚邽‚߂̃‰ƒCƒuƒ‰ƒŠŠÖ”ivasyslog.cj
     231 *  ログ情報(コメント)を出力するためのライブラリ関数(vasyslog.c)
    236232 */
    237233extern void syslog(uint_t prio, const char *format, ...) throw();
     
    241237
    242238/*
    243  *  ƒVƒXƒeƒ€ƒƒOo—Í‚ð—}Ž~‚·‚éê‡
     239 *  システムログ出力を抑止する場合
    244240 */
    245241
     
    291287
    292288/*
    293  *  ƒƒOî•ñiƒRƒƒ“ƒgj‚ðo—Í‚·‚邽‚߂̃}ƒNƒ
    294  *
    295  *  format‚¨‚æ‚ь㑱‚̈ø”‚©‚çì¬‚µ‚½ƒƒbƒZ[ƒW‚ðCd‘å“xprio‚эƒOî
    296  *  •ñ‚Æ‚µ‚ďo—Í‚·‚邽‚߂̃}ƒNƒDarg1`argn‚Íintptr_tŒ^‚ɃLƒƒƒXƒg‚·‚é
    297  *  ‚½‚߁Cintptr_tŒ^‚ÉŒ^•ÏŠ·‚Å‚«‚é”CˆÓ‚ÌŒ^‚Å‚æ‚¢D
     289 *  ログ情報(コメント)を出力するためのマクロ
     290 *
     291 *  formatおよび後続の引数から作成したメッセージを,重大度prioでログ情
     292 *  報として出力するためのマクロ.arg1〜argnはintptr_t型にキャストする
     293 *  ため,intptr_t型に型変換できる任意の型でよい.
    298294 */
    299295
     
    324320
    325321/*
    326  *  ƒƒOî•ñiƒAƒT[ƒVƒ‡ƒ“‚ÌŽ¸”sj‚ðo—Í‚·‚邽‚߂̃}ƒNƒ
     322 *  ログ情報(アサーションの失敗)を出力するためのマクロ
    327323 */
    328324#ifndef TOPPERS_assert_fail
  • UsbWattMeter/trunk/asp_dcre/include/test_lib.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    66 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    77 *
    8  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    9  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    10  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    11  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    12  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    13  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    14  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    15  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    16 ƒƒ“ƒgi—˜—p
    17  *      ŽÒƒ}ƒjƒ
    18 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    19  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    20  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    21  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    22  *      ‚ƁD
    23  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    24 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    25 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    26  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    27  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    28  *        •ñ‚·‚邱‚ƁD
    29  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    30  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    31  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    32  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    33  *      –Ɛӂ·‚邱‚ƁD
     8 *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
     9 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     10 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     11 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     12 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     13 *      スコード中に含まれていること.
     14 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     15 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     16 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     17 *      の無保証規定を掲載すること.
     18 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     19 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     20 *      と.
     21 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     22 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     23 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     24 *        報告すること.
     25 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     26 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     27 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     28 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     29 *      免責すること.
    3430 *
    35  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    36  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    37  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    38  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    39  *  ‚̐ӔC‚𕉂í‚È‚¢D
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    4036 *
    4137 *  @(#) $Id$
     
    4339
    4440/*
    45  *              ƒeƒXƒgƒvƒƒOƒ‰ƒ€—pƒ‰ƒCƒuƒ‰ƒŠ
     41 *              テストプログラム用ライブラリ
    4642 */
    4743
     
    5652
    5753/*
    58  *  ƒ^[ƒQƒbƒgˆË‘¶‚Ì’è‹`
     54 *  ターゲット依存の定義
    5955 */
    6056#include "target_test.h"
    6157
    6258/*
    63  *      Ž©ŒÈf’fŠÖ”‚ÌŒ^
     59 *      自己診断関数の型
    6460 */
    6561typedef ER (*BIT_FUNC)(void);
    6662
    6763/*
    68  *      Ž©ŒÈf’fŠÖ”‚̐ݒè
     64 *      自己診断関数の設定
    6965 */
    7066extern void     set_bit_func(BIT_FUNC bit_func);
    7167
    7268/*
    73  *  ƒeƒXƒgƒvƒƒOƒ‰ƒ€‚ÌŠJŽn
     69 *  テストプログラムの開始
    7470 */
    7571extern void     test_start(char *progname);
    7672
    7773/*
    78  *  ƒVƒXƒeƒ€ƒƒO‚̏o—͏ˆ—
     74 *  システムログの出力処理
    7975 */
    8076extern void     syslog_flush(void);
    8177
    8278/*
    83  *      ƒeƒXƒgƒvƒƒOƒ‰ƒ€‚̏I—¹
     79 *      テストプログラムの終了
    8480 */
    8581extern void     test_finish(void);
    8682
    8783/*
    88  *      ƒ`ƒFƒbƒNƒ|ƒCƒ“ƒg
     84 *      チェックポイント
    8985 */
    9086extern void     check_point(uint_t count);
    9187
    9288/*
    93  *      Š®—¹ƒ`ƒFƒbƒNƒ|ƒCƒ“ƒg
     89 *      完了チェックポイント
    9490 */
    9591extern void     check_finish(uint_t count);
    9692
    9793/*
    98  *      ðŒƒ`ƒFƒbƒN
     94 *      条件チェック
    9995 */
    10096extern void     _check_assert(const char *expr, const char *file, int_t line);
     
    10399
    104100/*
    105  *      ƒGƒ‰[ƒR[ƒhƒ`ƒFƒbƒN
     101 *      エラーコードチェック
    106102 */
    107103extern void     _check_ercd(ER ercd, const char *file, int_t line);
     
    111107
    112108/*
    113  *      ƒVƒXƒeƒ€ó‘Ԃ̃`ƒFƒbƒN
     109 *      システム状態のチェック
    114110 */
    115111Inline void
     
    124120        if (!loc) {
    125121                /*
    126                  *  IPM‚̃`ƒFƒbƒN‚́CCPUƒƒbƒN‰ðœó‘Ԃ̏ꍇ‚ɂ̂ݍs‚¤D
     122                 *  IPMのチェックは,CPUロック解除状態の場合にのみ行う.
    127123                 */
    128124                ercd = get_ipm(&intpri);
     
    136132
    137133/*
    138  *      ƒVƒXƒeƒ€ó‘Ԃ̃`ƒFƒbƒNi”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg—pj
     134 *      システム状態のチェック(非タスクコンテキスト用)
    139135 */
    140136Inline void
Note: See TracChangeset for help on using the changeset viewer.