linux/kernel/trace/trace_output.h
<<
>>
Prefs
   1#ifndef __TRACE_EVENTS_H
   2#define __TRACE_EVENTS_H
   3
   4#include <linux/trace_seq.h>
   5#include "trace.h"
   6
   7extern enum print_line_t
   8trace_print_bprintk_msg_only(struct trace_iterator *iter);
   9extern enum print_line_t
  10trace_print_printk_msg_only(struct trace_iterator *iter);
  11
  12extern int
  13seq_print_ip_sym(struct trace_seq *s, unsigned long ip,
  14                unsigned long sym_flags);
  15extern int seq_print_userip_objs(const struct userstack_entry *entry,
  16                                 struct trace_seq *s, unsigned long sym_flags);
  17extern int seq_print_user_ip(struct trace_seq *s, struct mm_struct *mm,
  18                             unsigned long ip, unsigned long sym_flags);
  19
  20extern int trace_print_context(struct trace_iterator *iter);
  21extern int trace_print_lat_context(struct trace_iterator *iter);
  22
  23extern void trace_event_read_lock(void);
  24extern void trace_event_read_unlock(void);
  25extern struct trace_event *ftrace_find_event(int type);
  26
  27extern enum print_line_t trace_nop_print(struct trace_iterator *iter,
  28                                         int flags, struct trace_event *event);
  29extern int
  30trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry);
  31
  32/* used by module unregistering */
  33extern int __unregister_ftrace_event(struct trace_event *event);
  34extern struct rw_semaphore trace_event_mutex;
  35
  36#define MAX_MEMHEX_BYTES        8
  37#define HEX_CHARS               (MAX_MEMHEX_BYTES*2 + 1)
  38
  39#define SEQ_PUT_FIELD_RET(s, x)                         \
  40do {                                                    \
  41        if (!trace_seq_putmem(s, &(x), sizeof(x)))      \
  42                return TRACE_TYPE_PARTIAL_LINE;         \
  43} while (0)
  44
  45#define SEQ_PUT_HEX_FIELD_RET(s, x)                     \
  46do {                                                    \
  47        BUILD_BUG_ON(sizeof(x) > MAX_MEMHEX_BYTES);     \
  48        if (!trace_seq_putmem_hex(s, &(x), sizeof(x)))  \
  49                return TRACE_TYPE_PARTIAL_LINE;         \
  50} while (0)
  51
  52#endif
  53
  54