1
2
3
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