Lines Matching full:pcc
177 #define CUSE_CLIENT_CLOSING(pcc) \ argument
178 ((pcc)->cflags & CUSE_CLI_IS_CLOSING)
361 struct cuse_client *pcc; in cuse_server_is_closing() local
368 TAILQ_FOREACH(pcc, &pcs->hcli, entry) { in cuse_server_is_closing()
369 cuse_client_is_closing(pcc); in cuse_server_is_closing()
376 struct cuse_client *pcc; in cuse_server_find_command() local
382 TAILQ_FOREACH(pcc, &pcs->hcli, entry) { in cuse_server_find_command()
383 if (CUSE_CLIENT_CLOSING(pcc)) in cuse_server_find_command()
386 if (pcc->cmds[n].entered == td) in cuse_server_find_command()
387 return (&pcc->cmds[n]); in cuse_server_find_command()
527 struct cuse_client *pcc; in cuse_client_get() local
531 error = devfs_get_cdevpriv((void **)&pcc); in cuse_client_get()
536 if (CUSE_CLIENT_CLOSING(pcc) || pcc->server->is_closing) { in cuse_client_get()
540 *ppcc = pcc; in cuse_client_get()
545 cuse_client_is_closing(struct cuse_client *pcc) in cuse_client_is_closing() argument
550 if (CUSE_CLIENT_CLOSING(pcc)) in cuse_client_is_closing()
553 pcc->cflags |= CUSE_CLI_IS_CLOSING; in cuse_client_is_closing()
554 pcc->server_dev = NULL; in cuse_client_is_closing()
557 pccmd = &pcc->cmds[n]; in cuse_client_is_closing()
560 TAILQ_REMOVE(&pcc->server->head, pccmd, entry); in cuse_client_is_closing()
674 struct cuse_client *pcc; in cuse_server_free_dev() local
684 TAILQ_FOREACH(pcc, &pcs->hcli, entry) { in cuse_server_free_dev()
685 if (pcc->server_dev == pcsd) in cuse_server_free_dev()
686 cuse_client_is_closing(pcc); in cuse_server_free_dev()
1071 struct cuse_client *pcc; in cuse_server_wakeup_all_client_locked() local
1073 TAILQ_FOREACH(pcc, &pcs->hcli, entry) { in cuse_server_wakeup_all_client_locked()
1074 pcc->cflags |= (CUSE_CLI_KNOTE_NEED_READ | in cuse_server_wakeup_all_client_locked()
1112 struct cuse_client *pcc; in cuse_server_ioctl() local
1262 pcc = pccmd->client; in cuse_server_ioctl()
1264 pcc->cmds[n].sub.per_file_handle = *(uintptr_t *)data; in cuse_server_ioctl()
1458 struct cuse_client *pcc = arg; in cuse_client_free() local
1463 pcs = pcc->server; in cuse_client_free()
1466 cuse_client_is_closing(pcc); in cuse_client_free()
1467 TAILQ_REMOVE(&pcs->hcli, pcc, entry); in cuse_client_free()
1471 pccmd = &pcc->cmds[n]; in cuse_client_free()
1477 free(pcc, M_CUSE); in cuse_client_free()
1488 struct cuse_client *pcc; in cuse_client_open() local
1518 pcc = malloc(sizeof(*pcc), M_CUSE, M_WAITOK | M_ZERO); in cuse_client_open()
1519 pcc->fflags = fflags; in cuse_client_open()
1520 pcc->server_dev = pcsd; in cuse_client_open()
1521 pcc->server = pcs; in cuse_client_open()
1524 pccmd = &pcc->cmds[n]; in cuse_client_open()
1528 pccmd->client = pcc; in cuse_client_open()
1539 TAILQ_INSERT_TAIL(&pcs->hcli, pcc, entry); in cuse_client_open()
1552 if ((error = devfs_set_cdevpriv(pcc, &cuse_client_free)) != 0) in cuse_client_open()
1555 pccmd = &pcc->cmds[CUSE_CMD_OPEN]; in cuse_client_open()
1560 cuse_client_send_command_locked(pccmd, 0, 0, pcc->fflags, 0); in cuse_client_open()
1580 struct cuse_client *pcc; in cuse_client_close() local
1584 error = cuse_client_get(&pcc); in cuse_client_close()
1588 pccmd = &pcc->cmds[CUSE_CMD_CLOSE]; in cuse_client_close()
1589 pcs = pcc->server; in cuse_client_close()
1594 cuse_client_send_command_locked(pccmd, 0, 0, pcc->fflags, 0); in cuse_client_close()
1599 cuse_client_is_closing(pcc); in cuse_client_close()
1606 cuse_client_kqfilter_poll(struct cdev *dev, struct cuse_client *pcc) in cuse_client_kqfilter_poll() argument
1608 struct cuse_server *pcs = pcc->server; in cuse_client_kqfilter_poll()
1612 temp = (pcc->cflags & (CUSE_CLI_KNOTE_HAS_READ | in cuse_client_kqfilter_poll()
1614 pcc->cflags &= ~(CUSE_CLI_KNOTE_NEED_READ | in cuse_client_kqfilter_poll()
1625 pcc->cflags |= CUSE_CLI_KNOTE_NEED_READ; in cuse_client_kqfilter_poll()
1627 pcc->cflags |= CUSE_CLI_KNOTE_NEED_WRITE; in cuse_client_kqfilter_poll()
1630 cuse_server_wakeup_locked(pcc->server); in cuse_client_kqfilter_poll()
1640 struct cuse_client *pcc; in cuse_client_read() local
1646 error = cuse_client_get(&pcc); in cuse_client_read()
1650 pccmd = &pcc->cmds[CUSE_CMD_READ]; in cuse_client_read()
1651 pcs = pcc->server; in cuse_client_read()
1670 pcc->read_base = (uintptr_t)uio->uio_iov->iov_base; in cuse_client_read()
1671 pcc->read_length = len; in cuse_client_read()
1675 (unsigned long)(unsigned int)len, pcc->fflags, ioflag); in cuse_client_read()
1683 pcc->read_base = 0; in cuse_client_read()
1684 pcc->read_length = 0; in cuse_client_read()
1696 temp = copyout(pcc->read_buffer, in cuse_client_read()
1720 cuse_client_kqfilter_poll(dev, pcc); in cuse_client_read()
1729 struct cuse_client *pcc; in cuse_client_write() local
1734 error = cuse_client_get(&pcc); in cuse_client_write()
1738 pccmd = &pcc->cmds[CUSE_CMD_WRITE]; in cuse_client_write()
1739 pcs = pcc->server; in cuse_client_write()
1757 pcc->write_buffer, len); in cuse_client_write()
1765 pcc->write_base = (uintptr_t)uio->uio_iov->iov_base; in cuse_client_write()
1766 pcc->write_length = len; in cuse_client_write()
1770 (unsigned long)(unsigned int)len, pcc->fflags, ioflag); in cuse_client_write()
1779 pcc->write_base = 0; in cuse_client_write()
1780 pcc->write_length = 0; in cuse_client_write()
1809 cuse_client_kqfilter_poll(dev, pcc); in cuse_client_write()
1819 struct cuse_client *pcc; in cuse_client_ioctl() local
1824 error = cuse_client_get(&pcc); in cuse_client_ioctl()
1832 pccmd = &pcc->cmds[CUSE_CMD_IOCTL]; in cuse_client_ioctl()
1833 pcs = pcc->server; in cuse_client_ioctl()
1838 memcpy(pcc->ioctl_buffer, data, len); in cuse_client_ioctl()
1849 (unsigned long)cmd, pcc->fflags, in cuse_client_ioctl()
1862 memcpy(data, pcc->ioctl_buffer, len); in cuse_client_ioctl()
1867 cuse_client_kqfilter_poll(dev, pcc); in cuse_client_ioctl()
1876 struct cuse_client *pcc; in cuse_client_poll() local
1882 error = cuse_client_get(&pcc); in cuse_client_poll()
1887 pcs = pcc->server; in cuse_client_poll()
1898 pccmd = &pcc->cmds[CUSE_CMD_POLL]; in cuse_client_poll()
1908 0, temp, pcc->fflags, IO_NDELAY); in cuse_client_poll()
1938 struct cuse_client *pcc; in cuse_client_mmap_single() local
1941 error = cuse_client_get(&pcc); in cuse_client_mmap_single()
1945 return (cuse_common_mmap_single(pcc->server, offset, size, object)); in cuse_client_mmap_single()
1951 struct cuse_client *pcc; in cuse_client_kqfilter_read_detach() local
1954 pcc = kn->kn_hook; in cuse_client_kqfilter_read_detach()
1955 pcs = pcc->server; in cuse_client_kqfilter_read_detach()
1965 struct cuse_client *pcc; in cuse_client_kqfilter_write_detach() local
1968 pcc = kn->kn_hook; in cuse_client_kqfilter_write_detach()
1969 pcs = pcc->server; in cuse_client_kqfilter_write_detach()
1979 struct cuse_client *pcc; in cuse_client_kqfilter_read_event() local
1981 pcc = kn->kn_hook; in cuse_client_kqfilter_read_event()
1983 mtx_assert(&pcc->server->mtx, MA_OWNED); in cuse_client_kqfilter_read_event()
1985 return ((pcc->cflags & CUSE_CLI_KNOTE_NEED_READ) ? 1 : 0); in cuse_client_kqfilter_read_event()
1991 struct cuse_client *pcc; in cuse_client_kqfilter_write_event() local
1993 pcc = kn->kn_hook; in cuse_client_kqfilter_write_event()
1995 mtx_assert(&pcc->server->mtx, MA_OWNED); in cuse_client_kqfilter_write_event()
1997 return ((pcc->cflags & CUSE_CLI_KNOTE_NEED_WRITE) ? 1 : 0); in cuse_client_kqfilter_write_event()
2003 struct cuse_client *pcc; in cuse_client_kqfilter() local
2007 error = cuse_client_get(&pcc); in cuse_client_kqfilter()
2011 pcs = pcc->server; in cuse_client_kqfilter()
2016 pcc->cflags |= CUSE_CLI_KNOTE_HAS_READ; in cuse_client_kqfilter()
2017 kn->kn_hook = pcc; in cuse_client_kqfilter()
2022 pcc->cflags |= CUSE_CLI_KNOTE_HAS_WRITE; in cuse_client_kqfilter()
2023 kn->kn_hook = pcc; in cuse_client_kqfilter()
2034 cuse_client_kqfilter_poll(dev, pcc); in cuse_client_kqfilter()