return -EINVAL;
}
CTF_TRACE_SET_FIELD(trace, minor);
- } else if (!strcmp(left, "word_size")) {
- if (CTF_TRACE_FIELD_IS_SET(trace, word_size)) {
- fprintf(fd, "[error] %s: word_size already declared in trace declaration\n", __func__);
- return -EPERM;
- }
- ret = get_unary_unsigned(&node->u.ctf_expression.right, &trace->word_size);
- if (ret) {
- fprintf(fd, "[error] %s: unexpected unary expression for trace word_size\n", __func__);
- return -EINVAL;
- }
- CTF_TRACE_SET_FIELD(trace, word_size);
} else if (!strcmp(left, "uuid")) {
if (CTF_TRACE_FIELD_IS_SET(trace, uuid)) {
fprintf(fd, "[error] %s: uuid already declared in trace declaration\n", __func__);
fprintf(fd, "[error] %s: missing uuid field in trace declaration\n", __func__);
goto error;
}
- if (!CTF_TRACE_FIELD_IS_SET(trace, word_size)) {
- ret = -EPERM;
- fprintf(fd, "[error] %s: missing word_size field in trace declaration\n", __func__);
- goto error;
- }
return 0;
error:
uint64_t major;
uint64_t minor;
uuid_t uuid;
- uint64_t word_size;
int byte_order;
enum { /* Fields populated mask */
CTF_TRACE_major = (1U << 0),
CTF_TRACE_minor = (1U << 1),
CTF_TRACE_uuid = (1U << 2),
- CTF_TRACE_word_size = (1U << 3),
} field_mask;
};