KEEL
1.0.0
Minimal C11 HTTP client/server library built on epoll/kqueue/io_uring/poll
Loading...
Searching...
No Matches
include
keel
chunked.h
Go to the documentation of this file.
1
#ifndef KEEL_CHUNKED_H
2
#define KEEL_CHUNKED_H
3
4
#include <
keel/body_reader.h
>
5
#include <stddef.h>
6
7
typedef
enum
{
8
KL_CHUNK_SIZE
,
9
KL_CHUNK_EXT
,
10
KL_CHUNK_SIZE_CR
,
11
KL_CHUNK_DATA
,
12
KL_CHUNK_DATA_CR
,
13
KL_CHUNK_TRAILER
,
14
KL_CHUNK_TRAILER_CR
,
15
KL_CHUNK_DONE
,
16
KL_CHUNK_ERROR
17
}
KlChunkedState
;
18
19
typedef
struct
{
20
KlChunkedState
state
;
21
size_t
chunk_remaining
;
22
size_t
total_body
;
23
size_t
size_accum
;
24
int
size_digits
;
25
int
trailer_cr
;
26
}
KlChunkedDecoder
;
27
29
void
kl_chunked_init
(
KlChunkedDecoder
*dec);
30
42
int
kl_chunked_decode
(
KlChunkedDecoder
*dec,
const
char
*data,
size_t
len,
43
KlBodyReader
*reader);
44
45
#endif
body_reader.h
kl_chunked_init
void kl_chunked_init(KlChunkedDecoder *dec)
Initialize/reset decoder state.
KlChunkedState
KlChunkedState
Definition
chunked.h:7
KL_CHUNK_TRAILER_CR
@ KL_CHUNK_TRAILER_CR
Definition
chunked.h:14
KL_CHUNK_SIZE
@ KL_CHUNK_SIZE
Definition
chunked.h:8
KL_CHUNK_TRAILER
@ KL_CHUNK_TRAILER
Definition
chunked.h:13
KL_CHUNK_EXT
@ KL_CHUNK_EXT
Definition
chunked.h:9
KL_CHUNK_DATA_CR
@ KL_CHUNK_DATA_CR
Definition
chunked.h:12
KL_CHUNK_DONE
@ KL_CHUNK_DONE
Definition
chunked.h:15
KL_CHUNK_SIZE_CR
@ KL_CHUNK_SIZE_CR
Definition
chunked.h:10
KL_CHUNK_ERROR
@ KL_CHUNK_ERROR
Definition
chunked.h:16
KL_CHUNK_DATA
@ KL_CHUNK_DATA
Definition
chunked.h:11
kl_chunked_decode
int kl_chunked_decode(KlChunkedDecoder *dec, const char *data, size_t len, KlBodyReader *reader)
Feed raw bytes from socket, de-chunk, and forward to body reader.
KlBodyReader
Definition
body_reader.h:21
KlChunkedDecoder
Definition
chunked.h:19
KlChunkedDecoder::trailer_cr
int trailer_cr
Definition
chunked.h:25
KlChunkedDecoder::size_digits
int size_digits
Definition
chunked.h:24
KlChunkedDecoder::size_accum
size_t size_accum
Definition
chunked.h:23
KlChunkedDecoder::chunk_remaining
size_t chunk_remaining
Definition
chunked.h:21
KlChunkedDecoder::total_body
size_t total_body
Definition
chunked.h:22
KlChunkedDecoder::state
KlChunkedState state
Definition
chunked.h:20
Generated by
1.9.8