# Data Structures

`llfuse.``ENOATTR`

  This errorcode is unfortunately missing in the `errno` module, so it is provided by Python-LLFUSE instead.

`llfuse.``ROOT_INODE`

  The inode of the root directory, i.e. the mount point of the file system.

`llfuse.``default_options`

  This is a recommended set of options that should be passed to `llfuse.init` to get reasonable behavior and performance. Python-LLFUSE is compatible with any other combination of options as well, but you should only deviate from the defaults with good reason.

  (The `fsname=<foo>` option is guaranteed never to be included in the default options, so you can always safely add it to the set).

  New in version 0.42.

exception `llfuse.``FUSEError`

  This exception may be raised by request handlers to indicate that the requested operation could not be carried out. The system call that resulted in the request (if any) will then fail with error code errno_.

class `llfuse.``RequestContext`

  Instances of this class are passed to some `Operations` methods to provide information about the caller of the syscall that initiated the request.

  `pid`
  `uid`
  `gid`
  `umask`

class `llfuse.``StatvfsData`

  Instances of this class store information about the file system. The attributes correspond to the elements of the `statvfs` struct, see statvfs(2) for details.

  `f_bsize`
  `f_frsize`
  `f_blocks`
  `f_bfree`
  `f_bavail`
  `f_files`
  `f_ffree`
  `f_favail`
  `f_namemax`

class `llfuse.``EntryAttributes`

  Instances of this class store attributes of directory entries. Most of the attributes correspond to the elements of the `stat` C struct as returned by e.g. `fstat` and should be self-explanatory.

  `st_ino`
  `generation`

    The inode generation number

  `entry_timeout`

    Validity timeout for the name/existence of the directory entry

    Floating point numbers may be used. Units are seconds.

  `attr_timeout`

    Validity timeout for the attributes of the directory entry

    Floating point numbers may be used. Units are seconds.

  `st_mode`
  `st_nlink`
  `st_uid`
  `st_gid`
  `st_rdev`
  `st_size`
  `st_blksize`
  `st_blocks`
  `st_atime_ns`

    Time of last access in (integer) nanoseconds

  `st_ctime_ns`

    Time of last inode modification in (integer) nanoseconds

  `st_mtime_ns`

    Time of last modification in (integer) nanoseconds

class `llfuse.``SetattrFields`

  `SetattrFields` instances are passed to the `setattr` handler to specify which attributes should be updated.

  `update_atime`

    If this attribute is true, it signals the `Operations.setattr` method that the `st_atime_ns` field contains an updated value.

  `update_mtime`

    If this attribute is true, it signals the `Operations.setattr` method that the `st_mtime_ns` field contains an updated value.

  `update_mode`

    If this attribute is true, it signals the `Operations.setattr` method that the `st_mode` field contains an updated value.

  `update_uid`

    If this attribute is true, it signals the `Operations.setattr` method that the `st_uid` field contains an updated value.

  `update_gid`

    If this attribute is true, it signals the `Operations.setattr` method that the `st_gid` field contains an updated value.

  `update_size`

    If this attribute is true, it signals the `Operations.setattr` method that the `st_size` field contains an updated value.