~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/trace/define_trace.h

Version: ~ [ linux-5.9-rc6 ] ~ [ linux-5.8.10 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.66 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.146 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.198 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.236 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.236 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.85 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * Trace files that want to automate creation of all tracepoints defined
  3  * in their file should include this file. The following are macros that the
  4  * trace file may define:
  5  *
  6  * TRACE_SYSTEM defines the system the tracepoint is for
  7  *
  8  * TRACE_INCLUDE_FILE if the file name is something other than TRACE_SYSTEM.h
  9  *     This macro may be defined to tell define_trace.h what file to include.
 10  *     Note, leave off the ".h".
 11  *
 12  * TRACE_INCLUDE_PATH if the path is something other than core kernel include/trace
 13  *     then this macro can define the path to use. Note, the path is relative to
 14  *     define_trace.h, not the file including it. Full path names for out of tree
 15  *     modules must be used.
 16  */
 17 
 18 #ifdef CREATE_TRACE_POINTS
 19 
 20 /* Prevent recursion */
 21 #undef CREATE_TRACE_POINTS
 22 
 23 #include <linux/stringify.h>
 24 
 25 #undef TRACE_EVENT
 26 #define TRACE_EVENT(name, proto, args, tstruct, assign, print)  \
 27         DEFINE_TRACE(name)
 28 
 29 #undef TRACE_EVENT_CONDITION
 30 #define TRACE_EVENT_CONDITION(name, proto, args, cond, tstruct, assign, print) \
 31         TRACE_EVENT(name,                                               \
 32                 PARAMS(proto),                                          \
 33                 PARAMS(args),                                           \
 34                 PARAMS(tstruct),                                        \
 35                 PARAMS(assign),                                         \
 36                 PARAMS(print))
 37 
 38 #undef TRACE_EVENT_FN
 39 #define TRACE_EVENT_FN(name, proto, args, tstruct,              \
 40                 assign, print, reg, unreg)                      \
 41         DEFINE_TRACE_FN(name, reg, unreg)
 42 
 43 #undef DEFINE_EVENT
 44 #define DEFINE_EVENT(template, name, proto, args) \
 45         DEFINE_TRACE(name)
 46 
 47 #undef DEFINE_EVENT_FN
 48 #define DEFINE_EVENT_FN(template, name, proto, args, reg, unreg) \
 49         DEFINE_TRACE_FN(name, reg, unreg)
 50 
 51 #undef DEFINE_EVENT_PRINT
 52 #define DEFINE_EVENT_PRINT(template, name, proto, args, print)  \
 53         DEFINE_TRACE(name)
 54 
 55 #undef DEFINE_EVENT_CONDITION
 56 #define DEFINE_EVENT_CONDITION(template, name, proto, args, cond) \
 57         DEFINE_EVENT(template, name, PARAMS(proto), PARAMS(args))
 58 
 59 #undef DECLARE_TRACE
 60 #define DECLARE_TRACE(name, proto, args)        \
 61         DEFINE_TRACE(name)
 62 
 63 #undef TRACE_INCLUDE
 64 #undef __TRACE_INCLUDE
 65 
 66 #ifndef TRACE_INCLUDE_FILE
 67 # define TRACE_INCLUDE_FILE TRACE_SYSTEM
 68 # define UNDEF_TRACE_INCLUDE_FILE
 69 #endif
 70 
 71 #ifndef TRACE_INCLUDE_PATH
 72 # define __TRACE_INCLUDE(system) <trace/events/system.h>
 73 # define UNDEF_TRACE_INCLUDE_PATH
 74 #else
 75 # define __TRACE_INCLUDE(system) __stringify(TRACE_INCLUDE_PATH/system.h)
 76 #endif
 77 
 78 # define TRACE_INCLUDE(system) __TRACE_INCLUDE(system)
 79 
 80 /* Let the trace headers be reread */
 81 #define TRACE_HEADER_MULTI_READ
 82 
 83 #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
 84 
 85 /* Make all open coded DECLARE_TRACE nops */
 86 #undef DECLARE_TRACE
 87 #define DECLARE_TRACE(name, proto, args)
 88 
 89 #ifdef CONFIG_EVENT_TRACING
 90 #include <trace/ftrace.h>
 91 #endif
 92 
 93 #undef TRACE_EVENT
 94 #undef TRACE_EVENT_FN
 95 #undef TRACE_EVENT_CONDITION
 96 #undef DECLARE_EVENT_CLASS
 97 #undef DEFINE_EVENT
 98 #undef DEFINE_EVENT_FN
 99 #undef DEFINE_EVENT_PRINT
100 #undef DEFINE_EVENT_CONDITION
101 #undef TRACE_HEADER_MULTI_READ
102 #undef DECLARE_TRACE
103 
104 /* Only undef what we defined in this file */
105 #ifdef UNDEF_TRACE_INCLUDE_FILE
106 # undef TRACE_INCLUDE_FILE
107 # undef UNDEF_TRACE_INCLUDE_FILE
108 #endif
109 
110 #ifdef UNDEF_TRACE_INCLUDE_PATH
111 # undef TRACE_INCLUDE_PATH
112 # undef UNDEF_TRACE_INCLUDE_PATH
113 #endif
114 
115 /* We may be processing more files */
116 #define CREATE_TRACE_POINTS
117 
118 #endif /* CREATE_TRACE_POINTS */
119 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp