1 #ifndef _BABELTRACE_FORMAT_H
2 #define _BABELTRACE_FORMAT_H
9 * Copyright (c) 2010 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 * This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Lesser General Public
13 * License as published by the Free Software Foundation; either
14 * version 2.1 of the License, or (at your option) any later version.
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Lesser General Public License for more details.
21 * You should have received a copy of the GNU Lesser General Public
22 * License along with this library; if not, write to the Free Software
23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
32 uint64_t (*uint_read
)(struct stream_pos
*pos
,
33 const struct type_class_integer
*int_class
);
34 int64_t (*int_read
)(struct stream_pos
*pos
,
35 const struct type_class_integer
*int_class
);
36 void (*uint_write
)(struct stream_pos
*pos
,
37 const struct type_class_integer
*int_class
,
39 void (*int_write
)(struct stream_pos
*pos
,
40 const struct type_class_integer
*int_class
,
43 void (*float_copy
)(struct stream_pos
*dest
,
44 struct stream_pos
*src
,
45 const struct type_class_float
*src
);
46 double (*double_read
)(struct stream_pos
*pos
,
47 const struct type_class_float
*float_class
);
48 void (*double_write
)(struct stream_pos
*pos
,
49 const struct type_class_float
*float_class
,
52 void (*string_copy
)(struct stream_pos
*dest
, struct stream_pos
*src
,
53 const struct type_class_string
*string_class
);
54 void (*string_read
)(unsigned char **dest
, struct stream_pos
*src
,
55 const struct type_class_string
*string_class
);
56 void (*string_write
)(struct stream_pos
*dest
, const unsigned char *src
,
57 const struct type_class_string
*string_class
);
58 void (*string_free_temp
)(unsigned char *string
);
60 GQuark (*enum_read
)(struct stream_pos
*pos
,
61 const struct type_class_enum
*src
);
62 void (*enum_write
)(struct stream_pos
*pos
,
63 const struct type_class_enum
*dest
,
65 void (*struct_begin
)(struct stream_pos
*pos
,
66 const struct type_class_struct
*struct_class
);
67 void (*struct_end
)(struct stream_pos
*pos
,
68 const struct type_class_struct
*struct_class
);
69 void (*array_begin
)(struct stream_pos
*pos
,
70 const struct type_class_array
*array_class
);
71 void (*array_end
)(struct stream_pos
*pos
,
72 const struct type_class_array
*array_class
);
73 void (*sequence_begin
)(struct stream_pos
*pos
,
74 const struct type_class_sequence
*sequence_class
);
75 void (*sequence_end
)(struct stream_pos
*pos
,
76 const struct type_class_sequence
*sequence_class
);
79 struct format
*bt_lookup_format(GQuark qname
);
80 int bt_register_format(const struct format
*format
);
82 /* TBD: format unregistration */
84 #endif /* _BABELTRACE_FORMAT_H */
This page took 0.03611 seconds and 5 git commands to generate.