Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
[sfrench/cifs-2.6.git] / include / trace / stages / stage4_event_fields.h
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)