📄 ostype.h
字号:
/*****************************************************************************
FILE NAME: ostype.h
DESCRIPTION:
Copyright (c) 2002, VIA Technologies, Inc.
*****************************************************************************/
#ifndef __ostype_h__
#define __ostype_h__
#include "fsmdefs.h"
/*======================== MEMORY SERVICE =======================*/
uint32 FsmMemInit(void * start, uint32 size);
uint32 FsmMemExit(void);
void * FsmMalloc(uint32 size);
void * FsmTryMalloc(uint32 size);
uint32 FsmFree(void *mem_ptr);
uint32 FsmMemAvailable(uint32 * available);
void FsmMemoryMove(uint8 * pDst, const uint8 * pSrc, uint32 num_bytes);
void FsmMemorySet(uint8 * buf, uint8 byte_value, uint32 bytes);
/*======================== TIME SERVICE =========================*/
uint32 FsmGetCurrentTime(void);
/*====================== SEMAPHORE SERVICE ======================*/
#if (OS_TYPE == OS_NUCLEUS)
typedef NU_SEMAPHORE BinSemT;
typedef NU_SEMAPHORE * HBSEM;
typedef NU_TASK * HTASK;
typedef /*PACKED*/ struct
{
HTASK hOwnerTask;
BinSemT BinSem;
uint16 OwnCount;
} MtxSemT;
typedef MtxSemT * HMSEM;
typedef void (*TASK_ENTRY)(UNSIGNED, void *);
typedef /*PACKED*/ struct
{
NU_TASK TaskCB;
VOID * pStack;
} FsmTaskInfoT;
typedef FsmTaskInfoT * HFSMTASK;
#else
typedef HANDLE HBSEM;
typedef HANDLE HMSEM;
typedef HANDLE HFSMTASK;
#endif
extern HBSEM FsmCreateBinSem(uint8 state);
extern uint32 FsmDeleteBinSem(HBSEM hBinSem);
extern uint32 FsmReleaseBinSem(HBSEM hBinSem);
extern uint32 FsmGetBinSemTry(HBSEM hBinSem);
extern uint32 FsmGetBinSem(HBSEM hBinSem);
extern uint32 FsmGetBinSemTimeout(HBSEM hBinSem, uint32 time_out);
HMSEM FsmCreateMtxSem(uint8 state);
uint32 FsmDeleteMtxSem(HMSEM hMtxSem);
uint32 FsmReleaseMtxSem(HMSEM hMtxSem);
uint32 FsmGetMtxSemTry(HMSEM hMtxSem);
uint32 FsmGetMtxSem(HMSEM hMtxSem);
#if (OS_TYPE == OS_NUCLEUS)
#define TASK_SLEEP(a) NU_Sleep(a)
#define GET_CURRENT_TASK() NU_Current_Task_Pointer()
#define DISABLE_INTERRUPTS() SysIntDisable(SYS_ALL_INT);
#define ENABLE_INTERRUPTS() SysIntEnable(SYS_ALL_INT);
#else
#define TASK_SLEEP(a) Sleep((a) * 10)
#endif
HFSMTASK FsmCreateTask(char * Name, uint32 Priority, uint32 stack_size, uint32 task_entry);
uint32 FsmDeleteTask(HFSMTASK pTaskInfo);
#endif /*__ostype_h__*/
/*****************************************************************************
* $Log: Ostype.h $
* Revision 1.3 2004/03/17 12:58:39 zgy
* Revision 1.7 2004/03/16 15:59:45 jjs
* Revision 1.6 2003/10/15 18:24:33 jjs
* Revision 1.5 2003/09/14 16:56:33 jjs
* Revision 1.4 2003/09/12 17:24:36 jjs
* Revision 1.3 2003/09/12 14:03:45 jjs
* Revision 1.2 2003/09/09 19:48:19 jjs
* Added WINDOWS support for testing.
* Revision 1.1 2003/09/09 15:09:24 jjs
* Initial revision
*****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -