Tests if the stream supports the #GSeekableIface.
Tests if the length of the stream can be adjusted with g_seekable_truncate().
Get the main Gtk struct
Seeks in the stream by the given @offset, modified by @type.
Tells the current position within the stream.
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 previouly shorter than @offset, it is extended with NUL ('\0') bytes.
#GSeekable is implemented by streams (implementations of #GInputStream or #GOutputStream) 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 lseek() on a block device (for example: attmepting 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 lseek() on a normal file. Seeking past the end and writing data will usually cause the stream to resize by introducing zero bytes.