*
* BabelTrace - Convert Text Log to CTF
*
- * Copyright 2010, 2011 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ * Copyright 2010-2011 EfficiOS Inc. and Linux Foundation
+ *
+ * Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
static char *s_outputname;
static int s_timestamp;
+static int s_help;
static uuid_t s_uuid;
/* Metadata format string */
" byte_order = %s;\n" /* be or le */
" packet.header := struct {\n"
" uint32_t magic;\n"
-" uint8_t trace_uuid[16];\n"
+" uint8_t uuid[16];\n"
" };\n"
"};\n"
"\n"
*(uint32_t *) ctf_get_pos_addr(pos) = 0xC1FC1FC1;
ctf_move_pos(pos, sizeof(uint32_t) * CHAR_BIT);
- /* trace_uuid */
+ /* uuid */
ctf_dummy_pos(pos, &dummy);
ctf_align_pos(&dummy, sizeof(uint8_t) * CHAR_BIT);
ctf_move_pos(&dummy, 16 * CHAR_BIT);
/* timestamp */
ctf_align_pos(pos, sizeof(uint64_t) * CHAR_BIT);
if (!pos->dummy)
- *(uint32_t *) ctf_get_pos_addr(pos) = *ts;
+ *(uint64_t *) ctf_get_pos_addr(pos) = *ts;
ctf_move_pos(pos, sizeof(uint64_t) * CHAR_BIT);
}
for (i = 1; i < argc; i++) {
if (!strcmp(argv[i], "-t"))
s_timestamp = 1;
+ else if (!strcmp(argv[i], "-h")) {
+ s_help = 1;
+ return 0;
+ } else if (argv[i][0] == '-')
+ return -EINVAL;
else
s_outputname = argv[i];
}
ret = parse_args(argc, argv);
if (ret) {
+ fprintf(stdout, "Error: invalid argument.\n");
usage(stdout);
goto error;
}
+ if (s_help) {
+ usage(stdout);
+ exit(EXIT_SUCCESS);
+ }
+
ret = mkdir(s_outputname, S_IRWXU|S_IRWXG);
if (ret) {
perror("mkdir");