lib: Reset libbabeltrace2 to SONANE 0
[babeltrace.git] / include / babeltrace / graph / port-input-const.h
index d23fd558053c46e6d756af78f8cf2d4bb1b7dd7b..5301769f08f5476d6b76a61b5ac4e1671905b4b5 100644 (file)
  * SOFTWARE.
  */
 
+/* For bt_port, bt_port_input, __BT_UPCAST_CONST */
+#include <babeltrace/types.h>
+
 #include <stdint.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-struct bt_port;
-struct bt_port_input;
-
 static inline
-const struct bt_port *bt_port_input_as_port_const(
-               const struct bt_port_input *port_input)
+const bt_port *bt_port_input_as_port_const(const bt_port_input *port_input)
 {
-       return (const void *) port_input;
+       return __BT_UPCAST_CONST(bt_port, port_input);
 }
 
+extern void bt_port_input_get_ref(const bt_port_input *port_input);
+
+extern void bt_port_input_put_ref(const bt_port_input *port_input);
+
+#define BT_PORT_INPUT_PUT_REF_AND_RESET(_var)          \
+       do {                                            \
+               bt_port_input_put_ref(_var);            \
+               (_var) = NULL;                          \
+       } while (0)
+
+#define BT_PORT_INPUT_MOVE_REF(_var_dst, _var_src)     \
+       do {                                            \
+               bt_port_input_put_ref(_var_dst);        \
+               (_var_dst) = (_var_src);                \
+               (_var_src) = NULL;                      \
+       } while (0)
+
 #ifdef __cplusplus
 }
 #endif
This page took 0.023342 seconds and 4 git commands to generate.