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 | ) |