Lines Matching refs:io
114 #define IO_VALID(io) (((io) != IO_NULL) && ((io) != IO_DEAD))
130 #define io_active(io) ((io)->io_bits & IO_BITS_ACTIVE)
132 #define io_otype(io) (((io)->io_bits & IO_BITS_OTYPE) >> 16)
133 #define io_kotype(io) ((io)->io_bits & IO_BITS_KOTYPE)
159 #define io_free(otype, io) \
160 zfree(ipc_object_zones[(otype)], (io))
169 #define io_lock_init(io) \
170 mutex_init(&(io)->io_lock_data, 0)
171 #define io_lock(io) \
172 mutex_lock(&(io)->io_lock_data)
173 #define io_lock_try(io) \
174 mutex_try(&(io)->io_lock_data)
175 #define io_unlock(io) \
176 mutex_unlock(&(io)->io_lock_data)
180 #define io_check_unlock(io) \
182 _VOLATILE_ ipc_object_refs_t _refs = (io)->io_references; \
184 io_unlock(io); \
186 io_free(io_otype(io), io); \
201 #define io_reference(io) \
203 assert((io)->io_references < IO_MAX_REFERENCES); \
204 (io)->io_references++; \
207 #define io_release(io) \
209 assert((io)->io_references > 0 && \
210 (io)->io_references <= IO_MAX_REFERENCES); \
211 (io)->io_references--; \