cubefs

Форк
0
/x
/
zptrace_x86_linux.go 
81 строка · 1.8 Кб
1
// Code generated by linux/mkall.go generatePtracePair("386", "amd64"). DO NOT EDIT.
2

3
//go:build linux && (386 || amd64)
4
// +build linux
5
// +build 386 amd64
6

7
package unix
8

9
import "unsafe"
10

11
// PtraceRegs386 is the registers used by 386 binaries.
12
type PtraceRegs386 struct {
13
	Ebx      int32
14
	Ecx      int32
15
	Edx      int32
16
	Esi      int32
17
	Edi      int32
18
	Ebp      int32
19
	Eax      int32
20
	Xds      int32
21
	Xes      int32
22
	Xfs      int32
23
	Xgs      int32
24
	Orig_eax int32
25
	Eip      int32
26
	Xcs      int32
27
	Eflags   int32
28
	Esp      int32
29
	Xss      int32
30
}
31

32
// PtraceGetRegs386 fetches the registers used by 386 binaries.
33
func PtraceGetRegs386(pid int, regsout *PtraceRegs386) error {
34
	return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout))
35
}
36

37
// PtraceSetRegs386 sets the registers used by 386 binaries.
38
func PtraceSetRegs386(pid int, regs *PtraceRegs386) error {
39
	return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs))
40
}
41

42
// PtraceRegsAmd64 is the registers used by amd64 binaries.
43
type PtraceRegsAmd64 struct {
44
	R15      uint64
45
	R14      uint64
46
	R13      uint64
47
	R12      uint64
48
	Rbp      uint64
49
	Rbx      uint64
50
	R11      uint64
51
	R10      uint64
52
	R9       uint64
53
	R8       uint64
54
	Rax      uint64
55
	Rcx      uint64
56
	Rdx      uint64
57
	Rsi      uint64
58
	Rdi      uint64
59
	Orig_rax uint64
60
	Rip      uint64
61
	Cs       uint64
62
	Eflags   uint64
63
	Rsp      uint64
64
	Ss       uint64
65
	Fs_base  uint64
66
	Gs_base  uint64
67
	Ds       uint64
68
	Es       uint64
69
	Fs       uint64
70
	Gs       uint64
71
}
72

73
// PtraceGetRegsAmd64 fetches the registers used by amd64 binaries.
74
func PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error {
75
	return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout))
76
}
77

78
// PtraceSetRegsAmd64 sets the registers used by amd64 binaries.
79
func PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error {
80
	return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs))
81
}
82

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.