mirror of
git://git.psyc.eu/libpsyc
synced 2024-08-15 03:19:02 +00:00
26 lines
955 B
C
26 lines
955 B
C
typedef enum {
|
|
PSYC_FINE = 0,
|
|
PSYC_NEED_LENGTH = 1
|
|
} PSYC_RenderFlag;
|
|
|
|
typedef struct {
|
|
PSYC_RenderFlag flag; ///< flags for the renderer
|
|
size_t cursor; ///< current position in buffer
|
|
size_t start; ///< position where the rendered packet starts
|
|
size_t length; ///< how big is the buffer we allocated
|
|
uint8_t buffer[]; ///< OMG a C99 feature! variable size buffer!
|
|
} PSYC_RenderState;
|
|
|
|
int PSYC_renderHeader(PSYC_RenderState render,
|
|
const uint8_t* name, const size_t nlength,
|
|
const uint8_t* value, const size_t vlength,
|
|
const uint8_t flags, const uint8_t modifier);
|
|
|
|
int PSYC_renderBody(PSYC_RenderState render,
|
|
const uint8_t* method, const size_t mlength,
|
|
const uint8_t* data, const size_t dlength,
|
|
const uint8_t flags);
|
|
|
|
int PSYC_doneRender(PSYC_RenderState render,
|
|
uint8_t** buf, size_t* written);
|
|
|