/* 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_ */
|