File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/uapi/asm/ptrace.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       1: #ifndef _UAPI_ASM_X86_PTRACE_H
       2: #define _UAPI_ASM_X86_PTRACE_H
       3: 
       4: #include <linux/compiler.h>    /* For __user */
       5: #include <asm/ptrace-abi.h>
       6: #include <asm/processor-flags.h>
       7: 
       8: 
       9: #ifndef __ASSEMBLY__
      10: 
      11: #ifdef __i386__
      12: /* this struct defines the way the registers are stored on the
      13:    stack during a system call. */
      14: 
      15: #ifndef __KERNEL__
      16: 
      17: struct pt_regs {
      18:     long ebx;
      19:     long ecx;
      20:     long edx;
      21:     long esi;
      22:     long edi;
      23:     long ebp;
      24:     long eax;
      25:     int  xds;
      26:     int  xes;
      27:     int  xfs;
      28:     int  xgs;
      29:     long orig_eax;
      30:     long eip;
      31:     int  xcs;
      32:     long eflags;
      33:     long esp;
      34:     int  xss;
      35: };
      36: 
      37: #endif /* __KERNEL__ */
      38: 
      39: #else /* __i386__ */
      40: 
      41: #ifndef __KERNEL__
      42: 
      43: struct pt_regs {
      44:     unsigned long r15;
      45:     unsigned long r14;
      46:     unsigned long r13;
      47:     unsigned long r12;
      48:     unsigned long rbp;
      49:     unsigned long rbx;
      50: /* arguments: non interrupts/non tracing syscalls only save up to here*/
      51:     unsigned long r11;
      52:     unsigned long r10;
      53:     unsigned long r9;
      54:     unsigned long r8;
      55:     unsigned long rax;
      56:     unsigned long rcx;
      57:     unsigned long rdx;
      58:     unsigned long rsi;
      59:     unsigned long rdi;
      60:     unsigned long orig_rax;
      61: /* end of arguments */
      62: /* cpu exception frame or undefined */
      63:     unsigned long rip;
      64:     unsigned long cs;
      65:     unsigned long eflags;
      66:     unsigned long rsp;
      67:     unsigned long ss;
      68: /* top of stack page */
      69: };
      70: 
      71: #endif /* __KERNEL__ */
      72: #endif /* !__i386__ */
      73: 
      74: 
      75: 
      76: #endif /* !__ASSEMBLY__ */
      77: 
      78: #endif /* _UAPI_ASM_X86_PTRACE_H */
      79: