• Steven Rostedt's avatar
    tracing: Add __field_struct macro for TRACE_EVENT() · 4d4c9cc8
    Steven Rostedt authored
    Currently the __field() macro in TRACE_EVENT is only good for primitive
    values, such as integers and pointers, but it fails on complex data types
    such as structures or unions. This is because the __field() macro
    determines if the variable is signed or not with the test of:
    
      (((type)(-1)) < (type)1)
    
    Unfortunately, that fails when type is a structure.
    
    Since trace events should support structures as fields a new macro
    is created for such a case called __field_struct() which acts exactly
    the same as __field() does but it does not do the signed type check
    and just uses a constant false for that answer.
    
    Cc: Tony Luck <tony.luck@gmail.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    4d4c9cc8
trace-events-sample.h 4.34 KB