* Depends on glibc 2.10 for getline().
*/
+#define _GNU_SOURCE
#include <config.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdint.h>
#include <unistd.h>
#include <errno.h>
-#include <uuid/uuid.h>
#include <string.h>
-#include <endian.h>
-#include <babeltrace/babeltrace.h>
+#include <babeltrace/babeltrace-internal.h>
#include <babeltrace/ctf/types.h>
+#include <babeltrace/uuid.h>
+#include <babeltrace/endian.h>
#define USEC_PER_SEC 1000000UL
-#ifndef UUID_STR_LEN
-#define UUID_STR_LEN 37 /* With \0 */
-#endif
-
int babeltrace_debug, babeltrace_verbose;
static char *s_outputname;
static int s_timestamp;
static int s_help;
-static uuid_t s_uuid;
+static unsigned char s_uuid[BABELTRACE_UUID_LEN];
/* Metadata format string */
static const char metadata_fmt[] =
+"/* CTF 1.8 */\n"
"typealias integer { size = 8; align = 8; signed = false; } := uint8_t;\n"
"typealias integer { size = 32; align = 32; signed = false; } := uint32_t;\n"
"\n"
static
void print_metadata(FILE *fp)
{
- char uuid_str[UUID_STR_LEN];
+ char uuid_str[BABELTRACE_UUID_STR_LEN];
unsigned int major = 0, minor = 0;
int ret;
ret = sscanf(VERSION, "%u.%u", &major, &minor);
if (ret != 2)
fprintf(stderr, "[warning] Incorrect babeltrace version format\n.");
- uuid_unparse(s_uuid, uuid_str);
+ babeltrace_uuid_unparse(s_uuid, uuid_str);
fprintf(fp, metadata_fmt,
major,
minor,
}
static
-void write_packet_header(struct ctf_stream_pos *pos, uuid_t uuid)
+void write_packet_header(struct ctf_stream_pos *pos, unsigned char *uuid)
{
struct ctf_stream_pos dummy;
assert(!ctf_pos_packet(&dummy));
ctf_align_pos(pos, sizeof(uint8_t) * CHAR_BIT);
- memcpy(ctf_get_pos_addr(pos), uuid, 16);
- ctf_move_pos(pos, 16 * CHAR_BIT);
+ memcpy(ctf_get_pos_addr(pos), uuid, BABELTRACE_UUID_LEN);
+ ctf_move_pos(pos, BABELTRACE_UUID_LEN * CHAR_BIT);
}
static
write_packet_header(pos, s_uuid);
write_packet_context(pos);
if (attempt++ == 1) {
- fprintf(stdout, "[Error] Line too large for packet size (%zukB) (discarded)\n",
+ fprintf(stderr, "[Error] Line too large for packet size (%zukB) (discarded)\n",
pos->packet_size / CHAR_BIT / 1024);
return;
}
ret = parse_args(argc, argv);
if (ret) {
- fprintf(stdout, "Error: invalid argument.\n");
- usage(stdout);
+ fprintf(stderr, "Error: invalid argument.\n");
+ usage(stderr);
goto error;
}
goto error_closemetadatafd;
}
- uuid_generate(s_uuid);
+ babeltrace_uuid_generate(s_uuid);
print_metadata(metadata_fp);
trace_text(stdin, fd);