1#ifndef _TYPES_H_
2#define _TYPES_H_
3
4#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
5
6typedef unsigned char		u8;
7typedef unsigned short		u16;
8typedef unsigned int		u32;
9typedef unsigned long long	u64;
10typedef signed char		s8;
11typedef short			s16;
12typedef int			s32;
13typedef long long		s64;
14
15#define min(x,y) ({ \
16	typeof(x) _x = (x);	\
17	typeof(y) _y = (y);	\
18	(void) (&_x == &_y);	\
19	_x < _y ? _x : _y; })
20
21#define max(x,y) ({ \
22	typeof(x) _x = (x);	\
23	typeof(y) _y = (y);	\
24	(void) (&_x == &_y);	\
25	_x > _y ? _x : _y; })
26
27#endif /* _TYPES_H_ */
28