Edit File: freebsd_struct.py
from ctypes import (Structure, c_int, c_uint, c_ulong, c_void_p, c_uint16, c_uint32, c_size_t) from ptrace.cpu_info import CPU_X86_64 PIOD_READ_D = 1 PIOD_WRITE_D = 2 PIOD_READ_I = 3 PIOD_WRITE_I = 4 # /usr/include/machine/reg.h if CPU_X86_64: register_t = c_ulong class reg(Structure): _fields_ = ( ("r15", register_t), ("r14", register_t), ("r13", register_t), ("r12", register_t), ("r11", register_t), ("r10", register_t), ("r9", register_t), ("r8", register_t), ("rdi", register_t), ("rsi", register_t), ("rbp", register_t), ("rbx", register_t), ("rdx", register_t), ("rcx", register_t), ("rax", register_t), ("trapno", c_uint32), ("fs", c_uint16), ("gs", c_uint16), ("err", c_uint32), ("es", c_uint16), ("ds", c_uint16), ("rip", register_t), ("cs", register_t), ("rflags", register_t), ("rsp", register_t), ("ss", register_t), ) else: class reg(Structure): _fields_ = ( ("fs", c_uint), ("es", c_uint), ("ds", c_uint), ("edi", c_uint), ("esi", c_uint), ("ebp", c_uint), ("isp", c_uint), ("ebx", c_uint), ("edx", c_uint), ("ecx", c_uint), ("eax", c_uint), ("trapno", c_uint), ("err", c_uint), ("eip", c_uint), ("cs", c_uint), ("eflags", c_uint), ("esp", c_uint), ("ss", c_uint), ("gs", c_uint), ) class ptrace_io_desc(Structure): _fields_ = ( ("piod_op", c_int), ("piod_offs", c_void_p), ("piod_addr", c_void_p), ("piod_len", c_size_t), )