* http://www.efficios.com/ctf
*/
+/* For bt_get() */
+#include <babeltrace/ref.h>
+
#include <stdint.h>
#ifdef __cplusplus
extern struct bt_packet *bt_packet_create(
struct bt_stream *stream);
+extern struct bt_stream *bt_packet_borrow_stream(
+ struct bt_packet *packet);
+
/**
@brief Returns the parent CTF IR stream of the CTF IR packet \p packet.
@postrefcountsame{packet}
@postsuccessrefcountretinc
*/
-extern struct bt_stream *bt_packet_get_stream(
- struct bt_packet *packet);
+static inline
+struct bt_stream *bt_packet_get_stream(
+ struct bt_packet *packet)
+{
+ return bt_get(bt_packet_borrow_stream(packet));
+}
/** @} */
@{
*/
+extern
+struct bt_field *bt_packet_borrow_header(struct bt_packet *packet);
+
/**
@brief Returns the trace packet header field of the CTF IR packet
\p packet.
@sa bt_packet_set_header(): Sets the trace packet header
field of a given packet.
*/
-extern struct bt_field *bt_packet_get_header(
- struct bt_packet *packet);
+static inline
+struct bt_field *bt_packet_get_header(struct bt_packet *packet)
+{
+ return bt_get(bt_packet_borrow_header(packet));
+}
/**
@brief Sets the trace packet header field of the CTF IR packet \p packet to
@sa bt_packet_get_header(): Returns the trace packet header field of a given
packet.
*/
-extern int bt_packet_set_header(
- struct bt_packet *packet, struct bt_field *header);
+extern int bt_packet_set_header(struct bt_packet *packet,
+ struct bt_field *header);
+
+extern struct bt_field *bt_packet_borrow_context(
+ struct bt_packet *packet);
/**
@brief Returns the stream packet context field of the CTF IR packet
@sa bt_packet_set_context(): Sets the stream packet context
field of a given packet.
*/
-extern struct bt_field *bt_packet_get_context(
- struct bt_packet *packet);
+static inline
+struct bt_field *bt_packet_get_context(struct bt_packet *packet)
+{
+ return bt_get(bt_packet_borrow_context(packet));
+}
/**
@brief Sets the stream packet context field of the CTF IR packet \p packet to