-extern void trace_event_update_process(void);
-extern int is_trace_event_enabled(const char *channel, const char *name);
-
-extern int trace_event_register_lib(struct trace_event *start_trace_events,
- int trace_event_count);
-
-extern int trace_event_unregister_lib(struct trace_event *start_trace_events);
-
-#define TRACE_EVENT_LIB \
- extern struct trace_event __start___trace_events[] \
- __attribute__((weak, visibility("hidden"))); \
- extern struct trace_event __stop___trace_events[] \
- __attribute__((weak, visibility("hidden"))); \
- static void __attribute__((constructor)) \
- __trace_events__init(void) \
- { \
- long trace_event_count =((long)__stop___trace_events- \
- (long)__start___trace_events) \
- /sizeof(struct trace_event); \
- trace_event_register_lib(__start___trace_events, \
- trace_event_count); \
- } \
- \
- static void __attribute__((destructor)) \
- __trace_event__destroy(void) \
- { \
- trace_event_unregister_lib(__start___trace_events); \
- }
-
-#define DECLARE_TRACE_EVENT_CLASS(name, proto, args, tstruct, assign, print)
-#define DEFINE_TRACE_EVENT(template, name, proto, args) \
- DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
-#define DEFINE_TRACE_EVENT_PRINT(template, name, proto, args, print) \
- DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
-
-#define TRACE_EVENT(name, proto, args, struct, assign, print) \
- DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
-#define TRACE_EVENT_FN(name, proto, args, struct, \
- assign, print, reg, unreg) \
- DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))