home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / KERNEL-S / V1.2 / LINUX-1.2 / LINUX-1 / linux / include / asm-i386 / ptrace.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-02-01  |  855 b   |  52 lines

  1. #ifndef _I386_PTRACE_H
  2. #define _I386_PTRACE_H
  3.  
  4. #define EBX 0
  5. #define ECX 1
  6. #define EDX 2
  7. #define ESI 3
  8. #define EDI 4
  9. #define EBP 5
  10. #define EAX 6
  11. #define DS 7
  12. #define ES 8
  13. #define FS 9
  14. #define GS 10
  15. #define ORIG_EAX 11
  16. #define EIP 12
  17. #define CS  13
  18. #define EFL 14
  19. #define UESP 15
  20. #define SS   16
  21.  
  22.  
  23. /* this struct defines the way the registers are stored on the 
  24.    stack during a system call. */
  25.  
  26. struct pt_regs {
  27.     long ebx;
  28.     long ecx;
  29.     long edx;
  30.     long esi;
  31.     long edi;
  32.     long ebp;
  33.     long eax;
  34.     unsigned short ds, __dsu;
  35.     unsigned short es, __esu;
  36.     unsigned short fs, __fsu;
  37.     unsigned short gs, __gsu;
  38.     long orig_eax;
  39.     long eip;
  40.     unsigned short cs, __csu;
  41.     long eflags;
  42.     long esp;
  43.     unsigned short ss, __ssu;
  44. };
  45.  
  46. #ifdef __KERNEL__
  47. #define user_mode(regs) ((VM_MASK & (regs)->eflags) || (3 & (regs)->cs))
  48. extern void show_regs(struct pt_regs *);
  49. #endif
  50.  
  51. #endif
  52.