Lines Matching defs:cb

104 	struct as_callback 	*current_head, *cb;
135 cb = kmem_zalloc(sizeof (struct as_callback), sleepflag);
136 if (cb == NULL)
139 cb->ascb_func = cb_func;
140 cb->ascb_arg = arg;
141 cb->ascb_events = events;
142 cb->ascb_saddr = saddr;
143 cb->ascb_len = rsize;
148 as->a_callbacks = cb;
149 cb->ascb_next = current_head;
157 if ((cb->ascb_events & AS_UNMAPWAIT_EVENT) && AS_ISUNMAPWAIT(as)) {
190 struct as_callback *cb;
194 for (cb = as->a_callbacks; cb; prevcb = &cb->ascb_next, cb = *prevcb) {
195 if (cb->ascb_arg != arg)
207 if ((cb->ascb_events & AS_CALLBACK_CALLED) != 0) {
209 cb->ascb_events &= ~AS_ALL_EVENT;
213 *prevcb = cb->ascb_next;
214 kmem_free(cb, sizeof (struct as_callback));
236 struct as_callback *cb;
239 for (cb = as->a_callbacks; cb != NULL; cb = cb->ascb_next) {
245 if (((cb->ascb_events & AS_CALLBACK_CALLED) != 0) ||
246 ((event_len != 0) && (((cb->ascb_events & events) == 0) ||
247 (event_addr + event_len < cb->ascb_saddr) ||
248 (event_addr > (cb->ascb_saddr + cb->ascb_len))))) {
253 return (cb);
265 as_execute_callback(struct as *as, struct as_callback *cb,
271 ASSERT(MUTEX_HELD(&as->a_contents) && (cb->ascb_events & events));
272 cb->ascb_events |= AS_CALLBACK_CALLED;
274 (*cb->ascb_func)(as, cb->ascb_arg, events);
284 while ((cb->ascb_events & events) != 0) {
296 cb_arg = cb->ascb_arg;
298 for (cb = as->a_callbacks; cb != NULL;
299 prevcb = &cb->ascb_next, cb = *prevcb) {
300 if (((cb->ascb_events & AS_CALLBACK_CALLED) == 0) ||
301 (cb_arg != cb->ascb_arg)) {
304 *prevcb = cb->ascb_next;
305 kmem_free(cb, sizeof (struct as_callback));
336 struct as_callback *cb;
338 if ((cb = as_find_callback(as, events, event_addr, event_len))) {
339 as_execute_callback(as, cb, events);
1161 struct as_callback *cb;
1274 (cb = as_find_callback(as, AS_SETPROT_EVENT,
1277 as_execute_callback(as, cb, AS_SETPROT_EVENT);
1381 struct as_callback *cb;
1470 (cb = as_find_callback(as, AS_UNMAP_EVENT,
1473 as_execute_callback(as, cb, AS_UNMAP_EVENT);