|
GadgetSeed
0.9.6
|
システムイベント [詳解]
#include "sysconfig.h"#include "tkprintf.h"#include "sysevent.h"#include "timer.h"#include "task/syscall.h"#include "task/task.h"#include "task/event.h"#include "dkprintf.h"
マクロ定義 | |
| #define | GSC_KERNEL_MAX_SYSTEMEVENT_COUNT 8 |
| $gsc システムイベントの最大バッファ数 | |
| #define | GSC_KERNEL_SYSTEMEVENT_LIFE_TIME 3000 |
| $gsc システムイベントの寿命(msec) | |
| #define | GSC_KEY_REPEAT_START_TIME 500 |
| $gsc キーリピート開始までの時間(msec) | |
| #define | GSC_KEY_REPEAT_INTERVAL_TIME 50 |
| $gsc キーリピート間隔時間(msec) | |
関数 | |
| void | init_event (void) |
| 全てのシステムイベントバッファのイベントを初期化(削除)する | |
| int | set_event (struct st_sysevent *event) |
| システムイベントを登録する [詳解] | |
| void | push_event_interrupt (void *sp, struct st_sysevent *event) |
| 割り込みハンドラからシステムイベントを登録する [詳解] | |
| void | set_event_interrupt (void *sp) |
| 割り込みハンドラからシステムイベント待ちタスクを起床する [詳解] | |
| int | create_event (unsigned short what, unsigned short arg, void *private_data) |
| システムイベントを作成し、追加する [詳解] | |
| int | get_event (struct st_sysevent *event, unsigned int timeout) |
| システムイベントを待つ [詳解] | |
変数 | |
| static struct st_event | evtque |
| static struct st_sysevent | event_buf [GSC_KERNEL_MAX_SYSTEMEVENT_COUNT+1] |
| イベントバッファ | |
| static unsigned short | last_key |
| 最後に押されたキー | |
| static unsigned int | key_repeat_start_time |
| キーリピート開始までの時間 | |
| static unsigned int | key_repeat_start_count |
| キーリピート開始カウンタ | |
| static unsigned int | key_repeat_flg |
| キーリピート開始フラグ | |
| static unsigned int | key_repeat_int_time |
| キーリピート間隔時間 | |
| static unsigned long long | key_repeat_int_count |
| キーリピート時間カウンタ | |
| int create_event | ( | unsigned short | what, |
| unsigned short | arg, | ||
| void * | private_data | ||
| ) |
システムイベントを作成し、追加する
| what | システムイベントの種類 |
| arg | システムイベントの引数 |
sysevent.c の 172 行目に定義があります。
参照先 st_sysevent::arg, set_event(), st_sysevent::what.

| int get_event | ( | struct st_sysevent * | event, |
| unsigned int | timeout | ||
| ) |
システムイベントを待つ
| event | 取得したシステムイベント |
| timeout | システムイベント取得タイムアウト時間 |
sysevent.c の 195 行目に定義があります。
参照先 event_wait().

| void push_event_interrupt | ( | void * | sp, |
| struct st_sysevent * | event | ||
| ) |
| int set_event | ( | struct st_sysevent * | event | ) |
システムイベントを登録する
| event | 登録するシステムイベント |
sysevent.c の 128 行目に定義があります。
参照元 create_event().

| void set_event_interrupt | ( | void * | sp | ) |