kerncompat.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef __KERNCOMPAT
  2. #define __KERNCOMPAT
  3. #define gfp_t int
  4. #define get_cpu_var(p) (p)
  5. #define __get_cpu_var(p) (p)
  6. #define BITS_PER_LONG 64
  7. #define __GFP_BITS_SHIFT 20
  8. #define __GFP_BITS_MASK ((int)((1 << __GFP_BITS_SHIFT) - 1))
  9. #define GFP_KERNEL 0
  10. #define __read_mostly
  11. #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
  12. #define __force
  13. #define PAGE_SHIFT 12
  14. #define ULONG_MAX (~0UL)
  15. #define BUG() abort()
  16. typedef unsigned int u32;
  17. typedef unsigned long u64;
  18. typedef unsigned char u8;
  19. typedef unsigned short u16;
  20. typedef unsigned long pgoff_t;
  21. #include <stdio.h>
  22. #include <stdlib.h>
  23. #include <string.h>
  24. struct vma_shared { int prio_tree_node; };
  25. struct vm_area_struct {
  26. unsigned long vm_pgoff;
  27. unsigned long vm_start;
  28. unsigned long vm_end;
  29. struct vma_shared shared;
  30. };
  31. struct page {
  32. unsigned long index;
  33. };
  34. static inline void preempt_enable(void) { do {; } while(0);}
  35. static inline void preempt_disable(void) { do {; } while(0);}
  36. static inline void __set_bit(int bit, unsigned long *map) {
  37. unsigned long *p = map + bit / BITS_PER_LONG;
  38. bit = bit & (BITS_PER_LONG -1);
  39. *p |= 1UL << bit;
  40. }
  41. static inline int test_bit(int bit, unsigned long *map) {
  42. unsigned long *p = map + bit / BITS_PER_LONG;
  43. bit = bit & (BITS_PER_LONG -1);
  44. return *p & (1UL << bit) ? 1 : 0;
  45. }
  46. static inline void __clear_bit(int bit, unsigned long *map) {
  47. unsigned long *p = map + bit / BITS_PER_LONG;
  48. bit = bit & (BITS_PER_LONG -1);
  49. *p &= ~(1UL << bit);
  50. }
  51. #define BUG_ON(c) do { if (c) abort(); } while (0)
  52. #define container_of(ptr, type, member) ({ \
  53. const typeof( ((type *)0)->member ) *__mptr = (ptr); \
  54. (type *)( (char *)__mptr - __builtin_offsetof(type,member) );})
  55. #endif
  56. #define ENOMEM 5
  57. #define EEXIST 6