Ignore:
Timestamp:
Jul 23, 2017, 2:29:40 PM (7 years ago)
Author:
coas-nagasima
Message:

SVNプロパティを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rubycfg_asp/trunk/asp_dcre/kernel/time_event.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r313 r315  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    11  *  上記著作権è€
    12 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    13  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    14  *  変・再é
    15 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    16  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    17  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    18  *      スコード中に含まれていること.
    19  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    20  *      用できる形で再é
    21 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    22 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    23  *      è€
    24 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    25  *      の無保証規定を掲載すること.
    26  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    27  *      用できない形で再é
    28 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    29  *      と.
    30  *    (a) 再é
    31 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    32 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    33  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    34  *    (b) 再é
    35 å¸ƒã®å½¢æ
    36 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    37  *        報告すること.
    38  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    39  *      害からも,上記著作権è€
    40 ãŠã‚ˆã³TOPPERSプロジェクトをå
    41 è²¬ã™ã‚‹ã“と.
    42  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    43  *      由に基づく請求からも,上記著作権è€
    44 ãŠã‚ˆã³TOPPERSプロジェクトを
    45  *      å
    46 è²¬ã™ã‚‹ã“と.
    47  *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     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 *      免責すること.
     33 *
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              タイムイベント管理モジュール
     44 *              タイムイベント管理モジュール
    6045 */
    6146
     
    6449
    6550/*
    66  *  イベント発生時刻のデータ型の定義
    67  *
    68  *  EVTTIMは,RELTIMとして指定できる範囲よりも広い範囲を表現できるå¿
    69 è¦
    70  *  がある.μITRON4.0仕様のスタンダードプロファイルでは,RELTIMが16ビッ
    71  *  ト以上でなければならないため,EVTTIMは17ビット以上であることがå¿
    72 è¦
    73  *  である.そのため,16ビットになる場合があるuint_tではなく,ulong_tに
    74  *  定義している.
     51 *  イベント発生時刻のデータ型の定義
     52 *
     53 *  EVTTIMは,RELTIMとして指定できる範囲よりも広い範囲を表現できる必要
     54 *  がある.μITRON4.0仕様のスタンダードプロファイルでは,RELTIMが16ビッ
     55 *  ト以上でなければならないため,EVTTIMは17ビット以上であることが必要
     56 *  である.そのため,16ビットになる場合があるuint_tではなく,ulong_tに
     57 *  定義している.
    7558 */
    7659typedef ulong_t EVTTIM;
    7760
    7861/*
    79  *  タイムイベントブロックのデータ型の定義
    80  */
    81 typedef void    (*CBACK)(void *);       /* コールバック関数の型 */
     62 *  タイムイベントブロックのデータ型の定義
     63 */
     64typedef void    (*CBACK)(void *);       /* コールバック関数の型 */
    8265
    8366typedef struct time_event_block {
    84         uint_t  index;                  /* タイムイベントヒープ中での位置 */
    85         CBACK   callback;               /* コールバック関数 */
    86         void    *arg;                   /* コールバック関数へ渡す引数 */
     67        uint_t  index;                  /* タイムイベントヒープ中での位置 */
     68        CBACK   callback;               /* コールバック関数 */
     69        void    *arg;                   /* コールバック関数へ渡す引数 */
    8770} TMEVTB;
    8871
    8972/*
    90  *  タイムイベントヒープ中のノードのデータ型の定義
     73 *  タイムイベントヒープ中のノードのデータ型の定義
    9174 */
    9275typedef struct time_event_node {
    93         EVTTIM  time;                   /* イベント発生時刻 */
    94         TMEVTB  *p_tmevtb;              /* 対応するタイムイベントブロック */
     76        EVTTIM  time;                   /* イベント発生時刻 */
     77        TMEVTB  *p_tmevtb;              /* 対応するタイムイベントブロック */
    9578} TMEVTN;
    9679
    9780/*
    98  *  タイムイベントヒープ(kernel_cfg.c)
     81 *  タイムイベントヒープ(kernel_cfg.c)
    9982 */
    10083extern TMEVTN   tmevt_heap[];
    10184
    10285/*
    103  *  現在のシステム時刻(単位: 1ミリ秒)
    104  *
    105  *  システム起動時に0に初期化され,以降,タイムティックが供給される度に
    106  *  単調に増加する.
     86 *  現在のシステム時刻(単位: 1ミリ秒)
     87 *
     88 *  システム起動時に0に初期化され,以降,タイムティックが供給される度に
     89 *  単調に増加する.
    10790 */
    10891extern EVTTIM   current_time;
    10992
    11093/*
    111  *  タイムイベントヒープ中で有効な最小のシステム時刻(単位: 1ミリ秒)
     94 *  タイムイベントヒープ中で有効な最小のシステム時刻(単位: 1ミリ秒)
    11295 */
    11396extern EVTTIM   min_time;
    11497
    11598/*
    116  *  次のタイムティックのシステム時刻(単位: 1ミリ秒)
     99 *  次のタイムティックのシステム時刻(単位: 1ミリ秒)
    117100 */
    118101extern EVTTIM   next_time;
    119102
    120103/*
    121  *  システム時刻積算用変数(単位: 1/TIC_DENOミリ秒)
    122  *
    123  *  次のタイムティックのシステム時刻の下位桁を示す(上位桁はnext_time).
    124  *  TIC_DENOが1の時は,下位桁は常に0であるため,この変数はå¿
    125 è¦ãªã„.
     104 *  システム時刻積算用変数(単位: 1/TIC_DENOミリ秒)
     105 *
     106 *  次のタイムティックのシステム時刻の下位桁を示す(上位桁はnext_time).
     107 *  TIC_DENOが1の時は,下位桁は常に0であるため,この変数は必要ない.
    126108 */
    127109#if TIC_DENO != 1U
     
    130112
    131113/*
    132  *  相対時間の基準時刻(単位: 1ミリ秒)
    133  *
    134  *  次のタイムティックのシステム時刻を切り上げた時刻.TIC_DENOが1の時
    135  *  は,next_timeに一致する.
     114 *  相対時間の基準時刻(単位: 1ミリ秒)
     115 *
     116 *  次のタイムティックのシステム時刻を切り上げた時刻.TIC_DENOが1の時
     117 *  は,next_timeに一致する.
    136118 */
    137119#if TIC_DENO == 1U
     
    142124
    143125/*
    144  *  タイムイベントヒープの最後の使用領域のインデックス
    145  *
    146  *  タイムイベントヒープに登録されているタイムイベントの数に一致する.
     126 *  タイムイベントヒープの最後の使用領域のインデックス
     127 *
     128 *  タイムイベントヒープに登録されているタイムイベントの数に一致する.
    147129 */
    148130extern uint_t   last_index;
    149131
    150132/*
    151  *  タイムイベント管理モジュールの初期化
     133 *  タイムイベント管理モジュールの初期化
    152134 */
    153135extern void     initialize_tmevt(void);
    154136
    155137/*
    156  *  タイムイベントの挿å
    157 ¥ä½ç½®ã®æŽ¢ç´¢
     138 *  タイムイベントの挿入位置の探索
    158139 */
    159140extern uint_t   tmevt_up(uint_t index, EVTTIM time);
     
    161142
    162143/*
    163  *  タイムイベントヒープへの登録と削除
     144 *  タイムイベントヒープへの登録と削除
    164145 */
    165146extern void     tmevtb_insert(TMEVTB *p_tmevtb, EVTTIM time);
     
    167148
    168149/*
    169  *  タイムイベントブロックの登録(相対時間指定)
    170  *
    171  *  timeで指定した相対時間が経過した後に,argを引数としてcallbackが呼
    172  *  び出されるように,p_tmevtbで指定したタイムイベントブロックを登録す
    173  *  る.
     150 *  タイムイベントブロックの登録(相対時間指定)
     151 *
     152 *  timeで指定した相対時間が経過した後に,argを引数としてcallbackが呼
     153 *  び出されるように,p_tmevtbで指定したタイムイベントブロックを登録す
     154 *  る.
    174155 * 
    175156 */
     
    185166
    186167/*
    187  *  タイムイベントブロックの登録(イベント発生時刻指定)
    188  *
    189  *  timeで指定したイベント発生時刻に,argを引数としてcallbackが呼び出
    190  *  されるように,p_tmevtbで指定したタイムイベントブロックを登録する.
     168 *  タイムイベントブロックの登録(イベント発生時刻指定)
     169 *
     170 *  timeで指定したイベント発生時刻に,argを引数としてcallbackが呼び出
     171 *  されるように,p_tmevtbで指定したタイムイベントブロックを登録する.
    191172 */
    192173Inline void
     
    199180
    200181/*
    201  *  タイムイベントブロックの登録解除
     182 *  タイムイベントブロックの登録解除
    202183 */
    203184Inline void
     
    208189
    209190/*
    210  *  タイムイベントまでの残り時間の計算
     191 *  タイムイベントまでの残り時間の計算
    211192 */
    212193extern RELTIM   tmevt_lefttim(TMEVTB *p_tmevtb);
    213194
    214195/*
    215  *  タイムティックの供給
     196 *  タイムティックの供給
    216197 */
    217198extern void     signal_time(void);
Note: See TracChangeset for help on using the changeset viewer.