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