81 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			81 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								// Code generated by linux/mkall.go generatePtracePair(386, amd64). DO NOT EDIT.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// +build linux
							 | 
						||
| 
								 | 
							
								// +build 386 amd64
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								package unix
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import "unsafe"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// PtraceRegs386 is the registers used by 386 binaries.
							 | 
						||
| 
								 | 
							
								type PtraceRegs386 struct {
							 | 
						||
| 
								 | 
							
									Ebx      int32
							 | 
						||
| 
								 | 
							
									Ecx      int32
							 | 
						||
| 
								 | 
							
									Edx      int32
							 | 
						||
| 
								 | 
							
									Esi      int32
							 | 
						||
| 
								 | 
							
									Edi      int32
							 | 
						||
| 
								 | 
							
									Ebp      int32
							 | 
						||
| 
								 | 
							
									Eax      int32
							 | 
						||
| 
								 | 
							
									Xds      int32
							 | 
						||
| 
								 | 
							
									Xes      int32
							 | 
						||
| 
								 | 
							
									Xfs      int32
							 | 
						||
| 
								 | 
							
									Xgs      int32
							 | 
						||
| 
								 | 
							
									Orig_eax int32
							 | 
						||
| 
								 | 
							
									Eip      int32
							 | 
						||
| 
								 | 
							
									Xcs      int32
							 | 
						||
| 
								 | 
							
									Eflags   int32
							 | 
						||
| 
								 | 
							
									Esp      int32
							 | 
						||
| 
								 | 
							
									Xss      int32
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// PtraceGetRegs386 fetches the registers used by 386 binaries.
							 | 
						||
| 
								 | 
							
								func PtraceGetRegs386(pid int, regsout *PtraceRegs386) error {
							 | 
						||
| 
								 | 
							
									return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// PtraceSetRegs386 sets the registers used by 386 binaries.
							 | 
						||
| 
								 | 
							
								func PtraceSetRegs386(pid int, regs *PtraceRegs386) error {
							 | 
						||
| 
								 | 
							
									return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// PtraceRegsAmd64 is the registers used by amd64 binaries.
							 | 
						||
| 
								 | 
							
								type PtraceRegsAmd64 struct {
							 | 
						||
| 
								 | 
							
									R15      uint64
							 | 
						||
| 
								 | 
							
									R14      uint64
							 | 
						||
| 
								 | 
							
									R13      uint64
							 | 
						||
| 
								 | 
							
									R12      uint64
							 | 
						||
| 
								 | 
							
									Rbp      uint64
							 | 
						||
| 
								 | 
							
									Rbx      uint64
							 | 
						||
| 
								 | 
							
									R11      uint64
							 | 
						||
| 
								 | 
							
									R10      uint64
							 | 
						||
| 
								 | 
							
									R9       uint64
							 | 
						||
| 
								 | 
							
									R8       uint64
							 | 
						||
| 
								 | 
							
									Rax      uint64
							 | 
						||
| 
								 | 
							
									Rcx      uint64
							 | 
						||
| 
								 | 
							
									Rdx      uint64
							 | 
						||
| 
								 | 
							
									Rsi      uint64
							 | 
						||
| 
								 | 
							
									Rdi      uint64
							 | 
						||
| 
								 | 
							
									Orig_rax uint64
							 | 
						||
| 
								 | 
							
									Rip      uint64
							 | 
						||
| 
								 | 
							
									Cs       uint64
							 | 
						||
| 
								 | 
							
									Eflags   uint64
							 | 
						||
| 
								 | 
							
									Rsp      uint64
							 | 
						||
| 
								 | 
							
									Ss       uint64
							 | 
						||
| 
								 | 
							
									Fs_base  uint64
							 | 
						||
| 
								 | 
							
									Gs_base  uint64
							 | 
						||
| 
								 | 
							
									Ds       uint64
							 | 
						||
| 
								 | 
							
									Es       uint64
							 | 
						||
| 
								 | 
							
									Fs       uint64
							 | 
						||
| 
								 | 
							
									Gs       uint64
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// PtraceGetRegsAmd64 fetches the registers used by amd64 binaries.
							 | 
						||
| 
								 | 
							
								func PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error {
							 | 
						||
| 
								 | 
							
									return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// PtraceSetRegsAmd64 sets the registers used by amd64 binaries.
							 | 
						||
| 
								 | 
							
								func PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error {
							 | 
						||
| 
								 | 
							
									return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
							 | 
						||
| 
								 | 
							
								}
							 |