SeekableIF.seek

Seeks in the stream by the given @offset, modified by @type.

Attempting to seek past the end of the stream will have different results depending on if the stream is fixed-sized or resizable. If the stream is resizable then seeking past the end and then writing will result in zeros filling the empty space. Seeking past the end of a resizable stream and reading will result in EOF. Seeking past the end of a fixed-sized stream will fail.

Any operation that would result in a negative offset will fail.

If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.

interface SeekableIF
bool
seek

Parameters

offset long

a #goffset.

type GSeekType

a #GSeekType.

cancellable Cancellable

optional #GCancellable object, %NULL to ignore.

Return Value

Type: bool

%TRUE if successful. If an error has occurred, this function will return %FALSE and set @error appropriately if present.

Throws

GException on failure.

Meta