aboutsummaryrefslogtreecommitdiff
path: root/doc/mainpage.dox
diff options
context:
space:
mode:
authorGravatar Joachim Schiele <js@lastlog.de>2013-06-20 19:18:18 +0200
committerGravatar Joachim Schiele <js@lastlog.de>2013-06-20 19:18:18 +0200
commitea7227db439cc0e02a7ed69feae75fac6dfcc637 (patch)
tree7203bac45bf5594ed77fea2fbf037e92daacf539 /doc/mainpage.dox
parent18c59ab4893cf3c64762556aa0af2cac638655df (diff)
- added a doxygen main page
- 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
Diffstat (limited to 'doc/mainpage.dox')
-rwxr-xr-xdoc/mainpage.dox92
1 files changed, 92 insertions, 0 deletions
diff --git a/doc/mainpage.dox b/doc/mainpage.dox
new file mode 100755
index 0000000..9202207
--- /dev/null
+++ b/doc/mainpage.dox
@@ -0,0 +1,92 @@
+/*!
+\mainpage FUSE API documentation
+
+Filesystem in Userspace (FUSE) is a loadable kernel module for Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a "bridge" to the actual kernel interfaces.
+
+(c) Wikipedia
+
+@tableofcontents
+
+
+
+
+
+\section section1 How FUSE works
+
+@image html 490px-FUSE_structure.svg.png "Structural diagramm of Filesystem in Userspace from http://en.wikipedia.org/wiki/File:FUSE_structure.svg"
+
+\include how-fuse-works
+
+
+
+
+\section section2 Kernel
+
+\include kernel.txt
+
+
+
+
+
+\section section_examples examples
+
+have a look at the examples listed in the example directory, which can be found here: <a href="files.html">files.html</a>.
+
+- @ref hello.c - minimal FUSE example featuring fuse_main usage
+
+- @ref hello_ll.c - FUSE: Filesystem in Userspace
+
+- @ref null.c - FUSE: Filesystem in Userspace
+
+- @ref cusexmp.c - CUSE example: Character device in Userspace
+
+- @ref fioc.c - FUSE fioc: FUSE ioctl example
+
+- @ref fioclient.c - FUSE fioclient: FUSE ioctl example client
+
+- @ref fsel.c - FUSE fsel: FUSE select example
+
+- @ref fselclient.c - FUSE fselclient: FUSE select example client
+
+- @ref fusexmp.c - FUSE: Filesystem in Userspace
+
+- @ref fusexmp_fh.c - FUSE: Filesystem in Userspace
+
+
+\section section_links links
+
+<a href="http://sourceforge.net/apps/mediawiki/fuse/index.php?title=Main_Page">http://sourceforge.net/apps/mediawiki/fuse/index.php?title=Main_Page</a> - the fuse wiki
+
+<a href="http://en.wikipedia.org/wiki/Filesystem_in_Userspace">http://en.wikipedia.org/wiki/Filesystem_in_Userspace</a> - FUSE on wikipedia
+
+
+\section section_todo todo
+
+general:
+
+ - fuse_lowlevel.h, describe:
+ - a channel (or communication channel) is created by fuse_mount(..)
+ - a fuse session is associated with a channel and a signal handler and runs until the assigned signal handler
+ shuts the session down, see fuse_session_loop(se) and hello_ll.c
+
+ - http://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/
+
+ - http://cinwell.wordpress.com/
+
+ - http://sourceforge.net/apps/mediawiki/fuse/index.php?title=FuseProtocolSketch
+
+ - http://muratbuffalo.blogspot.de/2011/05/refuse-to-crash-with-re-fuse.html
+
+examples:
+ - demonstrate the effect of single vs multithreaded -> fuse_loop fuse_loop_mt
+
+ - add comments and source form all existing examples
+
+ - also add examples form here: http://sourceforge.net/apps/mediawiki/fuse/index.php?title=Main_Page#How_should_threads_be_startedx3f
+
+ - add this new example: http://fuse.996288.n3.nabble.com/Create-multiple-filesystems-in-same-process-td9292.html
+
+ \section section_thanks thanks
+ - Mark Glines, <mark@glines.org> for his coments on fuse_loop() and fuse_loop_mt().
+ - Wikipedia - copied the FUSE introduction from the Filesystem in userspace article.
+*/