| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #ifndef _TOOLS_LINUX_TYPES_H_ | |
| #define _TOOLS_LINUX_TYPES_H_ | |
| #include <stdbool.h> | |
| #include <stddef.h> | |
| #include <stdint.h> | |
| #define __SANE_USERSPACE_TYPES__ /* For PPC64, to get LL64 types */ | |
| #include <asm/types.h> | |
| #include <asm/posix_types.h> | |
| struct page; | |
| struct kmem_cache; | |
| typedef enum { | |
| GFP_KERNEL, | |
| GFP_ATOMIC, | |
| __GFP_HIGHMEM, | |
| __GFP_HIGH | |
| } gfp_t; | |
| /* | |
| * We define u64 as uint64_t for every architecture | |
| * so that we can print it with "%"PRIx64 without getting warnings. | |
| * | |
| * typedef __u64 u64; | |
| * typedef __s64 s64; | |
| */ | |
| typedef uint64_t u64; | |
| typedef int64_t s64; | |
| typedef __u32 u32; | |
| typedef __s32 s32; | |
| typedef __u16 u16; | |
| typedef __s16 s16; | |
| typedef __u8 u8; | |
| typedef __s8 s8; | |
| #ifdef __CHECKER__ | |
| #define __bitwise__ __attribute__((bitwise)) | |
| #else | |
| #define __bitwise__ | |
| #endif | |
| #define __bitwise __bitwise__ | |
| #define __force | |
| #define __user | |
| #define __must_check | |
| #define __cold | |
| typedef __u16 __bitwise __le16; | |
| typedef __u16 __bitwise __be16; | |
| typedef __u32 __bitwise __le32; | |
| typedef __u32 __bitwise __be32; | |
| typedef __u64 __bitwise __le64; | |
| typedef __u64 __bitwise __be64; | |
| typedef struct { | |
| int counter; | |
| } atomic_t; | |
| #ifndef __aligned_u64 | |
| # define __aligned_u64 __u64 __attribute__((aligned(8))) | |
| #endif | |
| struct list_head { | |
| struct list_head *next, *prev; | |
| }; | |
| struct hlist_head { | |
| struct hlist_node *first; | |
| }; | |
| struct hlist_node { | |
| struct hlist_node *next, **pprev; | |
| }; | |
| #endif /* _TOOLS_LINUX_TYPES_H_ */ |