Seekable
GSeekable
is implemented by streams (implementations of class@Gio.InputStream or class@Gio.OutputStream) that support seeking.
Seekable streams largely fall into two categories: resizable and fixed-size.
GSeekable
on fixed-sized streams is approximately the same as POSIX man:lseek(2) on a block device (for example: attempting to seek past the end of the device is an error). Fixed streams typically cannot be truncated.
GSeekable
on resizable streams is approximately the same as POSIX man:lseek(2) on a normal file. Seeking past the end and writing data will usually cause the stream to resize by introducing zero bytes.
Inheritors
Functions
Tests if the length of the stream can be adjusted with g_seekable_truncate().
Seeks in the stream by the given @offset, modified by @type.
Sets the length of the stream to @offset. If the stream was previously larger than @offset, the extra data is discarded. If the stream was previously shorter than @offset, it is extended with NUL ('\0') bytes.