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.
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.