1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include
"nsITellableStream.idl"
12 * Note that a stream might not implement all methods (e.g., a readonly stream
13 * won't implement setEOF)
16 #include
"nsISupports.idl"
18 [scriptable
, uuid(8429d350
-1040-4661-8b71
-f2a6ba455980
)]
19 interface nsISeekableStream
: nsITellableStream
22 * Sets the stream pointer to the value of the 'offset' parameter
24 const int32_t NS_SEEK_SET
= 0;
27 * Sets the stream pointer to its current location plus the value
28 * of the offset parameter.
30 const int32_t NS_SEEK_CUR
= 1;
33 * Sets the stream pointer to the size of the stream plus the value
34 * of the offset parameter.
36 const int32_t NS_SEEK_END
= 2;
41 * This method moves the stream offset of the steam implementing this
44 * @param whence specifies how to interpret the 'offset' parameter in
45 * setting the stream offset associated with the implementing
48 * @param offset specifies a value, in bytes, that is used in conjunction
49 * with the 'whence' parameter to set the stream offset of the
50 * implementing stream. A negative value causes seeking in
51 * the reverse direction.
53 * @throws NS_BASE_STREAM_CLOSED if called on a closed stream.
55 void seek
(in long whence
, in long long offset
);
60 * This method truncates the stream at the current offset.
62 * @throws NS_BASE_STREAM_CLOSED if called on a closed stream.