| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (inaki@blueleaf.cc) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.GLib.Structs.MappedFile
Description
The MappedFile represents a file mapping created with
mappedFileNew. It has only private members and should
not be accessed directly.
Synopsis
- newtype MappedFile = MappedFile (ManagedPtr MappedFile)
- noMappedFile :: Maybe MappedFile
- mappedFileFree :: (HasCallStack, MonadIO m) => MappedFile -> m ()
- mappedFileGetBytes :: (HasCallStack, MonadIO m) => MappedFile -> m Bytes
- mappedFileGetContents :: (HasCallStack, MonadIO m) => MappedFile -> m Text
- mappedFileGetLength :: (HasCallStack, MonadIO m) => MappedFile -> m Word64
- mappedFileNew :: (HasCallStack, MonadIO m) => [Char] -> Bool -> m MappedFile
- mappedFileNewFromFd :: (HasCallStack, MonadIO m) => Int32 -> Bool -> m MappedFile
- mappedFileRef :: (HasCallStack, MonadIO m) => MappedFile -> m MappedFile
- mappedFileUnref :: (HasCallStack, MonadIO m) => MappedFile -> m ()
Exported types
newtype MappedFile Source #
Memory-managed wrapper type.
Constructors
| MappedFile (ManagedPtr MappedFile) |
Instances
| BoxedObject MappedFile Source # | |
Defined in GI.GLib.Structs.MappedFile Methods boxedType :: MappedFile -> IO GType # | |
noMappedFile :: Maybe MappedFile Source #
A convenience alias for Nothing :: Maybe MappedFile.
Methods
free
Arguments
| :: (HasCallStack, MonadIO m) | |
| => MappedFile |
|
| -> m () |
Deprecated: (Since version 2.22)Use mappedFileUnref instead.
This call existed before MappedFile had refcounting and is currently
exactly the same as mappedFileUnref.
Since: 2.8
getBytes
Arguments
| :: (HasCallStack, MonadIO m) | |
| => MappedFile |
|
| -> m Bytes | Returns: A newly allocated |
getContents
mappedFileGetContents Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => MappedFile |
|
| -> m Text | Returns: the contents of |
Returns the contents of a MappedFile.
Note that the contents may not be zero-terminated,
even if the MappedFile is backed by a text file.
If the file is empty then Nothing is returned.
Since: 2.8
getLength
Arguments
| :: (HasCallStack, MonadIO m) | |
| => MappedFile |
|
| -> m Word64 | Returns: the length of the contents of |
Returns the length of the contents of a MappedFile.
Since: 2.8
new
Arguments
| :: (HasCallStack, MonadIO m) | |
| => [Char] |
|
| -> Bool |
|
| -> m MappedFile | Returns: a newly allocated |
Maps a file into memory. On UNIX, this is using the mmap() function.
If writable is True, the mapped buffer may be modified, otherwise
it is an error to modify the mapped buffer. Modifications to the buffer
are not visible to other processes mapping the same file, and are not
written back to the file.
Note that modifications of the underlying file might affect the contents
of the MappedFile. Therefore, mapping should only be used if the file
will not be modified, or if all modifications of the file are done
atomically (e.g. using fileSetContents).
If filename is the name of an empty, regular file, the function
will successfully return an empty MappedFile. In other cases of
size 0 (e.g. device files such as /dev/null), error will be set
to the FileError value G_FILE_ERROR_INVAL.
Since: 2.8
newFromFd
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int32 |
|
| -> Bool |
|
| -> m MappedFile | Returns: a newly allocated |
Maps a file into memory. On UNIX, this is using the mmap() function.
If writable is True, the mapped buffer may be modified, otherwise
it is an error to modify the mapped buffer. Modifications to the buffer
are not visible to other processes mapping the same file, and are not
written back to the file.
Note that modifications of the underlying file might affect the contents
of the MappedFile. Therefore, mapping should only be used if the file
will not be modified, or if all modifications of the file are done
atomically (e.g. using fileSetContents).
Since: 2.32
ref
Arguments
| :: (HasCallStack, MonadIO m) | |
| => MappedFile |
|
| -> m MappedFile | Returns: the passed in |
Increments the reference count of file by one. It is safe to call
this function from any thread.
Since: 2.22
unref
Arguments
| :: (HasCallStack, MonadIO m) | |
| => MappedFile |
|
| -> m () |
Decrements the reference count of file by one. If the reference count
drops to 0, unmaps the buffer of file and frees it.
It is safe to call this function from any thread.
Since 2.22