Changeset f2da0bb in mainline for uspace/app/bithenge/tree.h


Ignore:
Timestamp:
2012-06-24T19:24:35Z (12 years ago)
Author:
Sean Bartell <wingedtachikoma@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
04a7435f
Parents:
0d1a8fd
Message:

Bithenge: use reference counting for nodes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bithenge/tree.h

    r0d1a8fd rf2da0bb  
    6868        /** @privatesection */
    6969        bithenge_node_type_t type;
     70        unsigned int refs;
    7071        union {
    7172                const struct bithenge_internal_node_ops_t *internal_ops;
     
    104105        return node->type;
    105106}
     107
     108/** Increment a node's reference count.
     109 * @memberof bithenge_node_t
     110 * @param node The node to reference.
     111 * @return EOK on success or an error code from errno.h. */
     112static inline int bithenge_node_inc_ref(bithenge_node_t *node)
     113{
     114        assert(node);
     115        node->refs++;
     116        return EOK;
     117}
     118
     119int bithenge_node_dec_ref(bithenge_node_t *node);
    106120
    107121/** Iterate over a node's children.
     
    152166int bithenge_new_integer_node(bithenge_node_t **, bithenge_int_t);
    153167int bithenge_new_string_node(bithenge_node_t **, const char *, bool);
    154 int bithenge_node_destroy(bithenge_node_t *);
    155168bool bithenge_node_equal(bithenge_node_t *, bithenge_node_t *);
    156169
Note: See TracChangeset for help on using the changeset viewer.