This interface allows consumption of primitive data types from a "binary
 stream" containing untagged, big-endian binary data, i.e. as produced by an
 implementation of nsIBinaryOutputStream.  This might be used, for example,
 to implement network protocols or to read from architecture-neutral disk
 files, i.e. ones that can be read and written by both big-endian and
 little-endian platforms.

 @See nsIBinaryOutputStream
[scriptable, uuid(7b456cb0-8772-11d3-90cf-0040056a906e)]
interface nsIBinaryInputStream : nsIInputStream

Methods


          
PRUint16 read16()

          
PRUint32 read32()

          
PRUint64 read64()

          
PRUint8 read8()

          
PRBool readBoolean()
 Read an opaque byte array from a binary stream, storing the results
 as an array of PRUint8s.
void readByteArray(in PRUint32 aLength, [array, retval, size_is(aLength)] out PRUint8 aBytes)
 Read an opaque byte array from a binary stream.
void readBytes(in PRUint32 aLength, [retval, size_is(aLength)] out string aString)
 Read a NUL-terminated 8-bit char* string from a binary stream.
ACString readCString()

          
double readDouble()

          
float readFloat()
 Read a NUL-terminated 16-bit PRUnichar* string from a binary stream.
AString readString()

          
void setInputStream(in nsIInputStream aInputStream)