HELP SYSSEEK Revised by Fran Evelyn, July 85
sysseek(<device>, <pointer>, <mode>);
or
sysseek(<device>, <pointer>, <mode>, true) -> <position>;
This procedure controls at which byte in a file the next read or write will
operate. It can only be used on 'block I/O' files. SYSSEEK is modelled on the
UNIX 'seek' command, and takes three arguments: a <device>, a <pointer> and a
<mode>.
The <pointer> is an integer which represents the 'address' in bytes of the
point at which the next read or write will take place. The <mode> indicates
how this address is represented. There are six possible modes, represented by
the digits 0-5.
mode = 0 - the address is relative to the start of the file (the first byte
has address 0).
mode = 1 - the address is relative to the current position (and can therefore
be negative).
mode = 2 - the address is relative to the byte immediately after the last byte
in the file.
Thus if D is a file whose current position is C and whose size is S then:
sysseek(d, n, 1) is equivalent to sysseek(d, n + c, 0)
sysseek(d, n, 2) is equivalent to sysseek(d, n + s, 0)
Modes 3, 4 and 5 are the same as 0, 1 and 2 respectively except that the
addresses are in blocks (i.e. multiples of 512 bytes) rather than bytes. Thus
sysseek(d, n, 3) is equivalent to sysseek(d, n * 512, 0)
For more information on Input/Output procedures see REF SYSIO.
See also HELP
*SYSOPEN - returns a device record for an existing disc file
*SYSCREATE - creates a disc file and returns a device record for the file
*SYSREAD - reads from a specified device
*SYSWRITE - writes to a specified deviceAuthor: Revised by Fran Evelyn, July 85