u.h 888 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #define nil ((void*)0)
  2. typedef unsigned short ushort;
  3. typedef unsigned char uchar;
  4. typedef unsigned long ulong;
  5. typedef unsigned int uint;
  6. typedef signed char schar;
  7. typedef long long vlong;
  8. typedef unsigned long long uvlong;
  9. typedef ushort Rune;
  10. typedef union FPdbleword FPdbleword;
  11. typedef long jmp_buf[2];
  12. #define JMPBUFSP 0
  13. #define JMPBUFPC 1
  14. #define JMPBUFDPC 0
  15. typedef unsigned int mpdigit; /* for /sys/include/mp.h */
  16. typedef unsigned int u32int;
  17. union FPdbleword
  18. {
  19. double x;
  20. struct { /* big endian */
  21. ulong hi;
  22. ulong lo;
  23. };
  24. };
  25. typedef char* va_list;
  26. #define va_start(list, start) list =\
  27. (sizeof(start) < 4?\
  28. (char*)((int*)&(start)+1):\
  29. (char*)(&(start)+1))
  30. #define va_end(list)\
  31. USED(list)
  32. #define va_arg(list, mode)\
  33. ((sizeof(mode) == 1)?\
  34. ((mode*)(list += 4))[-1]:\
  35. (sizeof(mode) == 2)?\
  36. ((mode*)(list += 4))[-1]:\
  37. ((mode*)(list += sizeof(mode)))[-1])