diff options
author | thegeorg <thegeorg@yandex-team.com> | 2022-12-15 19:25:15 +0300 |
---|---|---|
committer | thegeorg <thegeorg@yandex-team.com> | 2022-12-15 19:25:15 +0300 |
commit | 0c31d97afd7858af5f8f858c8addf91655ca9ccc (patch) | |
tree | 4d8a246db168f7beaafcd06d486c034115c2123d /contrib/libs/linux-headers/linux/const.h | |
parent | d1d5f5e00df0dd6efc00880dd8283477fc643aaf (diff) | |
download | ydb-0c31d97afd7858af5f8f858c8addf91655ca9ccc.tar.gz |
Sync linux-headers instead of using system ones
Diffstat (limited to 'contrib/libs/linux-headers/linux/const.h')
-rw-r--r-- | contrib/libs/linux-headers/linux/const.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/contrib/libs/linux-headers/linux/const.h b/contrib/libs/linux-headers/linux/const.h new file mode 100644 index 0000000000..fd885c79b7 --- /dev/null +++ b/contrib/libs/linux-headers/linux/const.h @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* const.h: Macros for dealing with constants. */ + +#ifndef _LINUX_CONST_H +#define _LINUX_CONST_H + +/* Some constant macros are used in both assembler and + * C code. Therefore we cannot annotate them always with + * 'UL' and other type specifiers unilaterally. We + * use the following macros to deal with this. + * + * Similarly, _AT() will cast an expression with a type in C, but + * leave it unchanged in asm. + */ + +#ifdef __ASSEMBLY__ +#define _AC(X,Y) X +#define _AT(T,X) X +#else +#define __AC(X,Y) (X##Y) +#define _AC(X,Y) __AC(X,Y) +#define _AT(T,X) ((T)(X)) +#endif + +#define _UL(x) (_AC(x, UL)) +#define _ULL(x) (_AC(x, ULL)) + +#define _BITUL(x) (_UL(1) << (x)) +#define _BITULL(x) (_ULL(1) << (x)) + +#endif /* _LINUX_CONST_H */ |