golang.org/x/sys@v0.20.1-0.20240517151509-673e0f94c16d/unix/zptrace_x86_linux.go (about) 1 // Code generated by linux/mkall.go generatePtracePair("386", "amd64"). DO NOT EDIT. 2 3 //go:build linux && (386 || amd64) 4 5 package unix 6 7 import "unsafe" 8 9 // PtraceRegs386 is the registers used by 386 binaries. 10 type PtraceRegs386 struct { 11 Ebx int32 12 Ecx int32 13 Edx int32 14 Esi int32 15 Edi int32 16 Ebp int32 17 Eax int32 18 Xds int32 19 Xes int32 20 Xfs int32 21 Xgs int32 22 Orig_eax int32 23 Eip int32 24 Xcs int32 25 Eflags int32 26 Esp int32 27 Xss int32 28 } 29 30 // PtraceGetRegs386 fetches the registers used by 386 binaries. 31 func PtraceGetRegs386(pid int, regsout *PtraceRegs386) error { 32 return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout)) 33 } 34 35 // PtraceSetRegs386 sets the registers used by 386 binaries. 36 func PtraceSetRegs386(pid int, regs *PtraceRegs386) error { 37 return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs)) 38 } 39 40 // PtraceRegsAmd64 is the registers used by amd64 binaries. 41 type PtraceRegsAmd64 struct { 42 R15 uint64 43 R14 uint64 44 R13 uint64 45 R12 uint64 46 Rbp uint64 47 Rbx uint64 48 R11 uint64 49 R10 uint64 50 R9 uint64 51 R8 uint64 52 Rax uint64 53 Rcx uint64 54 Rdx uint64 55 Rsi uint64 56 Rdi uint64 57 Orig_rax uint64 58 Rip uint64 59 Cs uint64 60 Eflags uint64 61 Rsp uint64 62 Ss uint64 63 Fs_base uint64 64 Gs_base uint64 65 Ds uint64 66 Es uint64 67 Fs uint64 68 Gs uint64 69 } 70 71 // PtraceGetRegsAmd64 fetches the registers used by amd64 binaries. 72 func PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error { 73 return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout)) 74 } 75 76 // PtraceSetRegsAmd64 sets the registers used by amd64 binaries. 77 func PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error { 78 return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs)) 79 }