blob: 586317c78e71b11152e9c6f101292e98f1f090c3 [file] [log] [blame]
erifan01bc7efcf2019-11-21 17:35:28 +08001// Code generated by linux/mkall.go generatePtracePair("arm", "arm64"). DO NOT EDIT.
Ian Lance Taylor3e3646d2017-10-25 17:04:09 -07002
Russ Cox9a761022021-02-19 22:57:36 -05003//go:build linux && (arm || arm64)
Ian Lance Taylor3e3646d2017-10-25 17:04:09 -07004
5package unix
6
7import "unsafe"
8
9// PtraceRegsArm is the registers used by arm binaries.
10type PtraceRegsArm struct {
11 Uregs [18]uint32
12}
13
14// PtraceGetRegsArm fetches the registers used by arm binaries.
15func PtraceGetRegsArm(pid int, regsout *PtraceRegsArm) error {
Dmitri Goutnik2977c772023-02-21 11:39:27 -050016 return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout))
Ian Lance Taylor3e3646d2017-10-25 17:04:09 -070017}
18
19// PtraceSetRegsArm sets the registers used by arm binaries.
20func PtraceSetRegsArm(pid int, regs *PtraceRegsArm) error {
Dmitri Goutnik2977c772023-02-21 11:39:27 -050021 return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs))
Ian Lance Taylor3e3646d2017-10-25 17:04:09 -070022}
23
24// PtraceRegsArm64 is the registers used by arm64 binaries.
25type PtraceRegsArm64 struct {
26 Regs [31]uint64
27 Sp uint64
28 Pc uint64
29 Pstate uint64
30}
31
32// PtraceGetRegsArm64 fetches the registers used by arm64 binaries.
33func PtraceGetRegsArm64(pid int, regsout *PtraceRegsArm64) error {
Dmitri Goutnik2977c772023-02-21 11:39:27 -050034 return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout))
Ian Lance Taylor3e3646d2017-10-25 17:04:09 -070035}
36
37// PtraceSetRegsArm64 sets the registers used by arm64 binaries.
38func PtraceSetRegsArm64(pid int, regs *PtraceRegsArm64) error {
Dmitri Goutnik2977c772023-02-21 11:39:27 -050039 return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs))
Ian Lance Taylor3e3646d2017-10-25 17:04:09 -070040}