Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.
1: /* const.h: Macros for dealing with constants. */ 2: 3: #ifndef _LINUX_CONST_H 4: #define _LINUX_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: #define __AC(X,Y) (X##Y) 20: #define _AC(X,Y) __AC(X,Y) 21: #define _AT(T,X) ((T)(X)) 22: #endif 23: 24: #define _BITUL(x) (_AC(1,UL) << (x)) 25: #define _BITULL(x) (_AC(1,ULL) << (x)) 26: 27: #endif /* !(_LINUX_CONST_H) */ 28: