+** If *data == NULL stream stops.
+*/
typedef size_t (*lj_wbuf_writer)(const void **data, size_t len, void *opt);
/* Write buffer. */
struct lj_wbuf {
- /*
- ** Buffer writer which will called at buffer write.
- ** Should return amount of written bytes on success or zero in case of error.
- ** *data should contain new buffer of size greater or equal to len.
- ** If *data == NULL stream stops.
- */
lj_wbuf_writer writer;
/* Context for writer function. */
void *ctx;
/* Buffer size. */
size_t size;
- /* Saved errno in case of error. */
- int saved_errno;
/* Start of buffer. */
uint8_t *buf;
/* Current position in buffer. */
uint8_t *pos;
+ /* Saved errno in case of error. */
+ int saved_errno;
/* Internal flags. */
volatile uint8_t flags;
};
-/* Init buffer. */
+/* Initialize the buffer. */
void lj_wbuf_init(struct lj_wbuf *buf, lj_wbuf_writer writer, void *ctx,
uint8_t *mem, size_t size);
===================================================================
--
Best regards,
Sergey Kaplun