#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);
	
typedef	unsigned char U8;
typedef unsigned short U16;
typedef unsigned int U32;
typedef	signed char S8;
typedef signed short S16;
typedef signed int S32;

typedef	unsigned char	BYTE;
typedef unsigned short	WORD;
typedef unsigned int		DWORD;

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	ENTER_KEY	0x0d
#define	BACK_KEY	0x08
#define	ESC_KEY		0x1b

#endif