|
addrof = ctypes.pointer
|
|
PT_TRACE_ME = 0
|
|
PT_READ_I = 1
|
|
PT_READ_D = 2
|
|
PT_READ_U = 3
|
|
PT_WRITE_I = 4
|
|
PT_WRITE_D = 5
|
|
PT_WRITE_U = 6
|
|
PT_CONTINUE = 7
|
|
PT_KILL = 8
|
|
PT_STEP = 9
|
|
PT_ATTACH = 10
|
|
PT_DETACH = 11
|
|
PT_SIGEXC = 12
|
|
PT_THUPDATE = 13
|
|
PT_ATTACHEXC = 14
|
|
PT_FORCEQUOTA = 30
|
|
PT_DENY_ATTACH = 31
|
|
CTL_UNSPEC = 0
|
|
CTL_KERN = 1
|
|
CTL_VM = 2
|
|
CTL_VFS = 3
|
|
CTL_NET = 4
|
|
CTL_DEBUG = 5
|
|
CTL_HW = 6
|
|
CTL_MACHDEP = 7
|
|
CTL_USER = 8
|
|
CTL_MAXID = 9
|
|
KERN_OSTYPE = 1
|
|
KERN_OSRELEASE = 2
|
|
KERN_OSREV = 3
|
|
KERN_VERSION = 4
|
|
KERN_MAXVNODES = 5
|
|
KERN_MAXPROC = 6
|
|
KERN_MAXFILES = 7
|
|
KERN_ARGMAX = 8
|
|
KERN_SECURELVL = 9
|
|
KERN_HOSTNAME = 10
|
|
KERN_HOSTID = 11
|
|
KERN_CLOCKRATE = 12
|
|
KERN_VNODE = 13
|
|
KERN_PROC = 14
|
|
KERN_FILE = 15
|
|
KERN_PROF = 16
|
|
KERN_POSIX1 = 17
|
|
KERN_NGROUPS = 18
|
|
KERN_JOB_CONTROL = 19
|
|
KERN_SAVED_IDS = 20
|
|
KERN_BOOTTIME = 21
|
|
KERN_NISDOMAINNAME = 22
|
|
KERN_DOMAINNAME = 22
|
|
KERN_MAXPARTITIONS = 23
|
|
KERN_KDEBUG = 24
|
|
KERN_UPDATEINTERVAL = 25
|
|
KERN_OSRELDATE = 26
|
|
KERN_NTP_PLL = 27
|
|
KERN_BOOTFILE = 28
|
|
KERN_MAXFILESPERPROC = 29
|
|
KERN_MAXPROCPERUID = 30
|
|
KERN_DUMPDEV = 31
|
|
KERN_IPC = 32
|
|
KERN_DUMMY = 33
|
|
KERN_PS_STRINGS = 34
|
|
KERN_USRSTACK32 = 35
|
|
KERN_LOGSIGEXIT = 36
|
|
KERN_SYMFILE = 37
|
|
KERN_PROCARGS = 38
|
|
KERN_NETBOOT = 40
|
|
KERN_PANICINFO = 41
|
|
KERN_SYSV = 42
|
|
KERN_AFFINITY = 43
|
|
KERN_TRANSLATE = 44
|
|
KERN_CLASSIC = 44
|
|
KERN_EXEC = 45
|
|
KERN_CLASSICHANDLER = 45
|
|
KERN_AIOMAX = 46
|
|
KERN_AIOPROCMAX = 47
|
|
KERN_AIOTHREADS = 48
|
|
KERN_PROCARGS2 = 49
|
|
KERN_COREFILE = 50
|
|
KERN_COREDUMP = 51
|
|
KERN_SUGID_COREDUMP = 52
|
|
KERN_PROCDELAYTERM = 53
|
|
KERN_SHREG_PRIVATIZABLE = 54
|
|
KERN_PROC_LOW_PRI_IO = 55
|
|
KERN_LOW_PRI_WINDOW = 56
|
|
KERN_LOW_PRI_DELAY = 57
|
|
KERN_POSIX = 58
|
|
KERN_USRSTACK64 = 59
|
|
KERN_NX_PROTECTION = 60
|
|
KERN_TFP = 61
|
|
KERN_PROCNAME = 62
|
|
KERN_THALTSTACK = 63
|
|
KERN_SPECULATIVE_READS = 64
|
|
KERN_OSVERSION = 65
|
|
KERN_SAFEBOOT = 66
|
|
KERN_LCTX = 67
|
|
KERN_RAGEVNODE = 68
|
|
KERN_TTY = 69
|
|
KERN_CHECKOPENEVT = 70
|
|
KERN_MAXID = 71
|
|
KERN_RAGE_PROC = 1
|
|
KERN_RAGE_THREAD = 2
|
|
KERN_UNRAGE_PROC = 3
|
|
KERN_UNRAGE_THREAD = 4
|
|
KERN_OPENEVT_PROC = 1
|
|
KERN_UNOPENEVT_PROC = 2
|
|
KERN_TFP_POLICY = 1
|
|
KERN_TFP_POLICY_DENY = 0
|
|
KERN_TFP_POLICY_DEFAULT = 2
|
|
KERN_KDEFLAGS = 1
|
|
KERN_KDDFLAGS = 2
|
|
KERN_KDENABLE = 3
|
|
KERN_KDSETBUF = 4
|
|
KERN_KDGETBUF = 5
|
|
KERN_KDSETUP = 6
|
|
KERN_KDREMOVE = 7
|
|
KERN_KDSETREG = 8
|
|
KERN_KDGETREG = 9
|
|
KERN_KDREADTR = 10
|
|
KERN_KDPIDTR = 11
|
|
KERN_KDTHRMAP = 12
|
|
KERN_KDPIDEX = 14
|
|
KERN_KDSETRTCDEC = 15
|
|
KERN_KDGETENTROPY = 16
|
|
KERN_PANICINFO_MAXSIZE = 1
|
|
KERN_PANICINFO_IMAGE = 2
|
|
KERN_PROC_ALL = 0
|
|
KERN_PROC_PID = 1
|
|
KERN_PROC_PGRP = 2
|
|
KERN_PROC_SESSION = 3
|
|
KERN_PROC_TTY = 4
|
|
KERN_PROC_UID = 5
|
|
KERN_PROC_RUID = 6
|
|
KERN_PROC_LCID = 7
|
|
VM_PROT_READ = 1
|
|
VM_PROT_WRITE = 2
|
|
VM_PROT_EXECUTE = 4
|
|
x86_THREAD_STATE32 = 1
|
|
x86_FLOAT_STATE32 = 2
|
|
x86_EXCEPTION_STATE32 = 3
|
|
x86_THREAD_STATE64 = 4
|
|
x86_FLOAT_STATE64 = 5
|
|
x86_EXCEPTION_STATE64 = 6
|
|
x86_THREAD_STATE = 7
|
|
x86_FLOAT_STATE = 8
|
|
x86_EXCEPTION_STATE = 9
|
|
x86_DEBUG_STATE32 = 10
|
|
x86_DEBUG_STATE64 = 11
|
|
x86_DEBUG_STATE = 12
|
|
THREAD_STATE_NONE = 13
|
|
MACH_PORT_NULL = 0
|
|
MACH_PORT_RIGHT_SEND = 0
|
|
MACH_PORT_RIGHT_RECEIVE = 1
|
|
MACH_PORT_RIGHT_SEND_ONCE = 2
|
|
MACH_PORT_RIGHT_PORT_SET = 3
|
|
MACH_PORT_RIGHT_DEAD_NAME = 4
|
|
MACH_PORT_RIGHT_LABELH = 5
|
|
MACH_PORT_RIGHT_NUMBER = 6
|
|
MACH_PORT_TYPE_SEND = MACH_PORT_TYPE(MACH_PORT_RIGHT_SEND)
|
|
MACH_PORT_TYPE_RECEIVE = MACH_PORT_TYPE(MACH_PORT_RIGHT_RECEIVE)
|
|
MACH_PORT_TYPE_SEND_ONCE = MACH_PORT_TYPE(MACH_PORT_RIGHT_SEND...
|
|
MACH_PORT_TYPE_PORT_SET = MACH_PORT_TYPE(MACH_PORT_RIGHT_PORT_...
|
|
MACH_PORT_TYPE_DEAD_NAME = MACH_PORT_TYPE(MACH_PORT_RIGHT_DEAD...
|
|
MACH_PORT_TYPE_LABELH = MACH_PORT_TYPE(MACH_PORT_RIGHT_LABELH)
|
|
MACH_MSG_TIMEOUT_NONE = 0
|
|
MACH_MSG_OPTION_NONE = 0
|
|
MACH_SEND_MSG = 0x00000001
|
|
MACH_RCV_MSG = 0x00000002
|
|
MACH_RCV_LARGE = 0x00000004
|
|
MACH_SEND_TIMEOUT = 0x00000010
|
|
MACH_SEND_INTERRUPT = 0x00000040
|
|
MACH_SEND_CANCEL = 0x00000080
|
|
MACH_SEND_ALWAYS = 0x00010000
|
|
MACH_SEND_TRAILER = 0x00020000
|
|
MACH_RCV_TIMEOUT = 0x00000100
|
|
MACH_RCV_NOTIFY = 0x00000200
|
|
MACH_RCV_INTERRUPT = 0x00000400
|
|
MACH_RCV_OVERWRITE = 0x00001000
|
|
MACH_RCV_TIMED_OUT = 0x10004003
|
|
MACH_MSG_TYPE_MOVE_RECEIVE = 16
|
|
MACH_MSG_TYPE_MOVE_SEND = 17
|
|
MACH_MSG_TYPE_MOVE_SEND_ONCE = 18
|
|
MACH_MSG_TYPE_COPY_SEND = 19
|
|
MACH_MSG_TYPE_MAKE_SEND = 20
|
|
MACH_MSG_TYPE_MAKE_SEND_ONCE = 21
|
|
MACH_MSG_TYPE_COPY_RECEIVE = 22
|
|
size_t = ctypes.c_ulong
|
|
mach_port_t = ctypes.c_uint32
|
|
mach_port_name_t = ctypes.c_uint32
|
|
mach_port_right_t = ctypes.c_uint32
|
|
mach_msg_size_t = ctypes.c_uint32
|
|
mach_msg_bits_t = ctypes.c_uint32
|
|
mach_msg_id_t = ctypes.c_uint32
|
|
ipc_space_t = ctypes.c_uint32
|
|
kern_return_t = ctypes.c_uint32
|
|
exception_type_t = ctypes.c_uint32
|
|
mach_msg_type_number_t = ctypes.c_uint32
|
|
exception_data_t = ctypes.POINTER(ctypes.c_uint32)
|
|
EXC_BAD_ACCESS = 1
|
|
EXC_BAD_INSTRUCTION = 2
|
|
EXC_ARITHMETIC = 3
|
|
EXC_EMULATION = 4
|
|
EXC_SOFTWARE = 5
|
|
EXC_BREAKPOINT = 6
|
|
EXC_SYSCALL = 7
|
|
EXC_MACH_SYSCALL = 8
|
|
EXC_RPC_ALERT = 9
|
|
EXC_CRASH = 10
|
|
EXC_SOFT_SIGNAL = 0x10003
|
|
EXC_MASK_MACHINE = 0
|
|
EXC_MASK_BAD_ACCESS = 1 << EXC_BAD_ACCESS
|
|
EXC_MASK_BAD_INSTRUCTION = 1 << EXC_BAD_INSTRUCTION
|
|
EXC_MASK_ARITHMETIC = 1 << EXC_ARITHMETIC
|
|
EXC_MASK_EMULATION = 1 << EXC_EMULATION
|
|
EXC_MASK_SOFTWARE = 1 << EXC_SOFTWARE
|
|
EXC_MASK_BREAKPOINT = 1 << EXC_BREAKPOINT
|
|
EXC_MASK_SYSCALL = 1 << EXC_SYSCALL
|
|
EXC_MASK_MACH_SYSCALL = 1 << EXC_MACH_SYSCALL
|
|
EXC_MASK_RPC_ALERT = 1 << EXC_RPC_ALERT
|
|
EXC_MASK_CRASH = 1 << EXC_CRASH
|
|
EXC_MASK_ALL = EXC_MASK_BAD_ACCESS | EXC_MASK_BAD_INSTRUCTION ...
|
|
EXCEPTION_DEFAULT = 1
|
|
EXCEPTION_STATE = 2
|
|
EXCEPTION_STATE_IDENTITY = 3
|
|
MACH_EXCEPTION_CODES = 0x80000000
|
|
boolean_t = ctypes.c_uint32
|
|
pid_t = ctypes.c_uint32
|
|
thread_t = ctypes.c_uint32
|
|
vm_prot_t = ctypes.c_uint32
|
|
vm_inherit_t = ctypes.c_uint32
|
|
vm_behavior_t = ctypes.c_uint32
|
|
memory_object_offset_t = ctypes.c_ulonglong
|
|
VM_REGION_BASIC_INFO_64 = 9
|
|
VM_REGION_BASIC_INFO_COUNT_64 = ctypes.sizeof(vm_region_basic_...
|
|
darwindir = os.path.dirname(__file__)
|
|
machhelp_path = os.path.join(darwindir, 'machhelper.dylib')
|
|
machhelper = ctypes.CDLL(machhelp_path)
|