Home | History | Annotate | Download | only in linux-gnu
      1 /*
      2  * This file is part of ltrace.
      3  * Copyright (C) 2012 Petr Machata, Red Hat Inc.
      4  *
      5  * This program is free software; you can redistribute it and/or
      6  * modify it under the terms of the GNU General Public License as
      7  * published by the Free Software Foundation; either version 2 of the
      8  * License, or (at your option) any later version.
      9  *
     10  * This program is distributed in the hope that it will be useful, but
     11  * WITHOUT ANY WARRANTY; without even the implied warranty of
     12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13  * General Public License for more details.
     14  *
     15  * You should have received a copy of the GNU General Public License
     16  * along with this program; if not, write to the Free Software
     17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
     18  * 02110-1301 USA
     19  */
     20 #ifndef _TRACE_DEFS_H_
     21 #define _TRACE_DEFS_H_
     22 #include <sys/ptrace.h>
     23 
     24 /* If the system headers did not provide the constants, hard-code the
     25  * normal values.  */
     26 #ifndef PTRACE_OLDSETOPTIONS
     27 # define PTRACE_OLDSETOPTIONS    21
     28 #endif
     29 
     30 #ifndef PTRACE_SETOPTIONS
     31 # define PTRACE_SETOPTIONS       0x4200
     32 #endif
     33 
     34 #ifndef PTRACE_GETEVENTMSG
     35 # define PTRACE_GETEVENTMSG      0x4201
     36 #endif
     37 
     38 /* Options set using PTRACE_SETOPTIONS.  */
     39 #ifndef PTRACE_O_TRACESYSGOOD
     40 # define PTRACE_O_TRACESYSGOOD   0x00000001
     41 #endif
     42 
     43 #ifndef PTRACE_O_TRACEFORK
     44 # define PTRACE_O_TRACEFORK      0x00000002
     45 #endif
     46 
     47 #ifndef PTRACE_O_TRACEVFORK
     48 # define PTRACE_O_TRACEVFORK     0x00000004
     49 #endif
     50 
     51 #ifndef PTRACE_O_TRACECLONE
     52 # define PTRACE_O_TRACECLONE     0x00000008
     53 #endif
     54 
     55 #ifndef PTRACE_O_TRACEEXEC
     56 # define PTRACE_O_TRACEEXEC      0x00000010
     57 #endif
     58 
     59 #ifndef PTRACE_O_TRACEVFORKDONE
     60 # define PTRACE_O_TRACEVFORKDONE 0x00000020
     61 #endif
     62 
     63 #ifndef PTRACE_O_TRACEEXIT
     64 # define PTRACE_O_TRACEEXIT      0x00000040
     65 #endif
     66 
     67 /* Wait extended result codes for the above trace options.  */
     68 #ifndef PTRACE_EVENT_FORK
     69 # define PTRACE_EVENT_FORK       1
     70 #endif
     71 
     72 #ifndef PTRACE_EVENT_VFORK
     73 # define PTRACE_EVENT_VFORK      2
     74 #endif
     75 
     76 #ifndef PTRACE_EVENT_CLONE
     77 # define PTRACE_EVENT_CLONE      3
     78 #endif
     79 
     80 #ifndef PTRACE_EVENT_EXEC
     81 # define PTRACE_EVENT_EXEC       4
     82 #endif
     83 
     84 #ifndef PTRACE_EVENT_VFORK_DONE
     85 # define PTRACE_EVENT_VFORK_DONE 5
     86 #endif
     87 
     88 #ifndef PTRACE_EVENT_EXIT
     89 # define PTRACE_EVENT_EXIT       6
     90 #endif
     91 
     92 #endif /* _TRACE_DEFS_H_ */
     93