blob: 31393d17a9c1f968288557e0d96d52264d8bfb53 [file] [log] [blame]
Mark A. Greerb2c5f612006-09-19 14:05:08 +10001#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;
Geoff Levand72d06892007-06-16 08:06:28 +100010typedef signed char s8;
11typedef short s16;
12typedef int s32;
13typedef long long s64;
Mark A. Greerb2c5f612006-09-19 14:05:08 +100014
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_ */