/root/src/xen/xen/include/xen/const.h
Line | Count | Source |
1 | | /* const.h: Macros for dealing with constants. */ |
2 | | |
3 | | #ifndef __XEN_CONST_H__ |
4 | | #define __XEN_CONST_H__ |
5 | | |
6 | | /* Some constant macros are used in both assembler and |
7 | | * C code. Therefore we cannot annotate them always with |
8 | | * 'UL' and other type specifiers unilaterally. We |
9 | | * use the following macros to deal with this. |
10 | | * |
11 | | * Similarly, _AT() will cast an expression with a type in C, but |
12 | | * leave it unchanged in asm. |
13 | | */ |
14 | | |
15 | | #ifdef __ASSEMBLY__ |
16 | | #define _AC(X,Y) X |
17 | | #define _AT(T,X) X |
18 | | #else |
19 | 1.53G | #define __AC(X,Y) (X##Y) |
20 | 1.53G | #define _AC(X,Y) __AC(X,Y) |
21 | | #define _AT(T,X) ((T)(X)) |
22 | | #endif |
23 | | |
24 | | #endif /* __XEN_CONST_H__ */ |