📄 datatype.h
字号:
#ifndef __DATATYPE_H
#define __DATATYPE_H
#define NULL 0
#define STATUS_ERR 1
#define STATUS_OK 0
typedef void (* PrVoid)(void);
typedef PrVoid (*PrPrVoid)(void);
#define INT32U unsigned int
#define INT32 int
#define INT32S signed int
#define INT16U unsigned short
#define INT16 short int
#define INT16S signed short
#define INT8U unsigned char
#define INT8 char
#define INT8S signed char
#define U8 unsigned char
#define U16 unsigned short
#define U32 unsigned int
#define S8 signed char
#define S16 signed short
#define S32 signed int
typedef unsigned char BOOLEAN;
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned int DWORD;
typedef float FP32;
typedef double FP64;
#define TRUE 1
#define FALSE 0
#define OK 1
#define FAIL 0
#define FileEnd 1
#define NotEnd 0
//After ES3, this define does not need
#define SET_INTMSK_IRQ(n) while(1)\
{\
rI_ISPC=(n);\
rINTMSK|=(n);\
if(rI_ISPR==(n))\
rINTMSK&=~(n);\
else\
break;\
}
typedef struct{
U16 year;
U8 month;
U8 day;
U8 weekday;
U8 hour;
U8 min;
U8 sec;
}TIME_STRUC;
#define outportb(port, data) *((volatile U8 *)(port)) = (U8)(data)
#define outportw(port, data) *((volatile U16 *)(port)) = (U16)(data)
#define outport(port, data) *((volatile U32 *)(port)) = (U32)(data)
#define inportb(port) *((volatile U8 *)(port))
#define inportw(port) *((volatile U16 *)(port))
#define inport(port) *((volatile U32 *)(port))
#define SIZE_1K 0x00000400
#define SIZE_2K 0x00000800
#define SIZE_4K 0x00001000
#define SIZE_8K 0x00002000
#define SIZE_16K 0x00004000
#define SIZE_32K 0x00008000
#define SIZE_64K 0x00010000
#define SIZE_128K 0x00020000
#define SIZE_256K 0x00040000
#define SIZE_512K 0x00080000
#define SIZE_1M 0x00100000
#define SIZE_2M 0x00200000
#define SIZE_4M 0x00400000
#define SIZE_8M 0x00800000
#define SIZE_16M 0x01000000
#define SIZE_32M 0x02000000
#define SIZE_64M 0x04000000
#define SIZE_128M 0x08000000
#define SIZE_256M 0x10000000
#define SIZE_512M 0x20000000
#define SIZE_1G 0x40000000
#define SIZE_2G 0x80000000
struct Partition{
U32 offset;
U32 size;
char *name;
};
typedef struct {
unsigned char flag[8];
struct {
unsigned long ip;
unsigned long mask;
unsigned long gate;
}nic_cfg;
unsigned long baud;
unsigned int current_uart;
unsigned long clk_para[4];
unsigned long prog_s_addr;
unsigned long prog_r_addr;
struct Partition NandPartition[8];
unsigned char boot_params[256];
unsigned long boot_key;
unsigned long saved_in;
unsigned long initrd_addr;
unsigned long machine;
}EnvParams;
#define ENTER_KEY 0x0d
#define BACK_KEY 0x08
#define ESC_KEY 0x1b
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -