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
)(const uint8_t *ptr
, size_t len
, int byte_order
);
33 int64_t (*int_read
)(const uint8_t *ptr
, size_t len
, int byte_order
);
34 size_t (*uint_write
)(uint8_t *ptr
, size_t len
, int byte_order
, uint64_t v
);
35 size_t (*int_write
)(uint8_t *ptr
, size_t len
, int byte_order
, int64_t v
);
37 uint64_t (*bitfield_unsigned_read
)(const unsigned char *ptr
,
38 unsigned long start
, unsigned long len
,
40 int64_t (*bitfield_signed_read
)(const unsigned char *ptr
,
41 unsigned long start
, unsigned long len
,
43 size_t (*bitfield_unsigned_write
)(unsigned char *ptr
,
44 unsigned long start
, unsigned long len
,
45 int byte_order
, uint64_t v
);
46 size_t (*bitfield_signed_write
)(unsigned char *ptr
,
47 unsigned long start
, unsigned long len
,
48 int byte_order
, int64_t v
);
51 void (*float_copy
)(unsigned char *destp
, const struct type_class_float
*dest
,
52 const unsigned char *srcp
, const struct type_class_float
*src
);
53 double (*double_read
)(const unsigned char *ptr
, const struct type_class_float
*src
);
54 size_t (*double_write
)(unsigned char *ptr
, const struct type_class_float
*dest
,
58 size_t (*string_copy
)(unsigned char *dest
, const unsigned char *src
);
60 GQuark (*enum_uint_to_quark
)(const struct enum_table
*table
, uint64_t v
);
61 GQuark (*enum_int_to_quark
)(const struct enum_table
*table
, uint64_t v
);
62 uint64_t (*enum_quark_to_uint
)(size_t len
, int byte_order
, GQuark q
);
63 int64_t (*enum_quark_to_int
)(size_t len
, int byte_order
, GQuark q
);
66 struct format
*bt_lookup_format(GQuark qname
);
67 int bt_register_format(const struct format
*format
);
69 /* TBD: format unregistration */
71 #endif /* _BABELTRACE_FORMAT_H */
This page took 0.03276 seconds and 5 git commands to generate.