X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-writer%2Fstream-class.h;h=1cc00689a1d4fd613ba94aa4ad9b32119f66ed5f;hb=3dca22768a95bef664012559aa9ac977091de6ac;hp=a1d0ba929934eec2c3e530befef4ad621095b3f0;hpb=d975f66c5dcfc7eade13db3edbc975d2055dfe4b;p=babeltrace.git diff --git a/include/babeltrace/ctf-writer/stream-class.h b/include/babeltrace/ctf-writer/stream-class.h index a1d0ba92..1cc00689 100644 --- a/include/babeltrace/ctf-writer/stream-class.h +++ b/include/babeltrace/ctf-writer/stream-class.h @@ -30,35 +30,93 @@ * http://www.efficios.com/ctf */ +#include #include #ifdef __cplusplus extern "C" { #endif -/* - * bt_stream_class_set_clock: assign a clock to a stream class. - * - * Assign a clock to a stream class. This clock will be sampled each time an - * event is appended to an instance of this stream class. - * - * @param stream_class Stream class. - * @param clock Clock to assign to the provided stream class. - * - * Returns 0 on success, a negative value on error. - */ -extern int bt_stream_class_set_clock( - struct bt_stream_class *stream_class, +struct bt_ctf_stream_class; +struct bt_ctf_trace; +struct bt_ctf_event_class; +struct bt_ctf_field_type; +struct bt_ctf_clock; + +extern struct bt_ctf_stream_class *bt_ctf_stream_class_create( + const char *name); + +extern struct bt_ctf_trace *bt_ctf_stream_class_get_trace( + struct bt_ctf_stream_class *stream_class); + +extern const char *bt_ctf_stream_class_get_name( + struct bt_ctf_stream_class *stream_class); + +extern int bt_ctf_stream_class_set_name( + struct bt_ctf_stream_class *stream_class, const char *name); + +extern int64_t bt_ctf_stream_class_get_id( + struct bt_ctf_stream_class *stream_class); + +extern int bt_ctf_stream_class_set_id( + struct bt_ctf_stream_class *stream_class, uint64_t id); + +extern struct bt_ctf_field_type *bt_ctf_stream_class_get_packet_context_type( + struct bt_ctf_stream_class *stream_class); + +extern int bt_ctf_stream_class_set_packet_context_type( + struct bt_ctf_stream_class *stream_class, + struct bt_ctf_field_type *packet_context_type); + +extern struct bt_ctf_field_type * +bt_ctf_stream_class_get_event_header_type( + struct bt_ctf_stream_class *stream_class); + +extern int bt_ctf_stream_class_set_event_header_type( + struct bt_ctf_stream_class *stream_class, + struct bt_ctf_field_type *event_header_type); + +extern struct bt_ctf_field_type * +bt_ctf_stream_class_get_event_context_type( + struct bt_ctf_stream_class *stream_class); + +extern int bt_ctf_stream_class_set_event_context_type( + struct bt_ctf_stream_class *stream_class, + struct bt_ctf_field_type *event_context_type); + +extern int64_t bt_ctf_stream_class_get_event_class_count( + struct bt_ctf_stream_class *stream_class); + +extern struct bt_ctf_event_class *bt_ctf_stream_class_get_event_class_by_index( + struct bt_ctf_stream_class *stream_class, uint64_t index); + +extern struct bt_ctf_event_class *bt_ctf_stream_class_get_event_class_by_id( + struct bt_ctf_stream_class *stream_class, uint64_t id); + +extern int bt_ctf_stream_class_add_event_class( + struct bt_ctf_stream_class *stream_class, + struct bt_ctf_event_class *event_class); + +extern int bt_ctf_stream_class_set_clock( + struct bt_ctf_stream_class *ctf_stream_class, struct bt_ctf_clock *clock); -extern struct bt_ctf_clock *bt_stream_class_get_clock( - struct bt_stream_class *stream_class); +extern struct bt_ctf_clock *bt_ctf_stream_class_get_clock( + struct bt_ctf_stream_class *stream_class); /* Pre-2.0 CTF writer compatibility */ -#define bt_ctf_stream_class_set_clock bt_stream_class_set_clock +static inline +void bt_ctf_stream_class_get(struct bt_ctf_stream_class *stream_class) +{ + bt_get(stream_class); +} -extern void bt_ctf_stream_class_get(struct bt_ctf_stream_class *stream_class); -extern void bt_ctf_stream_class_put(struct bt_ctf_stream_class *stream_class); +/* Pre-2.0 CTF writer compatibility */ +static inline +void bt_ctf_stream_class_put(struct bt_ctf_stream_class *stream_class) +{ + bt_put(stream_class); +} #ifdef __cplusplus }