root/include/trace/syscall.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. syscall_tracepoint_update
  2. syscall_tracepoint_update

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _TRACE_SYSCALL_H
   3 #define _TRACE_SYSCALL_H
   4 
   5 #include <linux/tracepoint.h>
   6 #include <linux/unistd.h>
   7 #include <linux/trace_events.h>
   8 #include <linux/thread_info.h>
   9 
  10 #include <asm/ptrace.h>
  11 
  12 
  13 /*
  14  * A syscall entry in the ftrace syscalls array.
  15  *
  16  * @name: name of the syscall
  17  * @syscall_nr: number of the syscall
  18  * @nb_args: number of parameters it takes
  19  * @types: list of types as strings
  20  * @args: list of args as strings (args[i] matches types[i])
  21  * @enter_fields: list of fields for syscall_enter trace event
  22  * @enter_event: associated syscall_enter trace event
  23  * @exit_event: associated syscall_exit trace event
  24  */
  25 struct syscall_metadata {
  26         const char      *name;
  27         int             syscall_nr;
  28         int             nb_args;
  29         const char      **types;
  30         const char      **args;
  31         struct list_head enter_fields;
  32 
  33         struct trace_event_call *enter_event;
  34         struct trace_event_call *exit_event;
  35 };
  36 
  37 #if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_HAVE_SYSCALL_TRACEPOINTS)
  38 static inline void syscall_tracepoint_update(struct task_struct *p)
  39 {
  40         if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
  41                 set_tsk_thread_flag(p, TIF_SYSCALL_TRACEPOINT);
  42         else
  43                 clear_tsk_thread_flag(p, TIF_SYSCALL_TRACEPOINT);
  44 }
  45 #else
  46 static inline void syscall_tracepoint_update(struct task_struct *p)
  47 {
  48 }
  49 #endif
  50 
  51 #endif /* _TRACE_SYSCALL_H */

/* [<][>][^][v][top][bottom][index][help] */