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