79 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			79 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef _UAPI_ASM_X86_PTRACE_H
							 | 
						||
| 
								 | 
							
								#define _UAPI_ASM_X86_PTRACE_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <linux/compiler.h>	/* For __user */
							 | 
						||
| 
								 | 
							
								#include <asm/ptrace-abi.h>
							 | 
						||
| 
								 | 
							
								#include <asm/processor-flags.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef __ASSEMBLY__
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __i386__
							 | 
						||
| 
								 | 
							
								/* this struct defines the way the registers are stored on the
							 | 
						||
| 
								 | 
							
								   stack during a system call. */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef __KERNEL__
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct pt_regs {
							 | 
						||
| 
								 | 
							
									long ebx;
							 | 
						||
| 
								 | 
							
									long ecx;
							 | 
						||
| 
								 | 
							
									long edx;
							 | 
						||
| 
								 | 
							
									long esi;
							 | 
						||
| 
								 | 
							
									long edi;
							 | 
						||
| 
								 | 
							
									long ebp;
							 | 
						||
| 
								 | 
							
									long eax;
							 | 
						||
| 
								 | 
							
									int  xds;
							 | 
						||
| 
								 | 
							
									int  xes;
							 | 
						||
| 
								 | 
							
									int  xfs;
							 | 
						||
| 
								 | 
							
									int  xgs;
							 | 
						||
| 
								 | 
							
									long orig_eax;
							 | 
						||
| 
								 | 
							
									long eip;
							 | 
						||
| 
								 | 
							
									int  xcs;
							 | 
						||
| 
								 | 
							
									long eflags;
							 | 
						||
| 
								 | 
							
									long esp;
							 | 
						||
| 
								 | 
							
									int  xss;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* __KERNEL__ */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#else /* __i386__ */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef __KERNEL__
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct pt_regs {
							 | 
						||
| 
								 | 
							
									unsigned long r15;
							 | 
						||
| 
								 | 
							
									unsigned long r14;
							 | 
						||
| 
								 | 
							
									unsigned long r13;
							 | 
						||
| 
								 | 
							
									unsigned long r12;
							 | 
						||
| 
								 | 
							
									unsigned long rbp;
							 | 
						||
| 
								 | 
							
									unsigned long rbx;
							 | 
						||
| 
								 | 
							
								/* arguments: non interrupts/non tracing syscalls only save up to here*/
							 | 
						||
| 
								 | 
							
									unsigned long r11;
							 | 
						||
| 
								 | 
							
									unsigned long r10;
							 | 
						||
| 
								 | 
							
									unsigned long r9;
							 | 
						||
| 
								 | 
							
									unsigned long r8;
							 | 
						||
| 
								 | 
							
									unsigned long rax;
							 | 
						||
| 
								 | 
							
									unsigned long rcx;
							 | 
						||
| 
								 | 
							
									unsigned long rdx;
							 | 
						||
| 
								 | 
							
									unsigned long rsi;
							 | 
						||
| 
								 | 
							
									unsigned long rdi;
							 | 
						||
| 
								 | 
							
									unsigned long orig_rax;
							 | 
						||
| 
								 | 
							
								/* end of arguments */
							 | 
						||
| 
								 | 
							
								/* cpu exception frame or undefined */
							 | 
						||
| 
								 | 
							
									unsigned long rip;
							 | 
						||
| 
								 | 
							
									unsigned long cs;
							 | 
						||
| 
								 | 
							
									unsigned long eflags;
							 | 
						||
| 
								 | 
							
									unsigned long rsp;
							 | 
						||
| 
								 | 
							
									unsigned long ss;
							 | 
						||
| 
								 | 
							
								/* top of stack page */
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* __KERNEL__ */
							 | 
						||
| 
								 | 
							
								#endif /* !__i386__ */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* !__ASSEMBLY__ */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* _UAPI_ASM_X86_PTRACE_H */
							 |