strace/sysent.h
Eugene Syromyatnikov 9a36c8e55d Implement -e trace=%lstat option
linux/*/syscallent*.h part is updated automatically by:

    sed -i '/TSTA,.*lx\?stat/ s/TSTA,/TLST|&/' linux/*/syscallent*.h

* sysent.h (TRACE_LSTAT): New macro.
* syscall.c: Alias TLST to TRACE_LSTAT around syscallent.h inclusion.
* qualify.c (lookup_class): Add TRACE_LSTAT for "%lstat".
* strace.1 (.SS Filtering): Add information about %lstat syscall class.
* NEWS: Mention this change.
* linux/aarch64/syscallent.h (lstat): Likewise.
* linux/ia64/syscallent.h: Likewise.
* linux/mips/syscallent-n32.h: Likewise.
* linux/mips/syscallent-n64.h: Likewise.
* linux/s390x/syscallent.h: Likewise.
* linux/x32/syscallent.h: Likewise.
* linux/x86_64/syscallent.h: Likewise.
* linux/arm/syscallent.h (lstat, lstat64, oldlstat): Likewise.
* linux/bfin/syscallent.h: Likewise.
* linux/crisv10/syscallent.h: Likewise.
* linux/i386/syscallent.h: Likewise.
* linux/m68k/syscallent.h: Likewise.
* linux/microblaze/syscallent.h: Likewise.
* linux/mips/syscallent-o32.h: Likewise.
* linux/powerpc/syscallent.h: Likewise.
* linux/sh64/syscallent.h: Likewise.
* linux/sh/syscallent.h: Likewise.
* linux/sparc64/syscallent.h: Likewise.
* linux/sparc/syscallent.h: Likewise.
* linux/avr32/syscallent.h (lstat, lstat64): Likewise.
* linux/hppa/syscallent.h: Likewise.
* linux/powerpc64/syscallent.h: Likewise.
* linux/s390/syscallent.h: Likewise.
* linux/xtensa/syscallent.h: Likewise.
* linux/alpha/syscallent.h (lstat, lstat64, osf_lstat, osf_old_lstat): Likewise.
* linux/mips/syscallent-compat.h (bsd43_lstat, posix_lstat, svr4_lstat,
sysv_lstat): Likewise.
* tests/gen_tests.in (trace_lstat): New entry.
* tests/trace_lstat.in: New file.
* tests/Makefile.am (EXTRA_DIST): Add it.
* tests/ksysent.c (TLST): New macro, defined to 0.
* tests/nsyscalls.c: Likewise.
2017-04-21 19:49:03 +00:00

32 lines
1.6 KiB
C

#ifndef STRACE_SYSENT_H
#define STRACE_SYSENT_H
typedef struct sysent {
unsigned nargs;
int sys_flags;
int sen;
int (*sys_func)();
const char *sys_name;
} struct_sysent;
#define TRACE_FILE 00000001 /* Trace file-related syscalls. */
#define TRACE_IPC 00000002 /* Trace IPC-related syscalls. */
#define TRACE_NETWORK 00000004 /* Trace network-related syscalls. */
#define TRACE_PROCESS 00000010 /* Trace process-related syscalls. */
#define TRACE_SIGNAL 00000020 /* Trace signal-related syscalls. */
#define TRACE_DESC 00000040 /* Trace file descriptor-related syscalls. */
#define TRACE_MEMORY 00000100 /* Trace memory mapping-related syscalls. */
#define SYSCALL_NEVER_FAILS 00000200 /* Syscall is always successful. */
#define STACKTRACE_INVALIDATE_CACHE 00000400 /* Trigger proc/maps cache updating */
#define STACKTRACE_CAPTURE_ON_ENTER 00001000 /* Capture stacktrace on "entering" stage */
#define TRACE_INDIRECT_SUBCALL 00002000 /* Syscall is an indirect socket/ipc subcall. */
#define COMPAT_SYSCALL_TYPES 00004000 /* A compat syscall that uses compat types. */
#define TRACE_LSTAT 00020000 /* Trace *lstat* syscalls. */
#define TRACE_STATFS 00040000 /* Trace statfs, statfs64, and statvfs syscalls. */
#define TRACE_FSTATFS 00100000 /* Trace fstatfs, fstatfs64 and fstatvfs syscalls. */
#define TRACE_STATFS_LIKE 00200000 /* Trace statfs-like, fstatfs-like and ustat syscalls. */
#define TRACE_FSTAT 00400000 /* Trace *fstat{,at}{,64} syscalls. */
#define TRACE_STAT_LIKE 01000000 /* Trace *{,l,f}stat{,x,at}{,64} syscalls. */
#endif /* !STRACE_SYSENT_H */