www.pudn.com > hos-v4_os.rar > knl_sys.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_sys_h__
#define __HOS_V4__knl_sys_h__
#include "knl_hos.h"
#include "knl_tsk.h"
/* ------------------------------------------ */
/* 定数定義 */
/* ------------------------------------------ */
/* バージョン情報 */
#define TKERNEL_MAKER 0x0008 /* メーカーコード(個人) */
#define TKERNEL_PRID 0x0000 /* カーネルの識別番号(未定) */
#define TKERNEL_SPVER 0x5401 /* ITRON仕様のバージョン(μITRON Ver 4.01) */
#define TKERNEL_PRVER 0x0100 /* カーネルのバージョン番号 (HOS-V4 Ver 1.00) */
/* ------------------------------------------ */
/* 型定義 */
/* ------------------------------------------ */
/* バージョン情報 */
typedef struct t_rver
{
UH maker; /* カーネルのメーカーコード */
UH prid; /* カーネルの識別番号 */
UH spver; /* ITRON仕様のバージョン情報 */
UH prver; /* カーネルのバージョン番号 */
UH prno[4]; /* カーネル製品の管理情報 */
} T_RVER;
/* ------------------------------------------ */
/* 関数宣言 */
/* ------------------------------------------ */
#ifdef __cplusplus
extern "C" {
#endif
/* システム状態管理機能 */
ER rot_rdq(PRI tskpri); /* タスク優先順位の回転 */
#define irot_rdq rot_rdq /* タスク優先順位の回転(非タスクコンテキスト用マクロ) */
ER get_tid(ID *p_tskid); /* 実行状態タスクIDの参照 */
ID kernel_get_tid(T_KERNEL_TCB_RAM *tcb_ram); /* タスクIDの取得(カーネル内部関数) */
ER loc_cpu(void); /* CPUロック状態への移行 */
#define iloc_cpu loc_cpu /* CPUロック状態への移行(非タスクコンテキスト用マクロ) */
ER unl_cpu(void); /* CPUロック状態の解除 */
#define iunl_cpu unl_cpu /* CPUロック状態の解除(非タスクコンテキスト用マクロ) */
ER dis_dsp(void); /* ディスパッチの禁止 */
ER ena_dsp(void); /* ディスパッチの許可 */
BOOL sns_ctx(void); /* コンテキストの参照 */
BOOL sns_loc(void); /* CPUロック状態の参照 */
BOOL sns_dsp(void); /* ディスパッチ禁止状態の参照 */
BOOL sns_dpn(void); /* ディスパッチ保留状態の参照 */
/* システム構成管理機能 */
ER ref_ver(T_RVER *pk_rver); /* バージョン番号の参照 */
#ifdef __cplusplus
}
#endif
#endif /* __HOS_V4__knl_sys_h__ */
/* ------------------------------------------------------------------------ */
/* Copyright (C) 1998-2002 by Project HOS */
/* ------------------------------------------------------------------------ */