Source code for libdebug.ptrace.ptrace_constants
#
# This file is part of libdebug Python library (https://github.com/libdebug/libdebug).
# Copyright (c) 2023-2024 Roberto Alessandro Bertolini. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for details.
#
from enum import IntEnum
PTRACE_EVENT_FORK = 1
PTRACE_EVENT_VFORK = 2
PTRACE_EVENT_CLONE = 3
PTRACE_EVENT_EXEC = 4
PTRACE_EVENT_VFORK_DONE = 5
PTRACE_EVENT_EXIT = 6
PTRACE_EVENT_SECCOMP = 7
SIGTRAP = 5
SYSCALL_SIGTRAP = 0x80 | SIGTRAP
[docs]
class StopEvents(IntEnum):
    """An enumeration of the stop events that ptrace can return."""
    CLONE_EVENT = SIGTRAP | (PTRACE_EVENT_CLONE << 8)
    EXEC_EVENT = SIGTRAP | (PTRACE_EVENT_EXEC << 8)
    EXIT_EVENT = SIGTRAP | (PTRACE_EVENT_EXIT << 8)
    FORK_EVENT = SIGTRAP | (PTRACE_EVENT_FORK << 8)
    VFORK_EVENT = SIGTRAP | (PTRACE_EVENT_VFORK << 8)
    VFORK_DONE_EVENT = SIGTRAP | (PTRACE_EVENT_VFORK_DONE << 8)
    SECCOMP_EVENT = SIGTRAP | (PTRACE_EVENT_SECCOMP << 8) 
[docs]
class Commands(IntEnum):
    """An enumeration of the available ptrace commands."""
    PTRACE_TRACEME = 0
    PTRACE_PEEKTEXT = 1
    PTRACE_PEEKDATA = 2
    PTRACE_PEEKUSER = 3
    PTRACE_POKETEXT = 4
    PTRACE_POKEDATA = 5
    PTRACE_POKEUSER = 6
    PTRACE_CONT = 7
    PTRACE_KILL = 8
    PTRACE_SINGLESTEP = 9
    PTRACE_GETREGS = 12
    PTRACE_SETREGS = 13
    PTRACE_GETFPREGS = 14
    PTRACE_SETFPREGS = 15
    PTRACE_ATTACH = 16
    PTRACE_DETACH = 17
    PTRACE_GETFPXREGS = 18
    PTRACE_SETFPXREGS = 19
    PTRACE_SYSCALL = 24
    PTRACE_SETOPTIONS = 0x4200
    PTRACE_GETEVENTMSG = 0x4201
    PTRACE_GETSIGINFO = 0x4202
    PTRACE_SETSIGINFO = 0x4203
    PTRACE_GETREGSET = 0x4204
    PTRACE_SETREGSET = 0x4205
    PTRACE_SEIZE = 0x4206
    PTRACE_INTERRUPT = 0x4207
    PTRACE_LISTEN = 0x4208
    PTRACE_PEEKSIGINFO = 0x4209
    PTRACE_GETSIGMASK = 0x420A
    PTRACE_SETSIGMASK = 0x420B
    PTRACE_SECCOMP_GET_FILTER = 0x420C
    PTRACE_SECCOMP_GET_METADATA = 0x420D
    PTRACE_GET_SYSCALL_INFO = 0x420E