70ba6b8f97
Following patches will introduce linux/bpf.h to a new libbpf library, which requires definition of __aligned_u64. This patch add it to the common types.h for tools. Signed-off-by: Wang Nan <wangnan0@huawei.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexei Starovoitov <ast@plumgrid.com> Cc: Brendan Gregg <brendan.d.gregg@gmail.com> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: pi3orama@163.com Cc: Zefan Li <lizefan@huawei.com> Link: http://lkml.kernel.org/r/1431676290-1230-5-git-send-email-wangnan0@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
84 lines
1.4 KiB
C
84 lines
1.4 KiB
C
#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>
|
|
|
|
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
|
|
#ifdef __CHECK_ENDIAN__
|
|
#define __bitwise __bitwise__
|
|
#else
|
|
#define __bitwise
|
|
#endif
|
|
|
|
#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_ */
|