Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
types.h
Go to the documentation of this file.
1 #ifndef _TYPES_H_
2 #define _TYPES_H_
3 
4 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
5 
6 typedef unsigned char u8;
7 typedef unsigned short u16;
8 typedef unsigned int u32;
9 typedef unsigned long long u64;
10 typedef signed char s8;
11 typedef short s16;
12 typedef int s32;
13 typedef 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_ */