Implement array and sequence bitfields
[lttng-modules.git] / probes / lttng-events-write.h
CommitLineData
af2a1fe5
MD
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
43803cf2
MD
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
af2a1fe5
MD
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, \
5e6f60b2 71 _length_type, _src_length, UTF8, __BYTE_ORDER, 10, 0, 0)
af2a1fe5 72
43803cf2
MD
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
af2a1fe5
MD
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
43803cf2
MD
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
af2a1fe5
MD
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, \
5e6f60b2 124 _length_type, _src_length, UTF8, __BYTE_ORDER, 10, 1, 0)
af2a1fe5 125
43803cf2
MD
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
af2a1fe5
MD
131#undef ctf_user_string
132#define ctf_user_string(_item, _src) \
133 _ctf_string(_item, _src, 1, 0)
This page took 0.026982 seconds and 4 git commands to generate.