⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p_types.h

📁 pencil嵌入式系统开发包
💻 H
字号:
#ifndef _TYPES_H_
#define _TYPES_H_

#ifndef _SIZE_T
#define _SIZE_T
typedef unsigned int size_t;
#endif

#ifndef _SSIZE_T
#define _SSIZE_T
typedef int ssize_t;
#endif

/* Macros. */
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
#define MIN(a, b)   ((a) < (b) ? (a) : (b))

#define HIBYTE( w )    ( (uchar)((ushort)(w) >> 8) )
#define LOBYTE( w )    ( (uchar)(w) )
#define MAKEWORD(l,h)  ((ushort) ((uchar)(l)) | (((ushort)((uchar)(h))) << 8))

#define HIWORD( d )    ( (ushort)((ulong)(d) >> 16) )
#define LOWORD( d )    ( (ushort)(d) )
#define MAKEDWORD(l,h)  ((ulong) ((ushort)(l)) | (((ulong)((ushort)(h))) << 8))

#ifndef _HANDLE_T
#define _HANDLE_T
typedef unsigned short handle_t;
#endif

#ifndef _PROC_ADDR_T
#define _PROC_ADDR_T
typedef unsigned proc_addr_t;
#endif

#ifndef _CLOCK_T
#define _CLOCK_T
typedef long clock_t;		   /* used for timer minisecond */
#endif

#ifndef _TIMER_T
#define _TIMER_T
typedef int timer_t;		   /* used for timer index */
#endif

#ifndef _ROOM_T
#define _ROOM_T
typedef int room_t;		   /* used for room index */
#endif

#ifndef _BOOL_T
#define _BOOL_T
typedef	int		bool_t;
#define FALSE 0
#define TRUE  1
#endif

#ifndef _PID_T
#define _PID_T
typedef int       pid_t;	   /* process id (must be signed), or group id */
#define MAX_PID	0x7ffb
#define MY_PID	0x7ffc
#define ANY_PID	0x7ffd
#define HARDWARE_PID 0x7ffe
#define ERROR_PID 0x7fff
#endif

#ifndef _SCHED_T
#define _SCHED_T
typedef int		sched_t;	/* schedule mode, it is must one of following*/
#define ERROR_SCHED -1
#define	SCHED_FIFO		0
#define SCHED_RR		1
#define sched_ok(sched) ((sched)==0 || (sched)==1)
#endif

#ifndef _PRIO_T
#define _PRIO_T
/* priority level, it is must be 1 to 16, for usually, 0 present itself
1~6:	sharing time
7~10:	system
11~16:	real time  */
typedef int		prio_t;		
#define ERROR_PRIO -1
#define	prio_is_share(pri_nr)		((pri_nr)>0 && (pri_nr)<=6)
#define	prio_is_system(pri_nr)		((pri_nr)>=7 && (pri_nr)<=10)
#define	prio_is_realtime(pri_nr)	((pri_nr)>=11 && (pri_nr)<=16)
#define prio_is_user(pri_nr) (prio_is_share(pri_nr) || prio_is_realtime(pri_nr))
#define prio_is_ok(pri_nr) ((pri_nr)>0 && (pri_nr)<17)
#endif

typedef unsigned char   uchar;	/* 8 bit type */
typedef unsigned short	ushort; /* 16 bit type */
typedef unsigned int	uint;
typedef unsigned long	ulong;	/* 32 bit type */

typedef unsigned char   u8_t;	   /* 8 bit type */
typedef unsigned short u16_t;	   /* 16 bit type */
typedef unsigned long  u32_t;	   /* 32 bit type */

typedef char            i8_t;      /* 8 bit signed type */
typedef short          i16_t;      /* 16 bit signed type */
typedef long           i32_t;      /* 32 bit signed type */

#endif /* _TYPES_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -