cpiWriteBuffer
This function writes a syntax element tree to the message buffer associated with a parser.
It appends data to the bit stream in the message buffer associated with the parser object, using the current syntax element tree as a source. The element tree cannot be modified during the execution of this implementation function. The cpiAppendToBuffer utility function can be used to append the message buffer (bit stream) with data from the element tree.
If this implementation function is provided in the CPI_VFT structure, you cannot specify either cpiWriteBufferEncoded() or cpiWriteBufferFormatted(); if you do, the cpiDefineParserClass() function fails with a return code of CCI_INVALID_IMPL_FUNCTION.
Defined In | Type | Member |
---|---|---|
CPI_VFT | Conditional | iFpWriteBuffer |
Syntax
int cpiWriteBuffer(
CciParser* parser,
CciContext* context);
Parameters
- parser
- The address of the parser object (input).
- context
- The address of the context owned by the parser object (input).
Return values
The size in bytes of the data appended to the bit stream in the buffer.
Sample
int cpiWriteBuffer(
CciParser* parser,
CciContext* context
){
PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
int initialSize = 0;
int rc = 0;
const void* a;
CciByte b;
initialSize = cpiBufferSize(&rc, parser);
a = cpiBufferPointer(&rc, parser);
b = cpiBufferByte(&rc, parser, 0);
cpiAppendToBuffer(&rc, parser, (char *)"Some test data", 14);
return cpiBufferSize(0, parser) - initialSize;
}