?? os_macin.h
字號:
/**************** os_macIn.h**************/
/* MacroStar 1.0a */
/* Zhengyuquan,2003.7,Beijing */
/* All rights reserved */
/****************************************/
#if !(__COMMON_DEF_)
#define __COMMON_DEF_
#include <dos.h>
enum ErrorType
{
NO_ERROR =0,
WAIT_INVALID_EVENT =1, /*os_WaitEvent :無效的事件對象句柄*/
SET_INVALID_EVENT =2, /*os_SetEvent :無效的事件對象句柄*/
RESET_INVALID_EVENT =3, /*os_ResetEvent :無效的事件對象句柄*/
SET_EVENT_MODE =4, /*os_SetEvent :無效的復位模式,請使用AUTO_RESET or HANDLE_RESET模式*/
WAIT_INVALID_SEMAPHORE =5, /*os_WaitSemaphore :無效的信標對象句柄*/
RELE_INVALID_SEMAPHORE =6, /*os_ReleaseSemaphore :無效的信標對象句柄*/
RELE_SEMA_TO_NULL =7, /*os_ReleaseSemaphore :等待該信號的-個任務已不復存在*/
RESUME_INVALID_TASK =8, /*os_Resume :任務不存在*/
WAIT_INVALID_OBJECT =9, /*os_WaitObjectTimeOut:無效的對象句柄*/
KILL_INVALID_HTIMER =10, /*os_KillTimer :無效的定時器句柄*/
SET_INVALID_TIMERID =11, /*os_SetTimer :定時器ID不合法,有效值為0-31*/
POST_INVALID_MSG =12, /*os_PostMessage :無效的消息值, 有效值為0-31*/
SEND_INVALID_MSG =13, /*os_SendMessage :無效的消息值, 有效值為0-31*/
SET_INVALID_PRIORITY =14, /*os_SetStaticPriority:無效的靜態優先級,有效值為0-14*/
TASK_ID_IS_USED =15, /*os_CreateTask*/
TASK_PRIO_IS_USED =16, /*os_CreateTask*/
DEL_NULL_OBJECT =17 /*os_DeleteObject*/
};
enum WorningType
{
NO_WARNING =0,
KILL_INVALID_TASK =1, /*os_Kill :任務不存在*/
NOTIFY_NULL =2, /*os_Notify :任務不存在*/
POST_MSG_TO_NULL =3, /*os_PostMessage :任務不存在*/
SEND_MSG_TO_NULL =4, /*os_SendMessage :任務不存在*/
KILL_UNUSED_TIMER =5, /*os_KillTimer :該定時器并未使用*/
DEL_WAITING_OBJECT =6, /*os_DeleteObject*/
REQ_INVALID_EVENT =7, /*os_RequireEevent*/
REQ_INVALID_SEMAPHORE =8 /*os_RequireSemaphore*/
};
enum ObjectType
{
EVENT_OBJECT,
SEMAPHORE_OBJECT
};
enum
{
os_false =0,
os_true =1
};
enum ResetEventMode
{
AUTO_RESET =0,
HANDLE_RESET =1
};
enum WairObjectRet
{
NOT_ENOUGH_TIMER,
WAIT_SUCCESS,
WAIT_TIME_OUT
};
#define MAX_PRIORITY_NUM 16
#define MAX_TASK_NUM 16
#define MAX_TIMER_NUM 16
#define MAX_OBJECT_NUM 16
#define SYSTEM_QUIT 0
#define SLEEP_ID 64
#define NULL_HOBJECT 0
#define NULL_HEVENT 0
#define NULL_HSEMAPHORE 0
#define NULL_OBJECT 0
#define NULL_TIMER 0xFF
#define HIGHBYTE( int_16_var ) *( (uchar*)(&int_16_var) + 1)
#define LOWBYTE( int_16_var ) *( (uchar*)(&int_16_var) )
#define LOCK_INT( ) disable( )
#define UNLOCK_INT( ) enable( )
#define LOCK_SCHEDULE( ) os_nLayers++
#define UNLOCK_SCHEDULE( ) os_nLayers--
#define LOCK_INT_EX( ) disable( )
#define UNLOCK_INT_EX( ) enable( )
#ifdef _DEBUG
extern void _FAR os_ASSERT( int e,int errorType);
extern void _FAR os_WARNING( int e,int warningType);
#else
#define os_ASSERT( e,errorType )
#define os_WARNING(e,worningType)
#endif
#define os_GetCurrentTaskId( ) (int)(os_pCurTCB-os_tcbs)
#define os_SetSwitchFlag( ) os_flag|=0x01;
#define ENTER_CRITICAL_SEG( ) LOCK_SCHEDULE( )
#define LEAVE_CRITICAL_SEG( ) \
{\
UNLOCK_SCHEDULE( );\
if( os_flag&0x01 )os_Schedule( );\
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -