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 |
Frame (context) data passed to each frame parsing virtual methods. In addition to providing the data to be checked for a valid frame or an already identified frame, it conveys additional metadata or control information from and to the subclass w.r.t. the particular frame in question (rather than global parameters). Some of these may apply to each parsing stage, others only to some a particular one. These parameters are effectively zeroed at start of each frame's processing, i.e. parsing virtual method invocation sequence.
- newtype BaseParseFrame = BaseParseFrame (ManagedPtr BaseParseFrame)
- newZeroBaseParseFrame :: MonadIO m => m BaseParseFrame
- noBaseParseFrame :: Maybe BaseParseFrame
- data BaseParseFrameFreeMethodInfo
- baseParseFrameFree :: (HasCallStack, MonadIO m) => BaseParseFrame -> m ()
- data BaseParseFrameInitMethodInfo
- baseParseFrameInit :: (HasCallStack, MonadIO m) => BaseParseFrame -> m ()
- baseParseFrameNew :: (HasCallStack, MonadIO m) => Buffer -> [BaseParseFrameFlags] -> Int32 -> m BaseParseFrame
- baseParseFrame_buffer :: AttrLabelProxy "buffer"
- clearBaseParseFrameBuffer :: MonadIO m => BaseParseFrame -> m ()
- getBaseParseFrameBuffer :: MonadIO m => BaseParseFrame -> m (Maybe Buffer)
- setBaseParseFrameBuffer :: MonadIO m => BaseParseFrame -> Ptr Buffer -> m ()
- baseParseFrame_flags :: AttrLabelProxy "flags"
- getBaseParseFrameFlags :: MonadIO m => BaseParseFrame -> m Word32
- setBaseParseFrameFlags :: MonadIO m => BaseParseFrame -> Word32 -> m ()
- baseParseFrame_offset :: AttrLabelProxy "offset"
- getBaseParseFrameOffset :: MonadIO m => BaseParseFrame -> m Word64
- setBaseParseFrameOffset :: MonadIO m => BaseParseFrame -> Word64 -> m ()
- baseParseFrame_outBuffer :: AttrLabelProxy "outBuffer"
- clearBaseParseFrameOutBuffer :: MonadIO m => BaseParseFrame -> m ()
- getBaseParseFrameOutBuffer :: MonadIO m => BaseParseFrame -> m (Maybe Buffer)
- setBaseParseFrameOutBuffer :: MonadIO m => BaseParseFrame -> Ptr Buffer -> m ()
- baseParseFrame_overhead :: AttrLabelProxy "overhead"
- getBaseParseFrameOverhead :: MonadIO m => BaseParseFrame -> m Int32
- setBaseParseFrameOverhead :: MonadIO m => BaseParseFrame -> Int32 -> m ()
Exported types
newtype BaseParseFrame Source #
BoxedObject BaseParseFrame Source # | |
(~) AttrOpTag tag AttrSet => Constructible BaseParseFrame tag Source # | |
((~) * info (ResolveBaseParseFrameMethod t BaseParseFrame), MethodInfo * info BaseParseFrame p) => IsLabel t (BaseParseFrame -> p) Source # | |
((~) * info (ResolveBaseParseFrameMethod t BaseParseFrame), MethodInfo * info BaseParseFrame p) => IsLabelProxy t (BaseParseFrame -> p) Source # | |
HasAttributeList * BaseParseFrame Source # | |
((~) * signature (m ()), MonadIO m) => MethodInfo * BaseParseFrameInitMethodInfo BaseParseFrame signature Source # | |
((~) * signature (m ()), MonadIO m) => MethodInfo * BaseParseFrameFreeMethodInfo BaseParseFrame signature Source # | |
type AttributeList BaseParseFrame Source # | |
newZeroBaseParseFrame :: MonadIO m => m BaseParseFrame Source #
Construct a BaseParseFrame
struct initialized to zero.
Methods
free
data BaseParseFrameFreeMethodInfo Source #
((~) * signature (m ()), MonadIO m) => MethodInfo * BaseParseFrameFreeMethodInfo BaseParseFrame signature Source # | |
baseParseFrameFree :: (HasCallStack, MonadIO m) => BaseParseFrame -> m () Source #
No description available in the introspection data.
init
data BaseParseFrameInitMethodInfo Source #
((~) * signature (m ()), MonadIO m) => MethodInfo * BaseParseFrameInitMethodInfo BaseParseFrame signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> BaseParseFrame |
|
-> m () |
Sets a BaseParseFrame
to initial state. Currently this means
all public fields are zero-ed and a private flag is set to make
sure baseParseFrameFree
only frees the contents but not
the actual frame. Use this function to initialise a BaseParseFrame
allocated on the stack.
new
:: (HasCallStack, MonadIO m) | |
=> Buffer |
|
-> [BaseParseFrameFlags] |
|
-> Int32 |
|
-> m BaseParseFrame | Returns: a newly-allocated |
Allocates a new BaseParseFrame
. This function is mainly for bindings,
elements written in C should usually allocate the frame on the stack and
then use baseParseFrameInit
to initialise it.
Properties
buffer
baseParseFrame_buffer :: AttrLabelProxy "buffer" Source #
clearBaseParseFrameBuffer :: MonadIO m => BaseParseFrame -> m () Source #
getBaseParseFrameBuffer :: MonadIO m => BaseParseFrame -> m (Maybe Buffer) Source #
setBaseParseFrameBuffer :: MonadIO m => BaseParseFrame -> Ptr Buffer -> m () Source #
flags
baseParseFrame_flags :: AttrLabelProxy "flags" Source #
getBaseParseFrameFlags :: MonadIO m => BaseParseFrame -> m Word32 Source #
setBaseParseFrameFlags :: MonadIO m => BaseParseFrame -> Word32 -> m () Source #
offset
baseParseFrame_offset :: AttrLabelProxy "offset" Source #
getBaseParseFrameOffset :: MonadIO m => BaseParseFrame -> m Word64 Source #
setBaseParseFrameOffset :: MonadIO m => BaseParseFrame -> Word64 -> m () Source #
outBuffer
baseParseFrame_outBuffer :: AttrLabelProxy "outBuffer" Source #
clearBaseParseFrameOutBuffer :: MonadIO m => BaseParseFrame -> m () Source #
getBaseParseFrameOutBuffer :: MonadIO m => BaseParseFrame -> m (Maybe Buffer) Source #
setBaseParseFrameOutBuffer :: MonadIO m => BaseParseFrame -> Ptr Buffer -> m () Source #
overhead
baseParseFrame_overhead :: AttrLabelProxy "overhead" Source #
getBaseParseFrameOverhead :: MonadIO m => BaseParseFrame -> m Int32 Source #
setBaseParseFrameOverhead :: MonadIO m => BaseParseFrame -> Int32 -> m () Source #