github.com/Aayushi-Bansal/sys@v0.0.0-20180118120756-90d962a959d8/unix/zptrace386_linux.go (about)

     1  // Code generated by linux/mkall.go generatePtracePair(386, amd64). DO NOT EDIT.
     2  
     3  // +build linux
     4  // +build 386 amd64
     5  
     6  package unix
     7  
     8  import "unsafe"
     9  
    10  // PtraceRegs386 is the registers used by 386 binaries.
    11  type 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.
    32  func 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.
    37  func 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.
    42  type 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.
    73  func 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.
    78  func PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error {
    79  	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
    80  }