X-Git-Url: https://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf%2Ftypes.h;h=0bc003c8f8f6b65706436902d33d57b01feb92d9;hb=7f965b97207a777ffd9b6b9e5bff514067aa9f5f;hp=c336632f7e6eb34b93190ae5e4d71c5f1a12d994;hpb=fcf104173870de4678c8f69e33039d39193c939a;p=babeltrace.git diff --git a/include/babeltrace/ctf/types.h b/include/babeltrace/ctf/types.h index c336632f..0bc003c8 100644 --- a/include/babeltrace/ctf/types.h +++ b/include/babeltrace/ctf/types.h @@ -39,6 +39,7 @@ #include #include #include +#include #define LAST_OFFSET_POISON ((int64_t) ~0ULL) @@ -58,6 +59,9 @@ struct packet_index { uint64_t events_discarded_len; /* length of the field, in bits */ struct packet_index_time ts_cycles; /* timestamp in cycles */ struct packet_index_time ts_real; /* realtime timestamp */ + /* CTF_INDEX 1.0 limit */ + uint64_t stream_instance_id; /* ID of the channel instance */ + uint64_t packet_seq_num; /* packet sequence number */ }; /* @@ -88,6 +92,7 @@ struct ctf_stream_pos { int dummy; /* dummy position, for length calculation */ struct bt_stream_callbacks *cb; /* Callbacks registered for iterator. */ + size_t file_length; /* length of backing file, in bytes. */ void *priv; }; @@ -220,9 +225,10 @@ int ctf_pos_packet(struct ctf_stream_pos *dummy) } static inline -void ctf_pos_pad_packet(struct ctf_stream_pos *pos) +int ctf_pos_pad_packet(struct ctf_stream_pos *pos) { ctf_packet_seek(&pos->parent, 0, SEEK_CUR); + return bt_packet_seek_get_error(); } /* @@ -230,8 +236,10 @@ void ctf_pos_pad_packet(struct ctf_stream_pos *pos) * the next packet if we are located at the end of the current packet. */ static inline -void ctf_pos_get_event(struct ctf_stream_pos *pos) +int ctf_pos_get_event(struct ctf_stream_pos *pos) { + int ret = 0; + assert(pos->offset <= pos->content_size); if (pos->offset == pos->content_size) { printf_debug("ctf_packet_seek (before call): %" PRId64 "\n", @@ -239,12 +247,15 @@ void ctf_pos_get_event(struct ctf_stream_pos *pos) pos->packet_seek(&pos->parent, 0, SEEK_CUR); printf_debug("ctf_packet_seek (after call): %" PRId64 "\n", pos->offset); + ret = bt_packet_seek_get_error(); } + return ret; } void ctf_print_timestamp(FILE *fp, struct ctf_stream_definition *stream, uint64_t timestamp); int ctf_append_trace_metadata(struct bt_trace_descriptor *tdp, FILE *metadata_fp); +void ctf_print_discarded_lost(FILE *fp, struct ctf_stream_definition *stream); #endif /* _BABELTRACE_CTF_TYPES_H */