Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
GI.GstBase.Structs.ByteReader
Contents
- Exported types
- Methods
- dupData
- dupStringUtf16
- dupStringUtf32
- dupStringUtf8
- free
- getData
- getFloat32Be
- getFloat32Le
- getFloat64Be
- getFloat64Le
- getInt16Be
- getInt16Le
- getInt24Be
- getInt24Le
- getInt32Be
- getInt32Le
- getInt64Be
- getInt64Le
- getInt8
- getPos
- getRemaining
- getSize
- getStringUtf8
- getUint16Be
- getUint16Le
- getUint24Be
- getUint24Le
- getUint32Be
- getUint32Le
- getUint64Be
- getUint64Le
- getUint8
- init
- maskedScanUint32
- maskedScanUint32Peek
- peekData
- peekFloat32Be
- peekFloat32Le
- peekFloat64Be
- peekFloat64Le
- peekInt16Be
- peekInt16Le
- peekInt24Be
- peekInt24Le
- peekInt32Be
- peekInt32Le
- peekInt64Be
- peekInt64Le
- peekInt8
- peekStringUtf8
- peekUint16Be
- peekUint16Le
- peekUint24Be
- peekUint24Le
- peekUint32Be
- peekUint32Le
- peekUint64Be
- peekUint64Le
- peekUint8
- setPos
- skip
- skipStringUtf16
- skipStringUtf32
- skipStringUtf8
- Properties
Description
ByteReader
provides a byte reader that can read different integer and
floating point types from a memory buffer. It provides functions for reading
signed/unsigned, little/big endian integers of 8, 16, 24, 32 and 64 bits
and functions for reading little/big endian floating points numbers of
32 and 64 bits. It also provides functions to read NUL-terminated strings
in various character encodings.
- newtype ByteReader = ByteReader (ManagedPtr ByteReader)
- newZeroByteReader :: MonadIO m => m ByteReader
- noByteReader :: Maybe ByteReader
- data ByteReaderDupDataMethodInfo
- byteReaderDupData :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, ByteString)
- data ByteReaderDupStringUtf16MethodInfo
- byteReaderDupStringUtf16 :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, [Word16])
- data ByteReaderDupStringUtf32MethodInfo
- byteReaderDupStringUtf32 :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, [Word32])
- data ByteReaderDupStringUtf8MethodInfo
- byteReaderDupStringUtf8 :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, [Text])
- data ByteReaderFreeMethodInfo
- byteReaderFree :: (HasCallStack, MonadIO m) => ByteReader -> m ()
- data ByteReaderGetDataMethodInfo
- byteReaderGetData :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, ByteString)
- data ByteReaderGetFloat32BeMethodInfo
- byteReaderGetFloat32Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Float)
- data ByteReaderGetFloat32LeMethodInfo
- byteReaderGetFloat32Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Float)
- data ByteReaderGetFloat64BeMethodInfo
- byteReaderGetFloat64Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Double)
- data ByteReaderGetFloat64LeMethodInfo
- byteReaderGetFloat64Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Double)
- data ByteReaderGetInt16BeMethodInfo
- byteReaderGetInt16Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int16)
- data ByteReaderGetInt16LeMethodInfo
- byteReaderGetInt16Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int16)
- data ByteReaderGetInt24BeMethodInfo
- byteReaderGetInt24Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int32)
- data ByteReaderGetInt24LeMethodInfo
- byteReaderGetInt24Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int32)
- data ByteReaderGetInt32BeMethodInfo
- byteReaderGetInt32Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int32)
- data ByteReaderGetInt32LeMethodInfo
- byteReaderGetInt32Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int32)
- data ByteReaderGetInt64BeMethodInfo
- byteReaderGetInt64Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int64)
- data ByteReaderGetInt64LeMethodInfo
- byteReaderGetInt64Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int64)
- data ByteReaderGetInt8MethodInfo
- byteReaderGetInt8 :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int8)
- data ByteReaderGetPosMethodInfo
- byteReaderGetPos :: (HasCallStack, MonadIO m) => ByteReader -> m Word32
- data ByteReaderGetRemainingMethodInfo
- byteReaderGetRemaining :: (HasCallStack, MonadIO m) => ByteReader -> m Word32
- data ByteReaderGetSizeMethodInfo
- byteReaderGetSize :: (HasCallStack, MonadIO m) => ByteReader -> m Word32
- data ByteReaderGetStringUtf8MethodInfo
- byteReaderGetStringUtf8 :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, [Text])
- data ByteReaderGetUint16BeMethodInfo
- byteReaderGetUint16Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word16)
- data ByteReaderGetUint16LeMethodInfo
- byteReaderGetUint16Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word16)
- data ByteReaderGetUint24BeMethodInfo
- byteReaderGetUint24Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word32)
- data ByteReaderGetUint24LeMethodInfo
- byteReaderGetUint24Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word32)
- data ByteReaderGetUint32BeMethodInfo
- byteReaderGetUint32Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word32)
- data ByteReaderGetUint32LeMethodInfo
- byteReaderGetUint32Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word32)
- data ByteReaderGetUint64BeMethodInfo
- byteReaderGetUint64Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word64)
- data ByteReaderGetUint64LeMethodInfo
- byteReaderGetUint64Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word64)
- data ByteReaderGetUint8MethodInfo
- byteReaderGetUint8 :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word8)
- data ByteReaderInitMethodInfo
- byteReaderInit :: (HasCallStack, MonadIO m) => ByteReader -> ByteString -> m ()
- data ByteReaderMaskedScanUint32MethodInfo
- byteReaderMaskedScanUint32 :: (HasCallStack, MonadIO m) => ByteReader -> Word32 -> Word32 -> Word32 -> Word32 -> m Word32
- data ByteReaderMaskedScanUint32PeekMethodInfo
- byteReaderMaskedScanUint32Peek :: (HasCallStack, MonadIO m) => ByteReader -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> m Word32
- data ByteReaderPeekDataMethodInfo
- byteReaderPeekData :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, ByteString)
- data ByteReaderPeekFloat32BeMethodInfo
- byteReaderPeekFloat32Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Float)
- data ByteReaderPeekFloat32LeMethodInfo
- byteReaderPeekFloat32Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Float)
- data ByteReaderPeekFloat64BeMethodInfo
- byteReaderPeekFloat64Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Double)
- data ByteReaderPeekFloat64LeMethodInfo
- byteReaderPeekFloat64Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Double)
- data ByteReaderPeekInt16BeMethodInfo
- byteReaderPeekInt16Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int16)
- data ByteReaderPeekInt16LeMethodInfo
- byteReaderPeekInt16Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int16)
- data ByteReaderPeekInt24BeMethodInfo
- byteReaderPeekInt24Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int32)
- data ByteReaderPeekInt24LeMethodInfo
- byteReaderPeekInt24Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int32)
- data ByteReaderPeekInt32BeMethodInfo
- byteReaderPeekInt32Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int32)
- data ByteReaderPeekInt32LeMethodInfo
- byteReaderPeekInt32Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int32)
- data ByteReaderPeekInt64BeMethodInfo
- byteReaderPeekInt64Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int64)
- data ByteReaderPeekInt64LeMethodInfo
- byteReaderPeekInt64Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int64)
- data ByteReaderPeekInt8MethodInfo
- byteReaderPeekInt8 :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Int8)
- data ByteReaderPeekStringUtf8MethodInfo
- byteReaderPeekStringUtf8 :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, [Text])
- data ByteReaderPeekUint16BeMethodInfo
- byteReaderPeekUint16Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word16)
- data ByteReaderPeekUint16LeMethodInfo
- byteReaderPeekUint16Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word16)
- data ByteReaderPeekUint24BeMethodInfo
- byteReaderPeekUint24Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word32)
- data ByteReaderPeekUint24LeMethodInfo
- byteReaderPeekUint24Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word32)
- data ByteReaderPeekUint32BeMethodInfo
- byteReaderPeekUint32Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word32)
- data ByteReaderPeekUint32LeMethodInfo
- byteReaderPeekUint32Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word32)
- data ByteReaderPeekUint64BeMethodInfo
- byteReaderPeekUint64Be :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word64)
- data ByteReaderPeekUint64LeMethodInfo
- byteReaderPeekUint64Le :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word64)
- data ByteReaderPeekUint8MethodInfo
- byteReaderPeekUint8 :: (HasCallStack, MonadIO m) => ByteReader -> m (Bool, Word8)
- data ByteReaderSetPosMethodInfo
- byteReaderSetPos :: (HasCallStack, MonadIO m) => ByteReader -> Word32 -> m Bool
- data ByteReaderSkipMethodInfo
- byteReaderSkip :: (HasCallStack, MonadIO m) => ByteReader -> Word32 -> m Bool
- data ByteReaderSkipStringUtf16MethodInfo
- byteReaderSkipStringUtf16 :: (HasCallStack, MonadIO m) => ByteReader -> m Bool
- data ByteReaderSkipStringUtf32MethodInfo
- byteReaderSkipStringUtf32 :: (HasCallStack, MonadIO m) => ByteReader -> m Bool
- data ByteReaderSkipStringUtf8MethodInfo
- byteReaderSkipStringUtf8 :: (HasCallStack, MonadIO m) => ByteReader -> m Bool
- byteReader_byte :: AttrLabelProxy "byte"
- getByteReaderByte :: MonadIO m => ByteReader -> m Word32
- setByteReaderByte :: MonadIO m => ByteReader -> Word32 -> m ()
- byteReader_size :: AttrLabelProxy "size"
- getByteReaderSize :: MonadIO m => ByteReader -> m Word32
- setByteReaderSize :: MonadIO m => ByteReader -> Word32 -> m ()
Exported types
newtype ByteReader Source #
Constructors
ByteReader (ManagedPtr ByteReader) |
Instances
newZeroByteReader :: MonadIO m => m ByteReader Source #
Construct a ByteReader
struct initialized to zero.
Methods
dupData
data ByteReaderDupDataMethodInfo Source #
Instances
((~) * signature (m (Bool, ByteString)), MonadIO m) => MethodInfo * ByteReaderDupDataMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, ByteString) |
Free-function: g_free
Returns a newly-allocated copy of the current data
position if at least size
bytes are left and
updates the current position. Free with free
when no longer needed.
dupStringUtf16
data ByteReaderDupStringUtf16MethodInfo Source #
Instances
((~) * signature (m (Bool, [Word16])), MonadIO m) => MethodInfo * ByteReaderDupStringUtf16MethodInfo ByteReader signature Source # | |
byteReaderDupStringUtf16 Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, [Word16]) | Returns: |
Free-function: g_free
Returns a newly-allocated copy of the current data position if there is a NUL-terminated UTF-16 string in the data (this could be an empty string as well), and advances the current position.
No input checking for valid UTF-16 is done. This function is endianness agnostic - you should not assume the UTF-16 characters are in host endianness.
This function will fail if no NUL-terminator was found in in the data.
Note: there is no peek or get variant of this function to ensure correct byte alignment of the UTF-16 string.
dupStringUtf32
data ByteReaderDupStringUtf32MethodInfo Source #
Instances
((~) * signature (m (Bool, [Word32])), MonadIO m) => MethodInfo * ByteReaderDupStringUtf32MethodInfo ByteReader signature Source # | |
byteReaderDupStringUtf32 Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, [Word32]) | Returns: |
Free-function: g_free
Returns a newly-allocated copy of the current data position if there is a NUL-terminated UTF-32 string in the data (this could be an empty string as well), and advances the current position.
No input checking for valid UTF-32 is done. This function is endianness agnostic - you should not assume the UTF-32 characters are in host endianness.
This function will fail if no NUL-terminator was found in in the data.
Note: there is no peek or get variant of this function to ensure correct byte alignment of the UTF-32 string.
dupStringUtf8
data ByteReaderDupStringUtf8MethodInfo Source #
Instances
((~) * signature (m (Bool, [Text])), MonadIO m) => MethodInfo * ByteReaderDupStringUtf8MethodInfo ByteReader signature Source # | |
byteReaderDupStringUtf8 Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, [Text]) | Returns: |
Free-function: g_free
FIXME:Reads (copies) a NUL-terminated string in the ByteReader
instance,
advancing the current position to the byte after the string. This will work
for any NUL-terminated string with a character width of 8 bits, so ASCII,
UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
This function will fail if no NUL-terminator was found in in the data.
free
data ByteReaderFreeMethodInfo Source #
Instances
((~) * signature (m ()), MonadIO m) => MethodInfo * ByteReaderFreeMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m () |
Frees a ByteReader
instance, which was previously allocated by
gst_byte_reader_new()
.
getData
data ByteReaderGetDataMethodInfo Source #
Instances
((~) * signature (m (Bool, ByteString)), MonadIO m) => MethodInfo * ByteReaderGetDataMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, ByteString) |
Returns a constant pointer to the current data
position if at least size
bytes are left and
updates the current position.
getFloat32Be
data ByteReaderGetFloat32BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Float)), MonadIO m) => MethodInfo * ByteReaderGetFloat32BeMethodInfo ByteReader signature Source # | |
byteReaderGetFloat32Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Float) |
Read a 32 bit big endian floating point value into val
and update the current position.
getFloat32Le
data ByteReaderGetFloat32LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Float)), MonadIO m) => MethodInfo * ByteReaderGetFloat32LeMethodInfo ByteReader signature Source # | |
byteReaderGetFloat32Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Float) |
Read a 32 bit little endian floating point value into val
and update the current position.
getFloat64Be
data ByteReaderGetFloat64BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Double)), MonadIO m) => MethodInfo * ByteReaderGetFloat64BeMethodInfo ByteReader signature Source # | |
byteReaderGetFloat64Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Double) |
Read a 64 bit big endian floating point value into val
and update the current position.
getFloat64Le
data ByteReaderGetFloat64LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Double)), MonadIO m) => MethodInfo * ByteReaderGetFloat64LeMethodInfo ByteReader signature Source # | |
byteReaderGetFloat64Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Double) |
Read a 64 bit little endian floating point value into val
and update the current position.
getInt16Be
data ByteReaderGetInt16BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int16)), MonadIO m) => MethodInfo * ByteReaderGetInt16BeMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int16) |
Read a signed 16 bit big endian integer into val
and update the current position.
getInt16Le
data ByteReaderGetInt16LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int16)), MonadIO m) => MethodInfo * ByteReaderGetInt16LeMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int16) |
Read a signed 16 bit little endian integer into val
and update the current position.
getInt24Be
data ByteReaderGetInt24BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int32)), MonadIO m) => MethodInfo * ByteReaderGetInt24BeMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int32) |
Read a signed 24 bit big endian integer into val
and update the current position.
getInt24Le
data ByteReaderGetInt24LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int32)), MonadIO m) => MethodInfo * ByteReaderGetInt24LeMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int32) |
Read a signed 24 bit little endian integer into val
and update the current position.
getInt32Be
data ByteReaderGetInt32BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int32)), MonadIO m) => MethodInfo * ByteReaderGetInt32BeMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int32) |
Read a signed 32 bit big endian integer into val
and update the current position.
getInt32Le
data ByteReaderGetInt32LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int32)), MonadIO m) => MethodInfo * ByteReaderGetInt32LeMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int32) |
Read a signed 32 bit little endian integer into val
and update the current position.
getInt64Be
data ByteReaderGetInt64BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int64)), MonadIO m) => MethodInfo * ByteReaderGetInt64BeMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int64) |
Read a signed 64 bit big endian integer into val
and update the current position.
getInt64Le
data ByteReaderGetInt64LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int64)), MonadIO m) => MethodInfo * ByteReaderGetInt64LeMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int64) |
Read a signed 64 bit little endian integer into val
and update the current position.
getInt8
data ByteReaderGetInt8MethodInfo Source #
Instances
((~) * signature (m (Bool, Int8)), MonadIO m) => MethodInfo * ByteReaderGetInt8MethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int8) |
Read a signed 8 bit integer into val
and update the current position.
getPos
data ByteReaderGetPosMethodInfo Source #
Instances
((~) * signature (m Word32), MonadIO m) => MethodInfo * ByteReaderGetPosMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m Word32 | Returns: The current position of |
Returns the current position of a ByteReader
instance in bytes.
getRemaining
data ByteReaderGetRemainingMethodInfo Source #
Instances
((~) * signature (m Word32), MonadIO m) => MethodInfo * ByteReaderGetRemainingMethodInfo ByteReader signature Source # | |
byteReaderGetRemaining Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m Word32 | Returns: The remaining number of bytes of |
Returns the remaining number of bytes of a ByteReader
instance.
getSize
data ByteReaderGetSizeMethodInfo Source #
Instances
((~) * signature (m Word32), MonadIO m) => MethodInfo * ByteReaderGetSizeMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m Word32 | Returns: The total number of bytes of |
Returns the total number of bytes of a ByteReader
instance.
getStringUtf8
data ByteReaderGetStringUtf8MethodInfo Source #
Instances
((~) * signature (m (Bool, [Text])), MonadIO m) => MethodInfo * ByteReaderGetStringUtf8MethodInfo ByteReader signature Source # | |
byteReaderGetStringUtf8 Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, [Text]) |
Returns a constant pointer to the current data position if there is a NUL-terminated string in the data (this could be just a NUL terminator), advancing the current position to the byte after the string. This will work for any NUL-terminated string with a character width of 8 bits, so ASCII, UTF-8, ISO-8859-N etc.
No input checking for valid UTF-8 is done.
This function will fail if no NUL-terminator was found in in the data.
getUint16Be
data ByteReaderGetUint16BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word16)), MonadIO m) => MethodInfo * ByteReaderGetUint16BeMethodInfo ByteReader signature Source # | |
byteReaderGetUint16Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word16) |
Read an unsigned 16 bit big endian integer into val
and update the current position.
getUint16Le
data ByteReaderGetUint16LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word16)), MonadIO m) => MethodInfo * ByteReaderGetUint16LeMethodInfo ByteReader signature Source # | |
byteReaderGetUint16Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word16) |
Read an unsigned 16 bit little endian integer into val
and update the current position.
getUint24Be
data ByteReaderGetUint24BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word32)), MonadIO m) => MethodInfo * ByteReaderGetUint24BeMethodInfo ByteReader signature Source # | |
byteReaderGetUint24Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word32) |
Read an unsigned 24 bit big endian integer into val
and update the current position.
getUint24Le
data ByteReaderGetUint24LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word32)), MonadIO m) => MethodInfo * ByteReaderGetUint24LeMethodInfo ByteReader signature Source # | |
byteReaderGetUint24Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word32) |
Read an unsigned 24 bit little endian integer into val
and update the current position.
getUint32Be
data ByteReaderGetUint32BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word32)), MonadIO m) => MethodInfo * ByteReaderGetUint32BeMethodInfo ByteReader signature Source # | |
byteReaderGetUint32Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word32) |
Read an unsigned 32 bit big endian integer into val
and update the current position.
getUint32Le
data ByteReaderGetUint32LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word32)), MonadIO m) => MethodInfo * ByteReaderGetUint32LeMethodInfo ByteReader signature Source # | |
byteReaderGetUint32Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word32) |
Read an unsigned 32 bit little endian integer into val
and update the current position.
getUint64Be
data ByteReaderGetUint64BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word64)), MonadIO m) => MethodInfo * ByteReaderGetUint64BeMethodInfo ByteReader signature Source # | |
byteReaderGetUint64Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word64) |
Read an unsigned 64 bit big endian integer into val
and update the current position.
getUint64Le
data ByteReaderGetUint64LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word64)), MonadIO m) => MethodInfo * ByteReaderGetUint64LeMethodInfo ByteReader signature Source # | |
byteReaderGetUint64Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word64) |
Read an unsigned 64 bit little endian integer into val
and update the current position.
getUint8
data ByteReaderGetUint8MethodInfo Source #
Instances
((~) * signature (m (Bool, Word8)), MonadIO m) => MethodInfo * ByteReaderGetUint8MethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word8) |
Read an unsigned 8 bit integer into val
and update the current position.
init
data ByteReaderInitMethodInfo Source #
Instances
((~) * signature (ByteString -> m ()), MonadIO m) => MethodInfo * ByteReaderInitMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> ByteString |
|
-> m () |
Initializes a ByteReader
instance to read from data
. This function
can be called on already initialized instances.
maskedScanUint32
data ByteReaderMaskedScanUint32MethodInfo Source #
Instances
((~) * signature (Word32 -> Word32 -> Word32 -> Word32 -> m Word32), MonadIO m) => MethodInfo * ByteReaderMaskedScanUint32MethodInfo ByteReader signature Source # | |
byteReaderMaskedScanUint32 Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> Word32 |
|
-> Word32 |
|
-> Word32 |
|
-> Word32 |
|
-> m Word32 | Returns: offset of the first match, or -1 if no match was found. Example: <programlisting> // Assume the reader contains 0x00 0x01 0x02 ... 0xfe 0xff gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 0, 256); // -> returns 0 gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 1, 255); // -> returns -1 gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x01020304, 1, 255); // -> returns 1 gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0001, 0, 256); // -> returns -1 gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0203, 0, 256); // -> returns 0 gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 256); // -> returns 2 gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4); // -> returns -1 </programlisting> |
Scan for pattern pattern
with applied mask mask
in the byte reader data,
starting from offset offset
relative to the current position.
The bytes in pattern
and mask
are interpreted left-to-right, regardless
of endianness. All four bytes of the pattern must be present in the
byte reader data for it to match, even if the first or last bytes are masked
out.
It is an error to call this function without making sure that there is enough data (offset+size bytes) in the byte reader.
maskedScanUint32Peek
data ByteReaderMaskedScanUint32PeekMethodInfo Source #
Instances
((~) * signature (Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> m Word32), MonadIO m) => MethodInfo * ByteReaderMaskedScanUint32PeekMethodInfo ByteReader signature Source # | |
byteReaderMaskedScanUint32Peek Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> Word32 |
|
-> Word32 |
|
-> Word32 |
|
-> Word32 |
|
-> Word32 |
|
-> m Word32 | Returns: offset of the first match, or -1 if no match was found. |
Scan for pattern pattern
with applied mask mask
in the byte reader data,
starting from offset offset
relative to the current position.
The bytes in pattern
and mask
are interpreted left-to-right, regardless
of endianness. All four bytes of the pattern must be present in the
byte reader data for it to match, even if the first or last bytes are masked
out.
It is an error to call this function without making sure that there is enough data (offset+size bytes) in the byte reader.
Since: 1.6
peekData
data ByteReaderPeekDataMethodInfo Source #
Instances
((~) * signature (m (Bool, ByteString)), MonadIO m) => MethodInfo * ByteReaderPeekDataMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, ByteString) |
Returns a constant pointer to the current data
position if at least size
bytes are left and
keeps the current position.
peekFloat32Be
data ByteReaderPeekFloat32BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Float)), MonadIO m) => MethodInfo * ByteReaderPeekFloat32BeMethodInfo ByteReader signature Source # | |
byteReaderPeekFloat32Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Float) |
Read a 32 bit big endian floating point value into val
but keep the current position.
peekFloat32Le
data ByteReaderPeekFloat32LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Float)), MonadIO m) => MethodInfo * ByteReaderPeekFloat32LeMethodInfo ByteReader signature Source # | |
byteReaderPeekFloat32Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Float) |
Read a 32 bit little endian floating point value into val
but keep the current position.
peekFloat64Be
data ByteReaderPeekFloat64BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Double)), MonadIO m) => MethodInfo * ByteReaderPeekFloat64BeMethodInfo ByteReader signature Source # | |
byteReaderPeekFloat64Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Double) |
Read a 64 bit big endian floating point value into val
but keep the current position.
peekFloat64Le
data ByteReaderPeekFloat64LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Double)), MonadIO m) => MethodInfo * ByteReaderPeekFloat64LeMethodInfo ByteReader signature Source # | |
byteReaderPeekFloat64Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Double) |
Read a 64 bit little endian floating point value into val
but keep the current position.
peekInt16Be
data ByteReaderPeekInt16BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int16)), MonadIO m) => MethodInfo * ByteReaderPeekInt16BeMethodInfo ByteReader signature Source # | |
byteReaderPeekInt16Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int16) |
Read a signed 16 bit big endian integer into val
but keep the current position.
peekInt16Le
data ByteReaderPeekInt16LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int16)), MonadIO m) => MethodInfo * ByteReaderPeekInt16LeMethodInfo ByteReader signature Source # | |
byteReaderPeekInt16Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int16) |
Read a signed 16 bit little endian integer into val
but keep the current position.
peekInt24Be
data ByteReaderPeekInt24BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int32)), MonadIO m) => MethodInfo * ByteReaderPeekInt24BeMethodInfo ByteReader signature Source # | |
byteReaderPeekInt24Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int32) |
Read a signed 24 bit big endian integer into val
but keep the current position.
peekInt24Le
data ByteReaderPeekInt24LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int32)), MonadIO m) => MethodInfo * ByteReaderPeekInt24LeMethodInfo ByteReader signature Source # | |
byteReaderPeekInt24Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int32) |
Read a signed 24 bit little endian integer into val
but keep the current position.
peekInt32Be
data ByteReaderPeekInt32BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int32)), MonadIO m) => MethodInfo * ByteReaderPeekInt32BeMethodInfo ByteReader signature Source # | |
byteReaderPeekInt32Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int32) |
Read a signed 32 bit big endian integer into val
but keep the current position.
peekInt32Le
data ByteReaderPeekInt32LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int32)), MonadIO m) => MethodInfo * ByteReaderPeekInt32LeMethodInfo ByteReader signature Source # | |
byteReaderPeekInt32Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int32) |
Read a signed 32 bit little endian integer into val
but keep the current position.
peekInt64Be
data ByteReaderPeekInt64BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int64)), MonadIO m) => MethodInfo * ByteReaderPeekInt64BeMethodInfo ByteReader signature Source # | |
byteReaderPeekInt64Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int64) |
Read a signed 64 bit big endian integer into val
but keep the current position.
peekInt64Le
data ByteReaderPeekInt64LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Int64)), MonadIO m) => MethodInfo * ByteReaderPeekInt64LeMethodInfo ByteReader signature Source # | |
byteReaderPeekInt64Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int64) |
Read a signed 64 bit little endian integer into val
but keep the current position.
peekInt8
data ByteReaderPeekInt8MethodInfo Source #
Instances
((~) * signature (m (Bool, Int8)), MonadIO m) => MethodInfo * ByteReaderPeekInt8MethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Int8) |
Read a signed 8 bit integer into val
but keep the current position.
peekStringUtf8
data ByteReaderPeekStringUtf8MethodInfo Source #
Instances
((~) * signature (m (Bool, [Text])), MonadIO m) => MethodInfo * ByteReaderPeekStringUtf8MethodInfo ByteReader signature Source # | |
byteReaderPeekStringUtf8 Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, [Text]) | Returns: |
Returns a constant pointer to the current data position if there is a NUL-terminated string in the data (this could be just a NUL terminator). The current position will be maintained. This will work for any NUL-terminated string with a character width of 8 bits, so ASCII, UTF-8, ISO-8859-N etc.
No input checking for valid UTF-8 is done.
This function will fail if no NUL-terminator was found in in the data.
peekUint16Be
data ByteReaderPeekUint16BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word16)), MonadIO m) => MethodInfo * ByteReaderPeekUint16BeMethodInfo ByteReader signature Source # | |
byteReaderPeekUint16Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word16) |
Read an unsigned 16 bit big endian integer into val
but keep the current position.
peekUint16Le
data ByteReaderPeekUint16LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word16)), MonadIO m) => MethodInfo * ByteReaderPeekUint16LeMethodInfo ByteReader signature Source # | |
byteReaderPeekUint16Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word16) |
Read an unsigned 16 bit little endian integer into val
but keep the current position.
peekUint24Be
data ByteReaderPeekUint24BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word32)), MonadIO m) => MethodInfo * ByteReaderPeekUint24BeMethodInfo ByteReader signature Source # | |
byteReaderPeekUint24Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word32) |
Read an unsigned 24 bit big endian integer into val
but keep the current position.
peekUint24Le
data ByteReaderPeekUint24LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word32)), MonadIO m) => MethodInfo * ByteReaderPeekUint24LeMethodInfo ByteReader signature Source # | |
byteReaderPeekUint24Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word32) |
Read an unsigned 24 bit little endian integer into val
but keep the current position.
peekUint32Be
data ByteReaderPeekUint32BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word32)), MonadIO m) => MethodInfo * ByteReaderPeekUint32BeMethodInfo ByteReader signature Source # | |
byteReaderPeekUint32Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word32) |
Read an unsigned 32 bit big endian integer into val
but keep the current position.
peekUint32Le
data ByteReaderPeekUint32LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word32)), MonadIO m) => MethodInfo * ByteReaderPeekUint32LeMethodInfo ByteReader signature Source # | |
byteReaderPeekUint32Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word32) |
Read an unsigned 32 bit little endian integer into val
but keep the current position.
peekUint64Be
data ByteReaderPeekUint64BeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word64)), MonadIO m) => MethodInfo * ByteReaderPeekUint64BeMethodInfo ByteReader signature Source # | |
byteReaderPeekUint64Be Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word64) |
Read an unsigned 64 bit big endian integer into val
but keep the current position.
peekUint64Le
data ByteReaderPeekUint64LeMethodInfo Source #
Instances
((~) * signature (m (Bool, Word64)), MonadIO m) => MethodInfo * ByteReaderPeekUint64LeMethodInfo ByteReader signature Source # | |
byteReaderPeekUint64Le Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word64) |
Read an unsigned 64 bit little endian integer into val
but keep the current position.
peekUint8
data ByteReaderPeekUint8MethodInfo Source #
Instances
((~) * signature (m (Bool, Word8)), MonadIO m) => MethodInfo * ByteReaderPeekUint8MethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m (Bool, Word8) |
Read an unsigned 8 bit integer into val
but keep the current position.
setPos
data ByteReaderSetPosMethodInfo Source #
Instances
((~) * signature (Word32 -> m Bool), MonadIO m) => MethodInfo * ByteReaderSetPosMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> Word32 |
|
-> m Bool | Returns: |
Sets the new position of a ByteReader
instance to pos
in bytes.
skip
data ByteReaderSkipMethodInfo Source #
Instances
((~) * signature (Word32 -> m Bool), MonadIO m) => MethodInfo * ByteReaderSkipMethodInfo ByteReader signature Source # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> Word32 |
|
-> m Bool | Returns: |
Skips nbytes
bytes of the ByteReader
instance.
skipStringUtf16
data ByteReaderSkipStringUtf16MethodInfo Source #
Instances
((~) * signature (m Bool), MonadIO m) => MethodInfo * ByteReaderSkipStringUtf16MethodInfo ByteReader signature Source # | |
byteReaderSkipStringUtf16 Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m Bool | Returns: |
Skips a NUL-terminated UTF-16 string in the ByteReader
instance,
advancing the current position to the byte after the string.
No input checking for valid UTF-16 is done.
This function will fail if no NUL-terminator was found in in the data.
skipStringUtf32
data ByteReaderSkipStringUtf32MethodInfo Source #
Instances
((~) * signature (m Bool), MonadIO m) => MethodInfo * ByteReaderSkipStringUtf32MethodInfo ByteReader signature Source # | |
byteReaderSkipStringUtf32 Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m Bool | Returns: |
Skips a NUL-terminated UTF-32 string in the ByteReader
instance,
advancing the current position to the byte after the string.
No input checking for valid UTF-32 is done.
This function will fail if no NUL-terminator was found in in the data.
skipStringUtf8
data ByteReaderSkipStringUtf8MethodInfo Source #
Instances
((~) * signature (m Bool), MonadIO m) => MethodInfo * ByteReaderSkipStringUtf8MethodInfo ByteReader signature Source # | |
byteReaderSkipStringUtf8 Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteReader |
|
-> m Bool | Returns: |
Skips a NUL-terminated string in the ByteReader
instance, advancing
the current position to the byte after the string. This will work for
any NUL-terminated string with a character width of 8 bits, so ASCII,
UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
This function will fail if no NUL-terminator was found in in the data.
Properties
byte
byteReader_byte :: AttrLabelProxy "byte" Source #
getByteReaderByte :: MonadIO m => ByteReader -> m Word32 Source #
setByteReaderByte :: MonadIO m => ByteReader -> Word32 -> m () Source #
size
byteReader_size :: AttrLabelProxy "size" Source #
getByteReaderSize :: MonadIO m => ByteReader -> m Word32 Source #
setByteReaderSize :: MonadIO m => ByteReader -> Word32 -> m () Source #