u.h 687 B

12345678910111213141516171819202122232425262728
  1. #define nil ((void*)0)
  2. typedef unsigned short ushort;
  3. typedef unsigned char uchar;
  4. typedef signed char schar;
  5. typedef unsigned long ulong;
  6. typedef unsigned int uint;
  7. typedef long long vlong;
  8. typedef unsigned long long uvlong;
  9. typedef union Length Length;
  10. typedef ushort Rune;
  11. union Length
  12. {
  13. vlong length;
  14. };
  15. /* stdarg */
  16. typedef char* va_list;
  17. #define va_start(list, start) list = (char*)(&(start)+1)
  18. #define va_end(list)
  19. #define va_arg(list, mode)\
  20. (sizeof(mode)==1?\
  21. ((mode*)(list += 4))[-1]:\
  22. sizeof(mode)==2?\
  23. ((mode*)(list += 4))[-1]:\
  24. sizeof(mode)>4?\
  25. ((mode*)(list = (char*)((long)(list+7) & ~7) + sizeof(mode)))[-1]:\
  26. ((mode*)(list += sizeof(mode)))[-1])