linux/include/trace/stages/stage4_event_fields.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2
   3/* Stage 4 definitions for creating trace events */
   4
   5#undef __field_ext
   6#define __field_ext(_type, _item, _filter_type) {                       \
   7        .type = #_type, .name = #_item,                                 \
   8        .size = sizeof(_type), .align = __alignof__(_type),             \
   9        .is_signed = is_signed_type(_type), .filter_type = _filter_type },
  10
  11#undef __field_struct_ext
  12#define __field_struct_ext(_type, _item, _filter_type) {                \
  13        .type = #_type, .name = #_item,                                 \
  14        .size = sizeof(_type), .align = __alignof__(_type),             \
  15        0, .filter_type = _filter_type },
  16
  17#undef __field
  18#define __field(type, item)     __field_ext(type, item, FILTER_OTHER)
  19
  20#undef __field_struct
  21#define __field_struct(type, item) __field_struct_ext(type, item, FILTER_OTHER)
  22
  23#undef __array
  24#define __array(_type, _item, _len) {                                   \
  25        .type = #_type"["__stringify(_len)"]", .name = #_item,          \
  26        .size = sizeof(_type[_len]), .align = __alignof__(_type),       \
  27        .is_signed = is_signed_type(_type), .filter_type = FILTER_OTHER },
  28
  29#undef __dynamic_array
  30#define __dynamic_array(_type, _item, _len) {                           \
  31        .type = "__data_loc " #_type "[]", .name = #_item,              \
  32        .size = 4, .align = 4,                                          \
  33        .is_signed = is_signed_type(_type), .filter_type = FILTER_OTHER },
  34
  35#undef __string
  36#define __string(item, src) __dynamic_array(char, item, -1)
  37
  38#undef __string_len
  39#define __string_len(item, src, len) __dynamic_array(char, item, -1)
  40
  41#undef __bitmask
  42#define __bitmask(item, nr_bits) __dynamic_array(unsigned long, item, -1)
  43
  44#undef __sockaddr
  45#define __sockaddr(field, len) __dynamic_array(u8, field, len)
  46
  47#undef __rel_dynamic_array
  48#define __rel_dynamic_array(_type, _item, _len) {                       \
  49        .type = "__rel_loc " #_type "[]", .name = #_item,               \
  50        .size = 4, .align = 4,                                          \
  51        .is_signed = is_signed_type(_type), .filter_type = FILTER_OTHER },
  52
  53#undef __rel_string
  54#define __rel_string(item, src) __rel_dynamic_array(char, item, -1)
  55
  56#undef __rel_string_len
  57#define __rel_string_len(item, src, len) __rel_dynamic_array(char, item, -1)
  58
  59#undef __rel_bitmask
  60#define __rel_bitmask(item, nr_bits) __rel_dynamic_array(unsigned long, item, -1)
  61
  62#undef __rel_sockaddr
  63#define __rel_sockaddr(field, len) __rel_dynamic_array(u8, field, len)
  64