aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorLines
2016-10-09Fix documentation of fuse_parse_cmdline().Nikolaus Rath-1/+1
For --help and --version, it returns -1.
2016-10-08Update list of requests that can be answered with fuse_reply_none().Nikolaus Rath-0/+2
2016-10-08Clarify that readdir() *may* report . and .. entries.Nikolaus Rath-0/+3
2016-10-08Removed ``-o big_writes`` optionNikolaus Rath-2/+2
This option is obsolete and should always be enabled. File systems that want to limit the size of write requests should use the ``-o max_write=<N>`` option instead.
2016-10-03fuse_session_process_buf(): improve documentationNikolaus Rath-3/+4
2016-10-02Added fuse_session_fd()Nikolaus Rath-1/+17
Fixes #59.
2016-10-02Document that client pid/gid/uid may be zero.Nikolaus Rath-2/+9
Fixes #67.
2016-10-02Don't handle --help and --version in fuse_session_new().Nikolaus Rath-31/+62
Help and version messages can be generated using the new fuse_lowlevel_help(), fuse_lowlevel_version(), fuse_mount_help(), and fuse_mount_version() functions. The fuse_parse_cmdline() function has been made more powerful to do this automatically, and is now explicitly intended only for low-level API users. This is a code simplication patch. We don't have to parse for --help and --version in quite as many places, and we no longer have a low-level initialization function be responsible for the (super-high level) task of printing a program usage message. In the high-level API, we can now handle the command line parsing earlier and avoid running other initialization code if we're just going to abort later on.
2016-10-02Edited comments for clarity.Nikolaus Rath-12/+9
2016-10-02Turn struct fuse_chan into an implementation detailNikolaus Rath-109/+34
The only struct fuse_chan that's accessible to the user application is the "master" channel that is returned by fuse_mount and stored in struct fuse_session. When using the multi-threaded main loop with the "clone_fd" option, each worker thread gets its own struct fuse_chan. However, none of these are available to the user application, nor do they hold references to struct fuse_session (the pointer is always null). Therefore, any presence of struct fuse_chan can be removed without loss of functionality by relying on struct fuse_session instead. This reduces the number of API functions and removes a potential source of confusion (since the new API no longer looks as if it might be possible to add multiple channels to one session, or to share one channel between multiple sessions). Fixes issue #17.
2016-10-02Renamed fuse_lowlevel_new() to fuse_session_new().Nikolaus Rath-9/+10
2016-10-02Re-order declarations to reflect typical order of useNikolaus Rath-71/+73
2016-10-02Introduce separate mount/umount functions for low-level API.Nikolaus Rath-26/+53
2016-10-01Improve documentation of argument parsing.Nikolaus Rath-3/+27
2016-09-27Documentation improvements.Nikolaus Rath-6/+10
2016-09-27fuse_lowlevel_notify_*: take struct fuse_session instead of struct fuse_chanNikolaus Rath-10/+10
The only struct fuse_chan that's available to the user application is the one that is returned by fuse_mount. However, this is also permanently available from struct fuse_session. A later patch will therefore remove struct fuse_chan from the public API completely. This patch prepares for this by changing the fuse_lowlevel_notify_* functions to take a struct fuse_session parameter instead of a struct fuse_chan parameter.
2016-04-27Fixup commit 482a49c.Nikolaus Rath-1/+1
2016-04-27Merge remote-tracking branch 'origin/master'Nikolaus Rath-17/+17
2016-04-23Remove leading _ on header guards to comply with reserved identifier ↵Sam Stuewe-15/+15
requirements (#29) Remove leading _ on header guards to comply with reserved identifier requirements
2016-04-02Fix spelling mistakeEric Engestrom-1/+1
2016-03-29Whitespace cleanup.Nikolaus Rath-11/+11
Applied (whitespace-cleanup) to each file. Having whitespace changes in the VCS is ugly, but it ensures that in the future committers can run this function to *avoid* commiting any whitespace.
2016-03-29Inlined fuse_chan_fdNikolaus Rath-8/+0
2016-03-09fuse.h doc fix: The f_frsize field is not ignored by the statfs operation.Jan Blumschein-1/+1
Apparently f_frsize has been passed on transparently since 2b4781100812d42e704c39c51303cd28ad3f9aa6 (Nov 28, 2005).
2016-01-14Extend write_buf documentationNikolaus Rath-0/+5
2015-09-29Merge branch 'clone_fd'Miklos Szeredi-2/+13
2015-07-30Added fuse_pkgversion functionChristopher Harrison-0/+7
Returns the full PACKAGE_VERSION string, per autoconf
2015-05-18libfuse: add "clone_fd" optionMiklos Szeredi-0/+3
This creates a separate device file descriptor for each processing thread, which might improve performance.
2015-05-18libfuse: refcount fuse_chan objectsMiklos Szeredi-2/+10
New functions: fuse_chan_get(), fuse_chan_put(). Removed function: fuse_chan_destroy().
2015-04-23libfuse: add FUSE_CAP_NO_OPEN_SUPPORT flag to ->init()Miklos Szeredi-0/+5
2014-11-25Fix docs of lowlevel readdirplus()Miklos Szeredi-3/+3
Reported by Michael j Theall.
2014-07-21libfuse: highlevel API: fix directory file handle passed to ioctl() methodMiklos Szeredi-0/+3
Reported by Eric Biggers
2014-07-15libfuse: add flags to ->rename()Miklos Szeredi-3/+12
See renameat2() system call in linux-3.15 and later kernels.
2014-07-15libfuse: allow setting ctime in ->setattr()Miklos Szeredi-2/+6
2014-07-15libfuse: add "time_gran" optionMiklos Szeredi-2/+17
This allows the filesystem to specify the time granularity it supports when the kernel is responsible for updating times ("writeback_cache" option).
2014-07-15libfuse: document deadlock avoidance for fuse_notify_inval_entry()Miklos Szeredi-0/+8
and fuse_notify_delete() Reported by Han-Wen Nienhuys
2014-03-05libfuse: implement readdirplus for high-level APIEric Wong-3/+34
Reuse the old "readdir" callback, but add a flags argument, that has FUSE_READDIR_PLUS in case this is a "plus" version. Filesystems can safely ignore this flag, but if they want they can add optimizations based on it: i.e. only retrieve the full attributes in PLUS mode. The filler function is also given a flags argument and the filesystem can set FUSE_FILL_DIR_PLUS if all the attributes in "stat" are valid.
2014-02-04fuse: use dlsym() instead of relying on ld.so constructor functionsFabrice Bauzac-50/+19
2014-01-29libfuse: Add "async_dio" and "writeback_cache" optionsMiklos Szeredi-1/+18
Asynchronous direct I/O is supported by linux kernels 3.13 and later, writeback caching is supported by 3.14 and later.
2013-08-26Change generation and nlookup from 'unsigned long' to 'uint64_t'Miklos Szeredi-2/+2
2013-07-25ulockmgr: strip ulockmgr support from this source packageMiklos Szeredi-26/+0
Distribute ulockmgr separately. It is not needed for the building of libfuse, only fusexmp_fh. Check ulockmgr library in ./configure and if not disable remote-lock suport in fusexmp_fh.
2013-07-25libfuse: fuse -> fuse3Miklos Szeredi-1/+1
Allow 2.X and 3.X to coexist. Includes are now stored under /usr/include/fuse3 and library is named libfuse3.*. Invoke pkg-config with "fuse3" as the first argument to build with version 3 of the library.
2013-07-18libfuse: clean up struct fuse_file_infoMiklos Szeredi-5/+2
Remove 'fh_old' which was an ABI compatibility field for a long time. Make 'writepage' a bitfield.
2013-07-17Documentation fixesMiklos Szeredi-30/+29
2013-07-17Merge https://github.com/qknight/fuse-fuseMiklos Szeredi-2/+43
2013-06-21libfuse: remove fuse_chan_bufsize()Miklos Szeredi-8/+0
Remove fuse_chan_bufsize() from the lowlevel API. fuse_session_receive_buf() is now responsible for allocating memory for the buffer.
2013-06-21libfuse: remove fuse_chan_(send|receive)Miklos Szeredi-2/+2
Move the fuse_chan_ops.send and .receive implementations to fuse_lowlevel.c. The abstraction wasn't actually useful and made the the splice implementation more difficult. Remove fuse_chan_ops.send and fuse_chan_ops.receive.
2013-06-21libfuse: clean up fuse_chanMiklos Szeredi-85/+1
Clean up fuse_chan related interfaces. Remove the following from the lowlevel library API: struct fuse_chan_ops; fuse_chan_new(); fuse_chan_session(); fuse_chan_recv(); fuse_chan_send();
2013-06-21libfuse: clean up fuse_sessionMiklos Szeredi-71/+1
Clean up fuse_session related interfaces. Remove the following from the lowlevel library API: struct fuse_session_ops; fuse_session_new(); fuse_session_process(); fuse_session_data();
2013-06-21libfuse: replace fuse_session_next_chanMiklos Szeredi-13/+4
Replace fuse_session_next_chan() with fuse_session_chan(), as multiple channels per session were never actually supported and probably never will.
2013-06-20- added a doxygen main pageJoachim Schiele-2/+43
- modified all examples to be included in doxygen - modified the API documentation to have more details - added the 490px_FUSE_structure.svg.png (c) wikipedia