www.pudn.com > hos-v4_os.rar > knl_tim.h
/* ------------------------------------------------------------------------ */
/* Hyper Operating System V4 μITRON4.0仕様 Real-Time OS */
/* カーネル依存情報定義ヘッダ 時間管理 */
/* */
/* Copyright (C) 1998-2002 by Project HOS */
/* http://sourceforge.jp/projects/hos/ */
/* ------------------------------------------------------------------------ */
#ifndef __HOS_V4__knl_tim_h__
#define __HOS_V4__knl_tim_h__
#include "knl_hos.h"
/* ------------------------------------------ */
/* 型定義 */
/* ------------------------------------------ */
/* タイマオブジェクト構造体 */
typedef struct t_kernel_tim
{
struct t_kernel_tim *next;
struct t_kernel_tim *prev;
FP timhdr;
} T_KERNEL_TIM;
/* ---------------------------------- */
/* グローバル変数宣言 */
/* ---------------------------------- */
/* システム時刻管理 */
extern const UW kernel_tic_deno; /* コンフィギュレーションで TIC_DENO を設定 */
extern const UW kernel_tic_div; /* コンフィギュレーションで TIC_NUME / TIC_DENO を設定 */
extern const UW kernel_tic_mod; /* コンフィギュレーションで TIC_NUME % TIC_DENO を設定 */
extern UW kernel_tic_cnt; /* タイムティック用カウンタ */
extern SYSTIM kernel_systim; /* システム時刻 */
/* タイマリスト管理 */
extern T_KERNEL_TIM *kernel_tml_head; /* タイマリスト先頭位置 */
extern T_KERNEL_TIM *kernel_tml_ptr; /* タイマリストポインタ */
/* ------------------------------------------ */
/* 関数宣言 */
/* ------------------------------------------ */
#ifdef __cplusplus
extern "C" {
#endif
/* システム時刻管理 */
void kernel_ini_tim(void); /* 時間管理機能の初期化 */
ER set_tim(const SYSTIM *p_systim); /* システム時刻の設定 */
ER get_tim(SYSTIM *p_systim); /* システム時刻の取得 */
ER isig_tim(void); /* タイムティックの供給 */
/* タイマリスト操作 */
void kernel_add_tml(T_KERNEL_TIM *timobj); /* タイマオブジェクトのリストへの追加 */
void kernel_rmv_tml(T_KERNEL_TIM *timobj); /* タイマオブジェクトのリストからの削除 */
#ifdef __cplusplus
}
#endif
#endif /* __HOS_V4__knl_tim_h__ */
/* ------------------------------------------------------------------------ */
/* Copyright (C) 1998-2002 by Project HOS */
/* ------------------------------------------------------------------------ */