]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - tools/include/linux/types.h
Merge branch 'idr-4.11' of git://git.infradead.org/users/willy/linux-dax
[mirror_ubuntu-artful-kernel.git] / tools / include / linux / types.h
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
11 struct page;
12 struct kmem_cache;
13
14 typedef 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 */
28 typedef uint64_t u64;
29 typedef int64_t s64;
30
31 typedef __u32 u32;
32 typedef __s32 s32;
33
34 typedef __u16 u16;
35 typedef __s16 s16;
36
37 typedef __u8 u8;
38 typedef __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
52 typedef __u16 __bitwise __le16;
53 typedef __u16 __bitwise __be16;
54 typedef __u32 __bitwise __le32;
55 typedef __u32 __bitwise __be32;
56 typedef __u64 __bitwise __le64;
57 typedef __u64 __bitwise __be64;
58
59 typedef struct {
60 int counter;
61 } atomic_t;
62
63 #ifndef __aligned_u64
64 # define __aligned_u64 __u64 __attribute__((aligned(8)))
65 #endif
66
67 struct list_head {
68 struct list_head *next, *prev;
69 };
70
71 struct hlist_head {
72 struct hlist_node *first;
73 };
74
75 struct hlist_node {
76 struct hlist_node *next, **pprev;
77 };
78
79 #endif /* _TOOLS_LINUX_TYPES_H_ */