Moves the current read-write file pointer by an offset expressed as a 64-bit integer.
Syntax
#include <prio.h> PRInt64 PR_Seek64( PRFileDesc *fd, PRInt64 offset, PRSeekWhence whence);
Parameters
The function has the following parameters:
fd
- A pointer to a
PRFileDesc
object. offset
- A value, in bytes, used with the whence parameter to set the file pointer. A negative value causes seeking in the reverse direction.
whence
- A value of type
PRSeekWhence
that specifies how to interpret theoffset
parameter in setting the file pointer associated with the fd parameter. The value for thewhence
parameter can be one of the following:PR_SEEK_SET
. Sets the file pointer to the value of theoffset
parameter.PR_SEEK_CUR
. Sets the file pointer to its current location plus the value of theoffset
parameter.PR_SEEK_END
. Sets the file pointer to the size of the file plus the value of theoffset
parameter.
Returns
The function returns one of the following values:
- If the function completes successfully, it returns the resulting file pointer location, measured in bytes from the beginning of the file.
- If the function fails, the file pointer remains unchanged and the function returns -1. The error code can then be retrieved with
PR_GetError
.
Description
This is the idiom for obtaining the current location (expressed as a 64-bit integer) of the file pointer for the file descriptor fd
:
PR_Seek64(fd, 0, PR_SEEK_CUR)
If the operating system can handle only a 32-bit file offset, PR_Seek64
may fail with the error code PR_FILE_TOO_BIG_ERROR
if the offset
parameter is out of the range of a 32-bit integer.