ureg.h 812 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef __UREG_H
  2. #define __UREG_H
  3. #if !defined(_PLAN9_SOURCE)
  4. This header file is an extension to ANSI/POSIX
  5. #endif
  6. struct Ureg
  7. {
  8. unsigned long di; /* general registers */
  9. unsigned long si; /* ... */
  10. unsigned long bp; /* ... */
  11. unsigned long nsp;
  12. unsigned long bx; /* ... */
  13. unsigned long dx; /* ... */
  14. unsigned long cx; /* ... */
  15. unsigned long ax; /* ... */
  16. unsigned long gs; /* data segments */
  17. unsigned long fs; /* ... */
  18. unsigned long es; /* ... */
  19. unsigned long ds; /* ... */
  20. unsigned long trap; /* trap type */
  21. unsigned long ecode; /* error code (or zero) */
  22. unsigned long pc; /* pc */
  23. unsigned long cs; /* old context */
  24. unsigned long flags; /* old flags */
  25. union {
  26. unsigned long usp;
  27. unsigned long sp;
  28. };
  29. unsigned long ss; /* old stack segment */
  30. };
  31. #endif