kerncompat.h 1.7 KB

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