linux-old/include/asm-i386/ptrace.h
<<
>>
Prefs
   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#define FRAME_SIZE 17
  22
  23/* this struct defines the way the registers are stored on the 
  24   stack during a system call. */
  25
  26struct pt_regs {
  27        long ebx;
  28        long ecx;
  29        long edx;
  30        long esi;
  31        long edi;
  32        long ebp;
  33        long eax;
  34        int  xds;
  35        int  xes;
  36        long orig_eax;
  37        long eip;
  38        int  xcs;
  39        long eflags;
  40        long esp;
  41        int  xss;
  42};
  43
  44/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
  45#define PTRACE_GETREGS            12
  46#define PTRACE_SETREGS            13
  47#define PTRACE_GETFPREGS          14
  48#define PTRACE_SETFPREGS          15
  49#define PTRACE_GETFPXREGS         18
  50#define PTRACE_SETFPXREGS         19
  51
  52#define PTRACE_SETOPTIONS         21
  53
  54/* options set using PTRACE_SETOPTIONS */
  55#define PTRACE_O_TRACESYSGOOD     0x00000001
  56
  57#ifdef __KERNEL__
  58#define user_mode(regs) ((VM_MASK & (regs)->eflags) || (3 & (regs)->xcs))
  59#define instruction_pointer(regs) ((regs)->eip)
  60extern void show_regs(struct pt_regs *);
  61#endif
  62
  63#endif
  64
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.