X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Ftrace-ir%2Ffield-path-const.h;fp=include%2Fbabeltrace%2Ftrace-ir%2Ffield-path-const.h;h=066bc4568761446ecaaabdfd50bc1766bb9d9ea0;hb=c5b9b4417bedfbec9b5dd23b8395ccdd4eeffc44;hp=a832bc4d1db738d12674b56cdb58737444ff8f9f;hpb=e2f7325d1e58710ee928373592adcee466f93d06;p=babeltrace.git diff --git a/include/babeltrace/trace-ir/field-path-const.h b/include/babeltrace/trace-ir/field-path-const.h index a832bc4d..066bc456 100644 --- a/include/babeltrace/trace-ir/field-path-const.h +++ b/include/babeltrace/trace-ir/field-path-const.h @@ -52,6 +52,23 @@ extern uint64_t bt_field_path_get_index_count( extern uint64_t bt_field_path_get_index_by_index( const struct bt_field_path *field_path, uint64_t index); +extern void bt_field_path_get_ref(const struct bt_field_path *field_path); + +extern void bt_field_path_put_ref(const struct bt_field_path *field_path); + +#define BT_FIELD_PATH_PUT_REF_AND_RESET(_var) \ + do { \ + bt_field_path_put_ref(_var); \ + (_var) = NULL; \ + } while (0) + +#define BT_FIELD_PATH_MOVE_REF(_var_dst, _var_src) \ + do { \ + bt_field_path_put_ref(_var_dst); \ + (_var_dst) = (_var_src); \ + (_var_src) = NULL; \ + } while (0) + #ifdef __cplusplus } #endif