When implementing a filesystem based on the Fuse layer, you will need to create classes which implement the Fuse.FileSystem, Fuse.DirNode, and Fuse.FileNode interfaces.
Fuse.Channel is used to communicate with the FUSE kernel module. Fuse.Reactor handles incoming messages and forwards them to the appropriate node.
Classes | |
| struct | Stat |
| Used for returning information about a file or directory. More... | |
| struct | StatFS |
| Structure for returning information about a filesystem. More... | |
| class | Dirent |
| result from Wrapper.readdir() call. More... | |
| class | Wrapper |
| static methods which wrap around system calls More... | |
| class | Channel |
| Communication channel to FUSE kernel module. More... | |
| interface | DirNode |
| Interface for operations on directories. More... | |
| interface | FileNode |
| Interface for operation on file types. More... | |
| class | FileSystem |
| Simple interface for a generic filesystem. More... | |
| class | LookupTransaction |
| Base transaction implementation for types returning fuse_entry_out. More... | |
| class | MakeNodeTransaction |
| Transaction for Mknod. More... | |
| class | MakeDirTransaction |
| Transaction for Mkdir. More... | |
| class | SymlinkTransaction |
| Transaction for symlink. More... | |
| class | LinkTransaction |
| Transaction for hardlink Fuse.MutableDirNode.Link operation. More... | |
| interface | MutableDirNode |
| Interface for directories which support writes. More... | |
| interface | MutableFileNode |
| Interface for operation on modifiable files. More... | |
| interface | MutableNode |
| A mutable (modifiable, writable) node of a filesystem. More... | |
| interface | Node |
| A generic node of a filesystem. More... | |
| class | NodeMap |
| Maintains mapping from integer node id to Fuse.Node. More... | |
| class | OpenTransaction |
| Transaction for Open command. More... | |
| struct | Operation |
| Emitted for every request from Fuse.Channel. More... | |
| class | Reactor |
| Decodes and dispatches requests comming from the FUSE kernel. More... | |
| class | ShutdownException |
| Exception used to signal a requested shutdown of the channel. More... | |
| class | StaleNodeException |
| Exception used internally by Fuse.dll. More... | |
| class | StringArg |
| interface | Transactional |
| Simple transaction definition. More... | |
| interface | XAttrNode |
| Interface for nodes supporting eXtended Attribute calls. More... | |
| interface | MutableXAttrNode |
| Interface for nodes supporting eXtended Attribute calls. More... | |
Enumerations | |
| enum | ModeFlags { Socket = 49152, SymLink = 40960, RegularFile = 32768, BlockDevice = 24576, Directory = 16384, CharDevice = 8192, FIFO = 4096, PermissionMask = 511, ReadWriteAll = 438, ReadAll = 292 } |
| enum | ErrorCode { Success = 0, EPERM = -1, ENOENT = -2, EINTR = -4, EIO = -5, EAGAIN = -11, ENOMEM = -12, EXDEV = -18, ENODEV = -19, ENOTDIR = -20, EISDIR = -21, EINVAL = -22, ENOSYS = -38, EPROTO = -71, ENOTSUP = -95, ESTALE = -116 } |
| Common error codes (negated). More... | |
Functions | |
| delegate int | ReadDirCallback (string name, ulong inode, uint type, ulong nextOffset) |
|
|
Common error codes (negated). These are common error codes (negated for convenience) which may be returned by some filesystem operations. Since FUSE is meant to work with Linux, the error codes are made to match the Linux error codes. Note that for most FUSE calls, an error code of 0 indicates success, and a negative value indicates the error code. This is different from most Unix system calls which may return -1 on error and set errno to indicate a (positive valued) error code. |
|
|
Mode flags for some common types. Used for testing / checking Stat.mode value. |
1.4.3