require '_h2ph_pre.ph';

unless(defined(&_LINUX_PTRACE_H)) {
    eval 'sub _LINUX_PTRACE_H () {1;}' unless defined(&_LINUX_PTRACE_H);
    eval 'sub PTRACE_TRACEME () {0;}' unless defined(&PTRACE_TRACEME);
    eval 'sub PTRACE_PEEKTEXT () {1;}' unless defined(&PTRACE_PEEKTEXT);
    eval 'sub PTRACE_PEEKDATA () {2;}' unless defined(&PTRACE_PEEKDATA);
    eval 'sub PTRACE_PEEKUSR () {3;}' unless defined(&PTRACE_PEEKUSR);
    eval 'sub PTRACE_POKETEXT () {4;}' unless defined(&PTRACE_POKETEXT);
    eval 'sub PTRACE_POKEDATA () {5;}' unless defined(&PTRACE_POKEDATA);
    eval 'sub PTRACE_POKEUSR () {6;}' unless defined(&PTRACE_POKEUSR);
    eval 'sub PTRACE_CONT () {7;}' unless defined(&PTRACE_CONT);
    eval 'sub PTRACE_KILL () {8;}' unless defined(&PTRACE_KILL);
    eval 'sub PTRACE_SINGLESTEP () {9;}' unless defined(&PTRACE_SINGLESTEP);
    eval 'sub PTRACE_ATTACH () {0x10;}' unless defined(&PTRACE_ATTACH);
    eval 'sub PTRACE_DETACH () {0x11;}' unless defined(&PTRACE_DETACH);
    eval 'sub PTRACE_SYSCALL () {24;}' unless defined(&PTRACE_SYSCALL);
    require 'asm/ptrace.ph';
}
1;
