42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | // Code generated by linux/mkall.go generatePtracePair(arm, arm64). DO NOT EDIT. | ||
|  | 
 | ||
|  | // +build linux | ||
|  | // +build arm arm64 | ||
|  | 
 | ||
|  | package unix | ||
|  | 
 | ||
|  | import "unsafe" | ||
|  | 
 | ||
|  | // PtraceRegsArm is the registers used by arm binaries. | ||
|  | type PtraceRegsArm struct { | ||
|  | 	Uregs [18]uint32 | ||
|  | } | ||
|  | 
 | ||
|  | // PtraceGetRegsArm fetches the registers used by arm binaries. | ||
|  | func PtraceGetRegsArm(pid int, regsout *PtraceRegsArm) error { | ||
|  | 	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) | ||
|  | } | ||
|  | 
 | ||
|  | // PtraceSetRegsArm sets the registers used by arm binaries. | ||
|  | func PtraceSetRegsArm(pid int, regs *PtraceRegsArm) error { | ||
|  | 	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) | ||
|  | } | ||
|  | 
 | ||
|  | // PtraceRegsArm64 is the registers used by arm64 binaries. | ||
|  | type PtraceRegsArm64 struct { | ||
|  | 	Regs   [31]uint64 | ||
|  | 	Sp     uint64 | ||
|  | 	Pc     uint64 | ||
|  | 	Pstate uint64 | ||
|  | } | ||
|  | 
 | ||
|  | // PtraceGetRegsArm64 fetches the registers used by arm64 binaries. | ||
|  | func PtraceGetRegsArm64(pid int, regsout *PtraceRegsArm64) error { | ||
|  | 	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) | ||
|  | } | ||
|  | 
 | ||
|  | // PtraceSetRegsArm64 sets the registers used by arm64 binaries. | ||
|  | func PtraceSetRegsArm64(pid int, regs *PtraceRegsArm64) error { | ||
|  | 	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) | ||
|  | } |