9#ifndef KEEL_WEBSOCKET_H
10#define KEEL_WEBSOCKET_H
18#define KL_WS_NORMAL_CLOSE 1000
19#define KL_WS_GOING_AWAY 1001
20#define KL_WS_PROTOCOL_ERROR 1002
21#define KL_WS_TOO_BIG 1009
25#define KL_WS_OP_CONTINUATION 0x0
26#define KL_WS_OP_TEXT 0x1
27#define KL_WS_OP_BINARY 0x2
28#define KL_WS_OP_CLOSE 0x8
29#define KL_WS_OP_PING 0x9
30#define KL_WS_OP_PONG 0xA
34#define KL_WS_FIN_BIT 0x80
35#define KL_WS_MASK_BIT 0x80
36#define KL_WS_OPCODE_MASK 0x0F
37#define KL_WS_MASK_KEY_LEN 4
38#define KL_WS_FRAME_HEADER_MAX 14
53 int fin, opcode, masked;
66 size_t len,
size_t *consumed);
71#define KL_WS_MAGIC_GUID "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
Definition websocket.h:48
size_t header_need
Definition websocket.h:52
KlWsFrameParseState state
Definition websocket.h:49
size_t header_len
Definition websocket.h:51
size_t payload_len
Definition websocket.h:55
int fin
Definition websocket.h:53
size_t payload_read
Definition websocket.h:56
#define KL_WS_FRAME_HEADER_MAX
Definition websocket.h:38
int kl_ws_frame_parse(KlWsFrameParser *fp, const uint8_t *data, size_t len, size_t *consumed)
Parse a WebSocket frame from raw data.
KlWsFrameParseState
Definition websocket.h:42
@ KL_WS_FRAME_HEADER
Definition websocket.h:43
@ KL_WS_FRAME_PAYLOAD
Definition websocket.h:44
@ KL_WS_FRAME_COMPLETE
Definition websocket.h:45
#define KL_WS_MASK_KEY_LEN
Definition websocket.h:37
void kl_ws_frame_init(KlWsFrameParser *fp)
Initialize/reset frame parser state.