Implement array and sequence bitfields
[lttng-modules.git] / probes / lttng-events-write.h
1 /*
2 * lttng-events-write.h
3 *
4 * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; only
9 * version 2.1 of the License.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21 #undef ctf_integer
22 #define ctf_integer(_type, _item, _src) \
23 _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, 0, 0)
24
25 #undef ctf_integer_hex
26 #define ctf_integer_hex(_type, _item, _src) \
27 _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 16, 0, 0)
28
29 #undef ctf_integer_oct
30 #define ctf_integer_oct(_type, _item, _src) \
31 _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 8, 0, 0)
32
33 #undef ctf_integer_network
34 #define ctf_integer_network(_type, _item, _src) \
35 _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 10, 0, 0)
36
37 #undef ctf_integer_network_hex
38 #define ctf_integer_network_hex(_type, _item, _src) \
39 _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 16, 0, 0)
40
41 #undef ctf_array
42 #define ctf_array(_type, _item, _src, _length) \
43 _ctf_array_encoded(_type, _item, _src, _length, none, 0, 0)
44
45 #undef ctf_array_text
46 #define ctf_array_text(_type, _item, _src, _length) \
47 _ctf_array_encoded(_type, _item, _src, _length, UTF8, 0, 0)
48
49 #undef ctf_array_bitfield
50 #define ctf_array_bitfield(_type, _item, _src, _length) \
51 _ctf_array_bitfield(_type, _item, _src, _length, 0, 0)
52
53 #undef ctf_sequence
54 #define ctf_sequence(_type, _item, _src, _length_type, _src_length) \
55 _ctf_sequence_encoded(_type, _item, _src, \
56 _length_type, _src_length, none, __BYTE_ORDER, 10, 0, 0)
57
58 #undef ctf_sequence_hex
59 #define ctf_sequence_hex(_type, _item, _src, _length_type, _src_length) \
60 _ctf_sequence_encoded(_type, _item, _src, \
61 _length_type, _src_length, none, __BYTE_ORDER, 16, 0, 0)
62
63 #undef ctf_sequence_network
64 #define ctf_sequence_network(_type, _item, _src, _length_type, _src_length) \
65 _ctf_sequence_encoded(_type, _item, _src, \
66 _length_type, _src_length, none, __BIG_ENDIAN, 10, 0, 0)
67
68 #undef ctf_sequence_text
69 #define ctf_sequence_text(_type, _item, _src, _length_type, _src_length) \
70 _ctf_sequence_encoded(_type, _item, _src, \
71 _length_type, _src_length, UTF8, __BYTE_ORDER, 10, 0, 0)
72
73 #undef ctf_sequence_bitfield
74 #define ctf_sequence_bitfield(_type, _item, _src, _length_type, _src_length) \
75 _ctf_sequence_bitfield(_type, _item, _src, \
76 _length_type, _src_length, 0, 0)
77
78 #undef ctf_string
79 #define ctf_string(_item, _src) \
80 _ctf_string(_item, _src, 0, 0)
81
82 /* user src */
83 #undef ctf_user_integer
84 #define ctf_user_integer(_type, _item, _src) \
85 _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, 1, 0)
86
87 #undef ctf_user_integer_hex
88 #define ctf_user_integer_hex(_type, _item, _src) \
89 _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 16, 1, 0)
90
91 #undef ctf_user_integer_network
92 #define ctf_user_integer_network(_type, _item, _src) \
93 _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 10, 1, 0)
94
95 #undef ctf_user_integer_network_hex
96 #define ctf_user_integer_network_hex(_type, _item, _src) \
97 _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 16, 1, 0)
98
99 #undef ctf_user_array
100 #define ctf_user_array(_type, _item, _src, _length) \
101 _ctf_array_encoded(_type, _item, _src, _length, none, 1, 0)
102
103 #undef ctf_user_array_text
104 #define ctf_user_array_text(_type, _item, _src, _length) \
105 _ctf_array_encoded(_type, _item, _src, _length, UTF8, 1, 0)
106
107 #undef ctf_user_array_bitfield
108 #define ctf_user_array_bitfield(_type, _item, _src, _length) \
109 _ctf_array_bitfield(_type, _item, _src, _length, 1, 0)
110
111 #undef ctf_user_sequence
112 #define ctf_user_sequence(_type, _item, _src, _length_type, _src_length) \
113 _ctf_sequence_encoded(_type, _item, _src, \
114 _length_type, _src_length, none, __BYTE_ORDER, 10, 1, 0)
115
116 #undef ctf_user_sequence_hex
117 #define ctf_user_sequence_hex(_type, _item, _src, _length_type, _src_length) \
118 _ctf_sequence_encoded(_type, _item, _src, \
119 _length_type, _src_length, none, __BYTE_ORDER, 16, 1, 0)
120
121 #undef ctf_user_sequence_text
122 #define ctf_user_sequence_text(_type, _item, _src, _length_type, _src_length) \
123 _ctf_sequence_encoded(_type, _item, _src, \
124 _length_type, _src_length, UTF8, __BYTE_ORDER, 10, 1, 0)
125
126 #undef ctf_user_sequence_bitfield
127 #define ctf_user_sequence_bitfield(_type, _item, _src, _length_type, _src_length) \
128 _ctf_sequence_bitfield(_type, _item, _src, \
129 _length_type, _src_length, 1, 0)
130
131 #undef ctf_user_string
132 #define ctf_user_string(_item, _src) \
133 _ctf_string(_item, _src, 1, 0)
This page took 0.033027 seconds and 5 git commands to generate.