mirror of
https://gitlab.com/arm-research/smarter/smarter-device-manager.git
synced 2024-11-24 19:44:06 +00:00
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)))
|
||
|
}
|