root/tools/include/uapi/linux/const.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2 /* const.h: Macros for dealing with constants.  */
   3 
   4 #ifndef _UAPI_LINUX_CONST_H
   5 #define _UAPI_LINUX_CONST_H
   6 
   7 /* Some constant macros are used in both assembler and
   8  * C code.  Therefore we cannot annotate them always with
   9  * 'UL' and other type specifiers unilaterally.  We
  10  * use the following macros to deal with this.
  11  *
  12  * Similarly, _AT() will cast an expression with a type in C, but
  13  * leave it unchanged in asm.
  14  */
  15 
  16 #ifdef __ASSEMBLY__
  17 #define _AC(X,Y)        X
  18 #define _AT(T,X)        X
  19 #else
  20 #define __AC(X,Y)       (X##Y)
  21 #define _AC(X,Y)        __AC(X,Y)
  22 #define _AT(T,X)        ((T)(X))
  23 #endif
  24 
  25 #define _UL(x)          (_AC(x, UL))
  26 #define _ULL(x)         (_AC(x, ULL))
  27 
  28 #define _BITUL(x)       (_UL(1) << (x))
  29 #define _BITULL(x)      (_ULL(1) << (x))
  30 
  31 #endif /* _UAPI_LINUX_CONST_H */

/* [<][>][^][v][top][bottom][index][help] */