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 uint64_t (*bitfield_unsigned_read
)(struct stream_pos
*pos
,
44 const struct type_class_bitfield
*bitfield_class
);
45 int64_t (*bitfield_signed_read
)(struct stream_pos
*pos
,
46 const struct type_class_bitfield
*bitfield_class
);
47 void (*bitfield_unsigned_write
)(struct stream_pos
*pos
,
48 const struct type_class_bitfield
*bitfield_class
,
50 void (*bitfield_signed_write
)(struct stream_pos
*pos
,
51 const struct type_class_bitfield
*bitfield_class
,
54 void (*float_copy
)(struct stream_pos
*destp
,
55 const struct type_class_float
*dest
,
56 struct stream_pos
*srcp
,
57 const struct type_class_float
*src
);
58 double (*double_read
)(struct stream_pos
*pos
,
59 const struct type_class_float
*src
);
60 void (*double_write
)(struct stream_pos
*pos
,
61 const struct type_class_float
*dest
,
64 void (*string_copy
)(struct stream_pos
*dest
, struct stream_pos
*src
,
65 const struct type_class_string
*string_class
);
66 void (*string_read
)(unsigned char **dest
, struct stream_pos
*src
,
67 const struct type_class_string
*string_class
);
68 void (*string_write
)(struct stream_pos
*dest
, const unsigned char *src
,
69 const struct type_class_string
*string_class
);
70 void (*string_free_temp
)(unsigned char *string
);
72 GQuark (*enum_read
)(struct stream_pos
*pos
,
73 const struct type_class_enum
*src
);
74 void (*enum_write
)(struct stream_pos
*pos
,
75 const struct type_class_enum
*dest
,
80 struct format
*bt_lookup_format(GQuark qname
);
81 int bt_register_format(const struct format
*format
);
83 /* TBD: format unregistration */
85 #endif /* _BABELTRACE_FORMAT_H */
This page took 0.034168 seconds and 5 git commands to generate.