• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/bsd/kern/

Lines Matching defs:knote

99 static int	kqlock2knoteuse(struct kqueue *kq, struct knote *kn);
100 static int kqlock2knoteusewait(struct kqueue *kq, struct knote *kn);
101 static int kqlock2knotedrop(struct kqueue *kq, struct knote *kn);
102 static int knoteuse2kqlock(struct kqueue *kq, struct knote *kn);
114 static int kqueue_kqfilter(struct fileproc *fp, struct knote *kn, vfs_context_t ctx);
135 static void knote_put(struct knote *kn);
136 static int knote_fdpattach(struct knote *kn, struct filedesc *fdp, struct proc *p);
137 static void knote_drop(struct knote *kn, struct proc *p);
138 static void knote_activate(struct knote *kn);
139 static void knote_deactivate(struct knote *kn);
140 static void knote_enqueue(struct knote *kn);
141 static void knote_dequeue(struct knote *kn);
142 static struct knote *knote_alloc(void);
143 static void knote_free(struct knote *kn);
145 static int filt_fileattach(struct knote *kn);
149 static void filt_kqdetach(struct knote *kn);
150 static int filt_kqueue(struct knote *kn, long hint);
157 static int filt_badattach(struct knote *kn);
161 static int filt_procattach(struct knote *kn);
162 static void filt_procdetach(struct knote *kn);
163 static int filt_proc(struct knote *kn, long hint);
174 static int filt_timercompute(struct knote *kn, uint64_t *abs_time);
176 static int filt_timerattach(struct knote *kn);
177 static void filt_timerdetach(struct knote *kn);
178 static int filt_timer(struct knote *kn, long hint);
221 * Most of the knote state is guarded by the object lock.
222 * the knote "inuse" count and status use the kqueue lock.
241 * Convert a kq lock to a knote use referece.
243 * If the knote is being dropped, we can't get
251 kqlock2knoteuse(struct kqueue *kq, struct knote *kn)
261 * Convert a kq lock to a knote use referece.
263 * If the knote is being dropped, we can't get
271 kqlock2knoteusewait(struct kqueue *kq, struct knote *kn)
284 * Convert from a knote use reference back to kq lock.
289 * The exit return indicates if the knote is
294 knoteuse2kqlock(struct kqueue *kq, struct knote *kn)
306 * Convert a kq lock to a knote drop referece.
308 * If the knote is in use, wait for the use count
320 kqlock2knotedrop(struct kqueue *kq, struct knote *kn)
343 * Release a knote use count reference.
346 knote_put(struct knote *kn)
362 filt_fileattach(struct knote *kn)
377 filt_kqdetach(struct knote *kn)
388 filt_kqueue(struct knote *kn, __unused long hint)
397 filt_procattach(struct knote *kn)
426 * The knote may be attached to a different process, which may exit,
427 * leaving nothing for the knote to be attached to. In that case,
431 filt_procdetach(struct knote *kn)
447 filt_proc(struct knote *kn, long hint)
470 * knote, unlink this knote from the process
492 * The saved-data field in the knote contains the
500 filt_timercompute(struct knote *kn, uint64_t *abs_time)
546 * Just propagate the timer event into the knote
547 * filter routine (by going through the knote
556 struct knote *kn = knx;
569 filt_timerattach(struct knote *kn)
610 filt_timerdetach(struct knote *kn)
643 filt_timer(struct knote *kn, __unused long hint)
737 filt_badattach(__unused struct knote *kn)
788 struct knote *kn;
1116 * the kqueue via a knote data structure.
1119 * descriptor related, the knote is linked off
1133 struct knote *kn = NULL;
1180 * kn now contains the matching knote, or NULL if no match
1215 * apply reference count to knote structure, and
1222 * that nobody else has a reference to the knote.
1234 /* existing knote - get kqueue lock */
1248 /* update status flags for existing knote */
1260 * knote - go find/insert a new one. But we have
1277 /* still have use ref on knote */
1298 * the knote to avoid it being detached. For each event
1313 struct knote *kn;
1374 /* knote is active: move onto inprocess queue */
1381 * Got a valid triggered knote with the kqueue
1383 * how to dispatch the knote for future events.
1654 kqueue_kqfilter(__unused struct fileproc *fp, struct knote *kn, __unused vfs_context_t ctx)
1750 * Query/Post each knote in the object's list
1762 knote(struct klist *list, long hint)
1764 struct knote *kn;
1786 * attach a knote to the specified list. Return true if this is the first entry.
1790 knote_attach(struct klist *list, struct knote *kn)
1798 * detach a knote from the specified list. Return true if that was the last entry.
1802 knote_detach(struct klist *list, struct knote *kn)
1804 SLIST_REMOVE(list, kn, knote, kn_selnext);
1822 struct knote *kn;
1855 knote_fdpattach(struct knote *kn, struct filedesc *fdp, __unused struct proc *p)
1899 knote_drop(struct knote *kn, __unused struct proc *ctxp)
1912 SLIST_REMOVE(list, kn, knote, kn_link);
1928 knote_activate(struct knote *kn)
1939 knote_deactivate(struct knote *kn)
1947 knote_enqueue(struct knote *kn)
1962 knote_dequeue(struct knote *kn)
1980 knote_zone = zinit(sizeof(struct knote), 8192*sizeof(struct knote), 8192, "knote zone");
1993 SYSINIT(knote, SI_SUB_PSEUDO, SI_ORDER_ANY, knote_init, NULL)
1995 static struct knote *
1998 return ((struct knote *)zalloc(knote_zone));
2002 knote_free(struct knote *kn)