source: ssp_qb_r5f100le_cs/trunk/extension/time_event.h@ 95

Last change on this file since 95 was 95, checked in by nmir-saito, 9 years ago

ファイルの mime-type 変更

  • Property svn:mime-type set to text/plain; charset=shift_jis
File size: 2.9 KB
Line 
1/*
2 * TOPPERS/SSP Kernel
3 * Smallest Set Profile Kernel
4 *
5 * Copyright (C) 2011 by Meika Sugimoto
6 *
7 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ
8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・
9 * 再配布(以下,利用と呼ぶ)することを無償で許諾する.
10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権
11 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース
12 * コード中に含まれていること.
13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用
14 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ
15 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保
16 * 証規定を掲載すること.
17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用
18 * できない形で再配布する場合には,次のいずれかの条件を満たすこと.
19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作
20 * 権表示,この利用条件および下記の無保証規定を掲載すること.
21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報
22 * 告すること.
23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
24 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また,
25 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
26 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
27 *
28 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ
29 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す
30 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用
31 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負
32 * わない.
33 *
34 */
35
36#ifndef TOPPERS_TIME_EVENT_H
37#define TOPPERS_TIME_EVENT_H
38
39#include "kernel_impl.h"
40#include "queue.h"
41
42/* イベント時刻 */
43typedef ulong_t EVTTIM;
44
45/*
46 * タイムイベントコールバック関数
47 */
48
49typedef void (*CBACK)(uintptr_t arg);
50
51/*
52 * タイムイベントブロック
53 *
54 * コンフィギュレータによって生成する.
55 */
56
57/* タイムイベントブロックのサイズ */
58extern const uint_t tnum_tmevt_queue;
59
60/* タイムイベントキュー */
61extern QUEUE tmevt_queue[];
62
63/* タイムイベント時間 */
64extern EVTTIM tmevt_time[];
65
66/* タイムイベントのコールバック */
67extern CBACK tmevt_callback[];
68
69/* タイムイベントコールバックの引数 */
70extern uintptr_t tmevt_arg[];
71
72
73/* 現在のシステム時刻 */
74extern EVTTIM current_time;
75
76
77/*
78 * タイムイベントの初期化
79 */
80extern void
81initialize_time_event(void);
82
83/*
84 * タイムイベントの登録
85 */
86extern void
87time_event_enqueue(ID tmevtid , EVTTIM evttim , CBACK callback , uintptr_t arg);
88
89/*
90 * タイムイベントの削除
91 */
92extern void
93time_event_dequeue(ID tmevtid);
94
95/*
96 * タイムティックの供給
97 */
98extern void
99signal_time(void);
100
101
102#endif /* TOPPERS_TIME_EVENT_H */
Note: See TracBrowser for help on using the repository browser.