cabal-version: 3.0 name: memfd version: 1.0.1.0 synopsis: Open temporary anonymous Linux file handles category: Filesystem, Linux description: "memfd" (__mem__ory __f__ile __d__escriptor) lets us open pseudo-"files" that are not actually stored in the "real" file system. This feature is only available on Linux. Such a file is described as an "anonymous file". It behaves like a regular file, and so can be modified, truncated, memory-mapped, and so on. However, unlike a regular file, it lives in RAM and has a volatile backing storage. Once all references to the file are dropped, it is automatically released. The recommended way to import this library is: @ import qualified Memfd @ There is one central function: @ create :: CreateOptions -> IO Fd @ [Fd](https://hackage.haskell.org/package/base/docs/System-Posix-Types.html#t:Fd) stands for "file descriptor". Here are some things you can do with a file descriptor: - [Set the file size](https://hackage.haskell.org/package/unix/docs/System-Posix-Files.html#v:setFdSize) - [Map the file](https://hackage.haskell.org/package/shared-memory/docs/MMAP.html#v:mmap) into your process's memory space - [Send the file descriptor](https://hackage.haskell.org/package/network/docs/Network-Socket.html#v:sendFd) over a Unix-domain socket to share the memory with another process - [Close the file](https://hackage.haskell.org/package/unix/docs/System-Posix-IO.html#v:closeFd) and allow its contents to get garbage collected by the operating system copyright: 2022 Mission Valley Software LLC license: Apache-2.0 license-file: license.txt author: Chris Martin maintainer: Chris Martin, Julie Moronuki homepage: https://github.com/typeclasses/memfd bug-reports: https://github.com/typeclasses/memfd/issues source-repository head type: git location: git://github.com/typeclasses/memfd.git library default-language: Haskell2010 default-extensions: NoImplicitPrelude ghc-options: -Wall -Wmissing-deriving-strategies build-depends: base ^>= 4.14 || ^>= 4.15 || ^>= 4.16 build-depends: transformers ^>= 0.5 || ^>= 0.6 exposed-modules: Memfd other-modules: Create CreateFlags CreateFlagsType CreateOptionsType CreateOptionsFlags DefaultCreateOptions FileSystemType HugeTLBOptionsType HugeTLBSizeType NameType OnExecType SealingType SupportedHugeTLBSizes