summaryrefslogtreecommitdiffstats
path: root/sys/fs/cuse
Commit message (Collapse)AuthorAgeFilesLines
* MFC r306228:hselasky2016-10-031-0/+6
| | | | | | | Prevent cuse4bsd.ko and cuse.ko from loading at the same time by declaring support for the cuse4bsd interface in cuse.ko. Found by: Sergey V. Dyatko <sergey.dyatko@gmail.com>
* Handle IOC_VOID special case of passing an integer IOCTL argument through CUSE.hselasky2016-07-061-1/+1
| | | | | Submitted by: Vladimir Kondratyev <wulf@cicgroup.ru> Approved by: re (gjb)
* Make CUSE usable with platforms where the size of "unsigned long" ishselasky2015-12-222-6/+6
| | | | different from the size of a pointer.
* Make CUSE usable with platforms where the size of "unsigned long" ishselasky2015-12-222-3/+3
| | | | different from the size of a pointer.
* Guard against the same process being both CUSE server and client athselasky2015-12-221-2/+13
| | | | | the same time. This can easily lead to a deadlock when destroying the character devices nodes.
* Don't use POLLNVAL as a return value from the client side pollhselasky2015-01-131-10/+28
| | | | | | | function. Many existing clients don't understand POLLNVAL and instead relies on an error code from the read(), write() or ioctl() system call. Also make sure we wakeup any client pollers before the cuse server is closing, so they don't wait forever for an event.
* Use existing PHOLD() and PRELE() macros.hselasky2014-06-241-16/+4
| | | | Submitted by: kib @
* Initial import of character device in userspace support for FreeBSD.hselasky2014-05-233-0/+2040
The CUSE library is a wrapper for the devfs kernel functionality which is exposed through /dev/cuse . In order to function the CUSE kernel code must either be enabled in the kernel configuration file or loaded separately as a module. Currently none of the committed items are connected to the default builds, except for installing the needed header files. The CUSE code will be connected to the default world and kernel builds in a follow-up commit. The CUSE module was written by Hans Petter Selasky, somewhat inspired by similar functionality found in FUSE. The CUSE library can be used for many purposes. Currently CUSE is used when running Linux kernel drivers in user-space, which need to create a character device node to communicate with its applications. CUSE has full support for almost all devfs functionality found in the kernel: - kevents - read - write - ioctl - poll - open - close - mmap - private per file handle data Requested by several people. Also see "multimedia/cuse4bsd-kmod" in ports.
OpenPOWER on IntegriCloud