_RBLOCK - block-oriented read operation.
status = _rblock(fp, buf, nbytes, seek);
- FILE *fp;
- indicates the stream from which you want to read.
- void *buf;
- points to the location where you want to place the data
that you read.
This location must be word-aligned.
- int nbytes;
- is the number of bytes of data that you want to read.
This must be greater than zero and a multiple of 4.
- int seek;
- is a byte offset within the file, indicating the place
where you want to start reading.
- int status;
- is the number of bytes read, if the operation was successful.
If an I/O error occurs, "status" is the negative of the major
"_rblock" performs a binary read operation on a random or
sequential disk file.
For a random disk file, "seek" must be a multiple of 4*64
(since there are four bytes in each word and 64 words in a sector).
The "nbytes" value must be less than 256*1024*4.
For a sequential disk file, "seek" must be a multiple of 4*320
and "nbytes" must be less than or equal to 63*4*320 (63 llinks).
The file pointer will be advanced by (words+319)/320 llinks (where
"words" is the number of words read, normally "nbytes/4").
Copyright © 2000, Thinkage Ltd.