h&cZ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred%& Glibfuse3A file status a.k.a. metadata.The differences from   are:Is a record type with a  instance.Has an extra field  .An equivalent accessor  fileBlocks( was added in unix-2.8.0.0, but it is a Maybe."Provides an exact representation (+) of the time fields without converting to   .This assumes that the  struct stat has st_atim, st_mtim and st_ctim/ fields. On Linux this requires Linux >= 2.6. Ptr FileStat can be cast to Ptr    and vice versa.Use  - and modify its fields you are interested in.The st_ino field is ignored unless the use_ino mount option is given.The st_dev and  st_blksize0 fields are ignored by libfuse, so not provided.libfuse3Inode number. st_inolibfuse3File type and mode. st_modelibfuse3Number of hard links. st_nlinklibfuse3User ID of owner. st_uidlibfuse3Group ID of owner. st_gidlibfuse3Device ID (if special file). st_rdevlibfuse3Total size, in bytes. st_size libfuse3!Number of 512B blocks allocated.  st_blocks libfuse3Time of last access. st_atim libfuse3Time of last modification. st_mtim libfuse3Time of last status change. st_ctim libfuse3The default value of ..The Haskell Equivalent of zero-setting C code 8{ struct stat st; memset(&st, 0, sizeof(struct stat)); }.libfuse3$Reads a file status of a given file.Calls lstat.libfuse3$Reads a file status of a given file.Calls fstat.libfuse3Targets  struct stat.         Safe-Inferred%& libfuse3 Passed to .The  instance targets C struct statvfs.f_favail, f_fsid and f_flag fields are ignored by libfuse, and their corresponding fields are not defined.libfuse3Filesystem block size. f_bsizelibfuse3Fragment size. f_frsizelibfuse3Size of the filesystem in f_frsize units. f_blockslibfuse3Number of free blocks. f_bfreelibfuse3.Number of free blocks for unprivileged users. f_bavaillibfuse3Number of inodes (file nodes). f_fileslibfuse3Number of free inodes. f_ffreelibfuse3Maximum filename length.  f_namemaxlibfuse3Gets filesystem statistics.Calls statvfs. libfuse3Gets filesystem statistics.Calls fstatvfs.libfuse3(A path of any file within the filesystem  None%&'Nlibfuse3  struct fuseOlibfuse3 struct fuse_sessionPlibfuse3 enum fuse_readdir_flagsQlibfuse3 struct fuse_pollhandleRlibfuse3'The direct, storable representation of struct fuse_operations.All operations are optional. NULL indicates undefined operation. You may modify some of the fields to fine-tune the behavior.)Not to be confused with Haskell-friendly 8. Also not to be confused with libfuse's low-level API struct fuse_lowlevel_ops.~libfuse3 enum fuse_fill_dir_flagslibfuse3Ptr FuseFillDirBuf = void * , used in .libfuse3 typedef fuse_fill_dir_tlibfuse3 struct fuse_file_infolibfuse3 struct fuse_conn_infolibfuse3'The direct, storable representation of struct fuse_config.'Not to be confused with the high-level .libfuse3 set_gidlibfuse3 gidlibfuse3 set_uidlibfuse3 uidlibfuse3 set_modelibfuse3 umasklibfuse3  entry_timeoutlibfuse3 negative_timeoutlibfuse3  attr_timeoutlibfuse3 intrlibfuse3  intr_signallibfuse3 rememberlibfuse3  hard_removelibfuse3 use_inolibfuse3  readdir_inolibfuse3  direct_iolibfuse3  kernel_cachelibfuse3  auto_cachelibfuse3 ac_attr_timeout_setlibfuse3 ac_attr_timeoutlibfuse3  nullpath_oklibfuse3 struct fuse_cmdline_optslibfuse3 struct fuse_bufveclibfuse3 struct fuse_buflibfuse3 struct fuse_argslibfuse3,An empty set of operations whose fields are  nullFunPtr.libfuse3 Merges two R in a left-biased manner.libfuse3Targets struct fuse_config.$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR}|{zyxwvutsrqponmlkjihgfedba`_^]\[ZYXWVUTcS~~R}|{zyxwvutsrqponmlkjihgfedba`_^]\[ZYXWVUTcSQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$ Safe-Inferred%&libfuse3%Configures the filesystem. Passed to .See the module System.LibFuse3.FuseConfig for its fields.libfuse3 set_gidlibfuse3 gidlibfuse3 set_uidlibfuse3 uidlibfuse3 set_modelibfuse3 umasklibfuse3  entry_timeoutlibfuse3 negative_timeoutlibfuse3  attr_timeoutlibfuse3 intrlibfuse3  intr_signallibfuse3 rememberlibfuse3  hard_removelibfuse3 use_inolibfuse3  readdir_inolibfuse3  direct_iolibfuse3  kernel_cachelibfuse3  auto_cachelibfuse3 ac_attr_timeout_setlibfuse3 ac_attr_timeoutlibfuse3  nullpath_oklibfuse3%Converts to the Storable counterpart.libfuse3'Converts from the Storable counterpart. Safe-Inferredlibfuse36Forks a new process and transfers the resources to it.The parent process .libfuse3 with  associated as a cleanup action.libfuse3 with  associated as a cleanup action.libfuse3 with  associated as a cleanup action.libfuse3 with  associated as a cleanup action.libfuse3 with  associated as a cleanup action.libfuse3 with  associated as a cleanup action. Safe-Inferred'libfuse3A foreign import of  pwrite(2)libfuse3A foreign import of pread(2)libfuse3 Identical to extra's try_libfuse3Unwraps the newtype .libfuse3Attempts to extract an  from an " assuming it is constructed with  (typically via ).libfuse3Like  but takes an ( as a parameter instead of reading from .This is an inverse of : ,tryErrno (throwErrnoOf _ e) D pure (Left e) libfuse3&Catches an exception constructed with  and extracts  from it.libfuse3Like 0 but discards the result of the original action.If no exceptions, returns .libfuse3Like - but also catches non-Errno errors to return .libfuse3Like - but also catches non-Errno errors to return .libfuse3 Converts a  to a .#This is the same conversion as the unix package does (as of writing).libfuse3Marshals a Haskell string into a NUL terminated C string in a locale-dependent way.Does + and copies it into the destination buffer.5The Haskell string should not contain NUL characters.If the destination buffer is not long enough to hold the source string, it is truncated and a NUL byte is inserted at the end of the buffer.libfuse3testBitSet bits mask is True iff all bits in mask are set in bits. -testBitSet bits mask D bits .&. mask == mask libfuse3/Reads from a file descriptor at a given offset.=Fewer bytes may be read than requested. On error, throws an  corresponding to the errno.libfuse3.Writes to a file descriptor at a given offset.Returns the number of bytes written. Fewer bytes may be written than requested. On error, throws an  corresponding to the errno.libfuse3)textual description of the error location Safe-Inferred%&X,libfuse3, this function doesn't translate the errno and just returns ()= to indicate success, or throws an error to indicate failure.libfuse3Same as  but returns the " instead of throwing an exception.Returns  on success.libfuse3,An empty set of operations whose fields are Nothing.libfuse3 Merges two  in a left-biased manner.libfuse3 Allocates a fuse_operations struct and pokes  into it.Each field of  is converted into a C function pointer and is assigned to a corresponding field of struct fuse_operations. The created R has the following invariants:The content of fuse_file_info.fh is a Haskell value of type  StablePtr fh or  StablePtr dh., depending on operations. It is created with , accessed with  and released with .Every methods handle Haskell exception with the supplied error handler. Any exceptions not catched by it are catched, logged and returns . This means that   does not work inside .'NULL filepaths (passed from libfuse if (. is set) are translated to empty strings.libfuse3 Allocates a  fuse_args& struct to hold commandline arguments.libfuse3Calls fuse_parse_cmdline to parse the part of the commandline arguments that we care about.fuse_parse_cmdline will modify the 2 struct passed in to remove those arguments; the : struct containing remaining arguments must be passed to  fuse_mount/fuse_new.The multithreaded runtime will be used regardless of the threading flag! See the comment in fuse_session_exit for why.libfuse3Parses the commandline arguments and exit if the args are bad or certain informational flag(s) are specified. See .libfuse3Haskell version of fuse_daemonize.3During the fork, transfers all of the resources in 2 (and its cleanup actions) to the forked process.Mimics daemon() 's use of _exit() instead of exit(); we depend on this in , because otherwise we'll unmount the filesystem when the foreground process exits.libfuse3withSignalHandlers handler io installs signal handlers while io is executed.libfuse3Mounts the filesystem, forks (if requested), and then starts fuse.libfuse3/Parses the commandline arguments and runs fuse.libfuse3Main function of FUSE.+This is all that has to be called from the main function. On top of the  record with filesystem implementation, you must give an exception handler converting Haskell exceptions to .libfuse36Catches any exception, logs it to stderr, and returns .(Suitable as a default exception handler.NOTE 1" This differs from the one in the HFuse package which returns .NOTE 2 If the filesystem is daemonized (as default), the exceptions will not be logged because stderr is redirected to  /dev/null.libfuse3Gets a file handle from  which is embedded with .If either the Ptr  itself or its fh field is NULL, returns Nothing.libfuse3Gets a file handle from . getFHJust = fmap fromJust .  #This means you must make sure that  returns Just% or you'll get a Haskell exception. However., it's deliberately made lazy so that calling ? itself won't throw but trying to use the returned value will.This function is implemented this way in order to take care of rare(?) cases in which / is implemented but not / resp. In such a case,  would not be called but only  would be. Without some protection, we would be dereferencing a non-initialized  , which is undefined behavior. Throwing a Haskell exception in a pure code is much better than UB. See the comment in the source of + if you are interested in more explanation.libfuse3Embeds a file handle into . It should be freed with  when no longer required.libfuse3Frees a file handle in  which is embedded with . Safe-InferredY        ))*+,-./0123456789:;;<=1>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~((xyz{|}~  libfuse3-0.2.0.1-inplaceSystem.LibFuse3.FileStatSystem.LibFuse3.FileSystemStatsSystem.LibFuse3.Internal.CSystem.LibFuse3.FuseConfig!System.LibFuse3.Internal.ResourceSystem.LibFuse3.UtilsSystem.LibFuse3.InternalSystem.Posix.Files FileStatusDate.Time.Clock.POSIX POSIXTimeSystem.Posix.InternalsCStatSystem.LibFuse3 fuseStatfsFuseOperations FuseConfigfuseInitgetSymbolicLinkStatusreadSymbolicLink createDeviceSystem.Posix.DirectorycreateDirectory removeLinkStsten.Posix.DirectoryremoveDirectorycreateSymbolicLinkrename createLink setFileModesetOwnerAndGroup setFileSizeopenFdfdReadfdWrite fileAccessSystem.Posix.Fcntl fileAllocate fileExist nullpathOkFileStatfileIDfileMode linkCount fileOwner fileGroupspecialDeviceIDfileSize blockCountaccessTimeHiResmodificationTimeHiResstatusChangeTimeHiResdefaultFileStat getFileStat getFileStatFd$fStorableFileStat $fEqFileStat$fShowFileStatFileSystemStats blockSize fragmentSize blocksFreeblocksAvailable fileCount filesFree maxNameLength c_statvfs c_fstatvfsgetFileSystemStatsgetFileSystemStatsFd$fStorableFileSystemStats$fEqFileSystemStats$fShowFileSystemStatsCLseekCCopyFileRange CFallocateCFlockCReadBuf CWriteBufCPollCIoctlCBmapCUtimensCLockCCreateCAccessCDestroyCInit CFsyncdir CReleasedirCReaddirCOpendir CRemovexattr CListxattr CGetxattr CSetxattrCFsyncCReleaseCFlushCStatfsCWriteCReadCOpen CTruncateCChownCChmodCLinkCRenameCSymlinkCRmdirCUnlinkCMkdirCMknod CReadlinkCGetattr StructFuse FuseSessionFuseReaddirFlagsFusePollhandle fuseGetattr fuseReadlink fuseMknod fuseMkdir fuseUnlink fuseRmdir fuseSymlink fuseRenamefuseLink fuseChmod fuseChown fuseTruncatefuseOpenfuseRead fuseWrite fuseFlush fuseRelease fuseFsync fuseSetxattr fuseGetxattr fuseListxattrfuseRemovexattr fuseOpendir fuseReaddirfuseReleasedir fuseFsyncdir fuseDestroy fuseAccess fuseCreatefuseLock fuseUtimensfuseBmap fuseIoctlfusePoll fuseWriteBuf fuseReadBuf fuseFlock fuseFallocatefuseCopyFileRange fuseLseekFuseFillDirFlagsFuseFillDirBuf FuseFillDir FuseFileInfo FuseConnInfosetGidgidsetUiduidsetModeumask entryTimeoutnegativeTimeout attrTimeoutintr intrSignalremember hardRemoveuseIno readdirInodirectIo kernelCache autoCacheacAttrTimeoutSet acAttrTimeoutFuseCmdlineOpts FuseBufvecFuseBufFuseArgsmkLseekmkCopyFileRange mkFallocatemkFlock mkReadBuf mkWriteBufmkPollmkIoctlmkBmap mkUtimensmkLockmkCreatemkAccess mkDestroymkInit mkFsyncdir mkReleasedir mkReaddir mkOpendir mkRemovexattr mkListxattr mkGetxattr mkSetxattrmkFsync mkReleasemkFlushmkStatfsmkWritemkReadmkOpen mkTruncatemkChownmkChmodmkLinkmkRename mkSymlinkmkRmdirmkUnlinkmkMkdirmkMknod mkReadlink mkGetattr fuse_unmountfuse_session_exitfuse_pkgversionfuse_parse_cmdlinefuse_opt_free_argsfuse_new fuse_mountfuse_lowlevel_versionfuse_lowlevel_helpfuse_loop_mt_31 fuse_lib_helpfuse_get_session fuse_destroyfuse_cmdline_helpdefaultFuseOperationsmergeLFuseOperations$fStorableFuseConfig$fStorableFuseOperations$fEqFuseConfig$fShowFuseConfig toCFuseConfigfromCFuseConfigdaemonizeResourceTresCallocBytesresMallocBytesresNew resNewCStringresNewFilePath resNewArrayc_pwritec_preadunErrnoioErrorToErrno throwErrnoOftryErrno tryErrno_ tryErrno' tryErrno_'timeSpecToPOSIXTimepokeCStringLen0 testBitSetpreadpwriteExceptionHandler FuseMainArgs SetxattrFlagSetxattrDefaultSetxattrCreateSetxattrReplace AccessModeFileOKPermOKSyncTypeFullSyncDataSync EntryTypeUnknown NamedPipeCharacterSpecial Directory BlockSpecial RegularFile SymbolicLinkSocketpeekFuseFillDirentryTypeToFileModefileModeToEntryTypeaccess accessErrnoresCFuseOperations resFuseArgsfuseParseCommandLinefuseParseCommandLineOrExit fuseDaemonizewithSignalHandlers fuseMainRealfuseRunfuseMaindefaultExceptionHandlergetFH getFHJustnewFHdelFH$fEqSetxattrFlag$fShowSetxattrFlag$fEqAccessMode$fShowAccessMode $fEqSyncType$fShowSyncType $fEqEntryType$fShowEntryTypebaseForeign.StorableStorableclock-0.8.3-a6a7c9761c7b1d36a89657b2af539959478363c07f1b105d3676182b8ef39129 System.ClockTimeSpec unix-2.7.2.2System.Posix.Process.CommonexitImmediatelyForeign.Marshal.Alloc callocBytesfree mallocBytesForeign.Marshal.UtilsnewForeign.C.String newCString newFilePathForeign.Marshal.ArraynewArraytry_Foreign.C.ErrorErrnoGHC.IO.ExceptionIOErrorerrnoToIOError throwErrnogetErrnoeOKeIO time-1.11.1.1"Data.Time.Clock.Internal.POSIXTimewithCStringLenForeign.C.TypesCIntGHC.IOFilePath Data.EitherRightLefteNOSYSSystem.Posix.Types FileOffsetSystem.Posix.IO.CommonfdSeekFileMode System.Exit exitSuccessresourcet-1.3.0-b43bde851a46839c38041f43cc358ccbd5b339fad374a9c2dde6fbcd7ee39df4%Control.Monad.Trans.Resource.Internal ResourceTeFAULT GHC.Stable StablePtr