linux/tools/include/linux/types.h
<<
>>
Prefs
   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#ifdef __CHECK_ENDIAN__
  46#define __bitwise __bitwise__
  47#else
  48#define __bitwise
  49#endif
  50
  51#define __force
  52#define __user
  53#define __must_check
  54#define __cold
  55
  56typedef __u16 __bitwise __le16;
  57typedef __u16 __bitwise __be16;
  58typedef __u32 __bitwise __le32;
  59typedef __u32 __bitwise __be32;
  60typedef __u64 __bitwise __le64;
  61typedef __u64 __bitwise __be64;
  62
  63typedef struct {
  64        int counter;
  65} atomic_t;
  66
  67#ifndef __aligned_u64
  68# define __aligned_u64 __u64 __attribute__((aligned(8)))
  69#endif
  70
  71struct list_head {
  72        struct list_head *next, *prev;
  73};
  74
  75struct hlist_head {
  76        struct hlist_node *first;
  77};
  78
  79struct hlist_node {
  80        struct hlist_node *next, **pprev;
  81};
  82
  83#endif /* _TOOLS_LINUX_TYPES_H_ */
  84