X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-ir%2Fclock-value-internal.h;fp=include%2Fbabeltrace%2Fctf-ir%2Fclock-value-internal.h;h=0f23181b733595b275621cf0cfffdae28f803ee3;hb=312c056ae3d374b253fa0cfe5ed576c0b0e5e569;hp=a33a71cae78d3cf7cfede107db575547b716bf7e;hpb=d1e4683534e67cc8643ad27536f64f6cc54bc5dc;p=babeltrace.git diff --git a/include/babeltrace/ctf-ir/clock-value-internal.h b/include/babeltrace/ctf-ir/clock-value-internal.h index a33a71ca..0f23181b 100644 --- a/include/babeltrace/ctf-ir/clock-value-internal.h +++ b/include/babeltrace/ctf-ir/clock-value-internal.h @@ -23,6 +23,7 @@ * SOFTWARE. */ +#include #include #include #include @@ -35,6 +36,48 @@ struct bt_clock_value { uint64_t value; bool ns_from_epoch_overflows; int64_t ns_from_epoch; + bool is_set; + bool frozen; }; +static inline +void bt_clock_value_set(struct bt_clock_value *clock_value) +{ + BT_ASSERT(clock_value); + clock_value->is_set = true; +} + +static inline +void bt_clock_value_reset(struct bt_clock_value *clock_value) +{ + BT_ASSERT(clock_value); + clock_value->is_set = false; +} + +BT_UNUSED +static inline +void _bt_clock_value_set_is_frozen(struct bt_clock_value *clock_value, + bool is_frozen) +{ + BT_ASSERT(clock_value); + clock_value->frozen = is_frozen; +} + +#ifdef BT_DEV_MODE +# define bt_clock_value_set_is_frozen _bt_clock_value_set_is_frozen +#else +# define bt_clock_value_set_is_frozen(_x, _f) +#endif /* BT_DEV_MODE */ + +BT_HIDDEN +struct bt_clock_value *bt_clock_value_create( + struct bt_clock_class *clock_class); + +BT_HIDDEN +void bt_clock_value_recycle(struct bt_clock_value *clock_value); + +BT_HIDDEN +void bt_clock_value_set_raw_value(struct bt_clock_value *clock_value, + uint64_t cycles); + #endif /* BABELTRACE_CTF_IR_CLOCK_VALUE_INTERNAL_H */