Lines Matching defs:io
124 #define IO_VALID(io) (((io) != IO_NULL) && ((io) != IO_DEAD))
140 #define io_active(io) (((io)->io_bits & IO_BITS_ACTIVE) != 0)
142 #define io_otype(io) (((io)->io_bits & IO_BITS_OTYPE) >> 16)
143 #define io_kotype(io) ((io)->io_bits & IO_BITS_KOTYPE)
168 #define io_lock_init(io) \
169 lck_spin_init(&(io)->io_lock_data, &ipc_lck_grp, &ipc_lck_attr)
170 #define io_lock_destroy(io) \
171 lck_spin_destroy(&(io)->io_lock_data, &ipc_lck_grp)
172 #define io_lock(io) \
173 lck_spin_lock(&(io)->io_lock_data)
174 #define io_lock_try(io) \
175 lck_spin_try_lock(&(io)->io_lock_data)
176 #define io_unlock(io) \
177 lck_spin_unlock(&(io)->io_lock_data)
194 io_reference(ipc_object_t io) {
195 assert((io)->io_references > 0 &&
196 (io)->io_references < IO_MAX_REFERENCES);
197 OSIncrementAtomic(&((io)->io_references));
202 io_release(ipc_object_t io) {
203 assert((io)->io_references > 0 &&
204 (io)->io_references < IO_MAX_REFERENCES);
206 if ( 1 == OSDecrementAtomic(&((io)->io_references))) {
208 io_free(io_otype((io)), (io));