at v4.11 1.4 kB view raw
1#ifndef _TOOLS_LINUX_TYPES_H_ 2#define _TOOLS_LINUX_TYPES_H_ 3 4#include <stdbool.h> 5#include <stddef.h> 6#include <stdint.h> 7 8#define __SANE_USERSPACE_TYPES__ /* For PPC64, to get LL64 types */ 9#include <asm/types.h> 10 11struct page; 12struct kmem_cache; 13 14typedef enum { 15 GFP_KERNEL, 16 GFP_ATOMIC, 17 __GFP_HIGHMEM, 18 __GFP_HIGH 19} gfp_t; 20 21/* 22 * We define u64 as uint64_t for every architecture 23 * so that we can print it with "%"PRIx64 without getting warnings. 24 * 25 * typedef __u64 u64; 26 * typedef __s64 s64; 27 */ 28typedef uint64_t u64; 29typedef int64_t s64; 30 31typedef __u32 u32; 32typedef __s32 s32; 33 34typedef __u16 u16; 35typedef __s16 s16; 36 37typedef __u8 u8; 38typedef __s8 s8; 39 40#ifdef __CHECKER__ 41#define __bitwise__ __attribute__((bitwise)) 42#else 43#define __bitwise__ 44#endif 45#define __bitwise __bitwise__ 46 47#define __force 48#define __user 49#define __must_check 50#define __cold 51 52typedef __u16 __bitwise __le16; 53typedef __u16 __bitwise __be16; 54typedef __u32 __bitwise __le32; 55typedef __u32 __bitwise __be32; 56typedef __u64 __bitwise __le64; 57typedef __u64 __bitwise __be64; 58 59typedef struct { 60 int counter; 61} atomic_t; 62 63#ifndef __aligned_u64 64# define __aligned_u64 __u64 __attribute__((aligned(8))) 65#endif 66 67struct list_head { 68 struct list_head *next, *prev; 69}; 70 71struct hlist_head { 72 struct hlist_node *first; 73}; 74 75struct hlist_node { 76 struct hlist_node *next, **pprev; 77}; 78 79#endif /* _TOOLS_LINUX_TYPES_H_ */