« Gecko Plugin API Reference « Plug-in Side Plug-in API
Summary
Represents a particular range of bytes from a stream.
Syntax
typedef struct _NPByteRange { int32 offset; /* negative offset = from the end */ uint32 length; struct _NPByteRange* next; } NPByteRange;
Fields
The data structure has the following fields:
offset
- Offset in bytes to the start of the requested range. This value may be either positive or negative:
- Positive value: Offset from the beginning of the stream.
- Negative value: Offset from the end of the stream.
length
- Number of bytes to fetch from the specified offset.
next
- Points to the next
NPByteRange
request in the list of requests, ornull
if this is the last request.
Description
The plug-in seeks within a stream by building a linked list of one or more NPByteRange
objects, which represents a set of discontiguous byte ranges. The only plug-in API call that uses the NPByteRange
type is NPN_RequestRead()
, which lets the plug-in read specified parts of a file without downloading it.
The plug-in is responsible for deleting NPByteRange
objects when finished with them. The browser makes a copy if it needs to keep the objects beyond the call to NPN_RequestRead()
.