Lines Matching refs:rc

63 void refcount_create(refcount_t *rc);
64 void refcount_create_untracked(refcount_t *rc);
65 void refcount_create_tracked(refcount_t *rc);
66 void refcount_destroy(refcount_t *rc);
67 void refcount_destroy_many(refcount_t *rc, uint64_t number);
68 int refcount_is_zero(refcount_t *rc);
69 int64_t refcount_count(refcount_t *rc);
70 int64_t refcount_add(refcount_t *rc, void *holder_tag);
71 int64_t refcount_remove(refcount_t *rc, void *holder_tag);
72 int64_t refcount_add_many(refcount_t *rc, uint64_t number, void *holder_tag);
73 int64_t refcount_remove_many(refcount_t *rc, uint64_t number, void *holder_tag);
88 #define refcount_create(rc) ((rc)->rc_count = 0)
89 #define refcount_create_untracked(rc) ((rc)->rc_count = 0)
90 #define refcount_create_tracked(rc) ((rc)->rc_count = 0)
91 #define refcount_destroy(rc) ((rc)->rc_count = 0)
92 #define refcount_destroy_many(rc, number) ((rc)->rc_count = 0)
93 #define refcount_is_zero(rc) ((rc)->rc_count == 0)
94 #define refcount_count(rc) ((rc)->rc_count)
95 #define refcount_add(rc, holder) atomic_inc_64_nv(&(rc)->rc_count)
96 #define refcount_remove(rc, holder) atomic_dec_64_nv(&(rc)->rc_count)
97 #define refcount_add_many(rc, number, holder) \
98 atomic_add_64_nv(&(rc)->rc_count, number)
99 #define refcount_remove_many(rc, number, holder) \
100 atomic_add_64_nv(&(rc)->rc_count, -number)
106 #define refcount_transfer_ownership(rc, current_holder, new_holder) (void)0
107 #define refcount_held(rc, holder) ((rc)->rc_count > 0)
108 #define refcount_not_held(rc, holder) (B_TRUE)