ureg.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * This file is part of the UCB release of Plan 9. It is subject to the license
  3. * terms in the LICENSE file found in the top-level directory of this
  4. * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
  5. * part of the UCB release of Plan 9, including this file, may be copied,
  6. * modified, propagated, or distributed except according to the terms contained
  7. * in the LICENSE file.
  8. */
  9. #ifndef __UREG_H
  10. #define __UREG_H
  11. #if !defined(_PLAN9_SOURCE)
  12. This header file is an extension to ANSI/POSIX
  13. #endif
  14. struct Ureg
  15. {
  16. unsigned long di; /* general registers */
  17. unsigned long si; /* ... */
  18. unsigned long bp; /* ... */
  19. unsigned long nsp;
  20. unsigned long bx; /* ... */
  21. unsigned long dx; /* ... */
  22. unsigned long cx; /* ... */
  23. unsigned long ax; /* ... */
  24. unsigned long gs; /* data segments */
  25. unsigned long fs; /* ... */
  26. unsigned long es; /* ... */
  27. unsigned long ds; /* ... */
  28. unsigned long trap; /* trap type */
  29. unsigned long ecode; /* error code (or zero) */
  30. unsigned long pc; /* pc */
  31. unsigned long cs; /* old context */
  32. unsigned long flags; /* old flags */
  33. union {
  34. unsigned long usp;
  35. unsigned long sp;
  36. };
  37. unsigned long ss; /* old stack segment */
  38. };
  39. #endif