Lines Matching defs:osfd

158     struct ospollfd     *osfd, *tmp;
160 xorg_list_for_each_entry_safe(osfd, tmp, &ospoll->deleted, deleted) {
161 xorg_list_del(&osfd->deleted);
162 free(osfd);
303 struct ospollfd *osfd;
306 osfd = calloc(1, sizeof (struct ospollfd));
307 if (!osfd)
316 free (osfd);
323 osfd->fd = fd;
324 osfd->xevents = 0;
328 ospoll->fds[pos] = osfd;
331 osfd = ospoll->fds[pos];
333 osfd->data = data;
334 osfd->callback = callback;
335 osfd->trigger = trigger;
338 struct ospollfd *osfd;
344 osfd = calloc(1, sizeof (struct ospollfd));
345 if (!osfd)
354 free (osfd);
362 ev.data.ptr = osfd;
366 free(osfd);
369 osfd->fd = fd;
370 osfd->xevents = 0;
374 ospoll->fds[pos] = osfd;
377 osfd = ospoll->fds[pos];
379 osfd->data = data;
380 osfd->callback = callback;
381 osfd->trigger = trigger;
426 struct ospollfd *osfd = &ospoll->fds[pos];
434 struct ospollfd *osfd = ospoll->fds[pos];
439 osfd->callback = NULL;
440 osfd->data = NULL;
441 xorg_list_add(&osfd->deleted, &ospoll->deleted);
444 struct ospollfd *osfd = ospoll->fds[pos];
447 ev.data.ptr = osfd;
452 osfd->callback = NULL;
453 osfd->data = NULL;
454 xorg_list_add(&osfd->deleted, &ospoll->deleted);
467 epoll_mod(struct ospoll *ospoll, struct ospollfd *osfd)
470 if (osfd->xevents & X_NOTIFY_READ)
472 if (osfd->xevents & X_NOTIFY_WRITE)
474 port_associate(ospoll->epoll_fd, PORT_SOURCE_FD, osfd->fd, events, osfd);
480 epoll_mod(struct ospoll *ospoll, struct ospollfd *osfd)
484 if (osfd->xevents & X_NOTIFY_READ)
486 if (osfd->xevents & X_NOTIFY_WRITE)
488 if (osfd->trigger == ospoll_trigger_edge)
490 ev.data.ptr = osfd;
491 (void) epoll_ctl(ospoll->epoll_fd, EPOLL_CTL_MOD, osfd->fd, &ev);
515 struct ospollfd *osfd = ospoll->fds[pos];
516 osfd->xevents |= xevents;
517 epoll_mod(ospoll, osfd);
539 struct ospollfd *osfd = &ospoll->fds[pos];
540 osfd->xevents &= ~xevents;
543 if (osfd->xevents) {
545 if (osfd->xevents & X_NOTIFY_READ) {
548 if (osfd->xevents & X_NOTIFY_WRITE) {
555 struct ospollfd *osfd = ospoll->fds[pos];
556 osfd->xevents &= ~xevents;
557 epoll_mod(ospoll, osfd);
581 struct ospollfd *osfd = &ospoll->fds[pos];
583 short oldevents = osfd->revents;
585 osfd->revents = (revents & (POLLIN|POLLOUT));
586 if (osfd->trigger == ospoll_trigger_edge)
596 osfd->callback(osfd->fd, xevents, osfd->data);
616 struct ospollfd *osfd = ev->portev_user;
627 if (osfd->callback)
628 osfd->callback(osfd->fd, xevents, osfd->data);
630 if (osfd->trigger == ospoll_trigger_level &&
631 !xorg_list_is_empty(&osfd->deleted)) {
632 epoll_mod(ospoll, osfd);
645 struct ospollfd *osfd = ev->data.ptr;
656 if (osfd->callback)
657 osfd->callback(osfd->fd, xevents, osfd->data);