blob: 3c144575dc89186181a85ddf09ef918ef5cf5212 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
PR_Seek64
=========
Moves the current read-write file pointer by an offset expressed as a
64-bit integer.
Syntax
------
.. code::
#include <prio.h>
PRInt64 PR_Seek64(
PRFileDesc *fd,
PRInt64 offset,
PRSeekWhence whence);
Parameters
~~~~~~~~~~
The function has the following parameters:
``fd``
A pointer to a :ref:`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 :ref:`PRSeekWhence` that specifies how to interpret the
``offset`` parameter in setting the file pointer associated with the
fd parameter. The value for the ``whence`` parameter can be one of
the following:
- :ref:`PR_SEEK_SET`. Sets the file pointer to the value of the
``offset`` parameter.
- :ref:`PR_SEEK_CUR`. Sets the file pointer to its current location
plus the value of the ``offset`` parameter.
- :ref:`PR_SEEK_END`. Sets the file pointer to the size of the file
plus the value of the ``offset`` 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
:ref:`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,
:ref:`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.
See Also
--------
:ref:`PR_Seek`
|