[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]


NAME
    Seek -- Set the current position for reading and writing

SYNOPSIS
    oldPosition = Seek( file, position, mode )
    D0                  D1    D2        D3

    LONG Seek(BPTR, LONG, LONG)

FUNCTION
    Seek() sets the read/write cursor for the file 'file' to the
    position 'position'. This position is used by both Read() and
    Write() as a place to start reading or writing. The result is the
    current absolute position in the file, or -1 if an error occurs, in
    which case IoErr() can be used to find more information. 'mode' can
    be OFFSET_BEGINNING, OFFSET_CURRENT or OFFSET_END. It is used to
    specify the relative start position. For example, 20 from current
    is a position 20 bytes forward from current, -20 is 20 bytes back
    from current.

    So that to find out where you are, seek zero from current. The end
    of the file is a Seek() positioned by zero from end. You cannot
    Seek() beyond the end of a file.

INPUTS
    file - BCPL pointer to a file handle
    position - integer
    mode - integer

RESULTS
    oldPosition - integer

BUGS
    The V36 and V37 ROM filesystem (and V36/V37 l:fastfilesystem)
    returns the current position instead of -1 on an error.  It sets
    IoErr() to 0 on success, and an error code on an error.

SEE ALSO
    Read(), Write(), SetFileSize()


[Back to Amiga Developer Docs]