1// 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}
81