|
KEEL 1.0.0
Minimal C11 HTTP client/server library built on epoll/kqueue/io_uring/poll
|
Shared WebSocket protocol constants and frame parser. More...


Go to the source code of this file.
Data Structures | |
| struct | KlWsFrameParser |
Macros | |
| #define | KL_WS_NORMAL_CLOSE 1000 |
| #define | KL_WS_GOING_AWAY 1001 |
| #define | KL_WS_PROTOCOL_ERROR 1002 |
| #define | KL_WS_TOO_BIG 1009 |
| #define | KL_WS_OP_CONTINUATION 0x0 |
| #define | KL_WS_OP_TEXT 0x1 |
| #define | KL_WS_OP_BINARY 0x2 |
| #define | KL_WS_OP_CLOSE 0x8 |
| #define | KL_WS_OP_PING 0x9 |
| #define | KL_WS_OP_PONG 0xA |
| #define | KL_WS_FIN_BIT 0x80 |
| #define | KL_WS_MASK_BIT 0x80 |
| #define | KL_WS_OPCODE_MASK 0x0F |
| #define | KL_WS_MASK_KEY_LEN 4 |
| #define | KL_WS_FRAME_HEADER_MAX 14 |
| #define | KL_WS_MAGIC_GUID "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" |
| RFC 6455 magic GUID for WebSocket handshake. | |
Enumerations | |
| enum | KlWsFrameParseState { KL_WS_FRAME_HEADER , KL_WS_FRAME_PAYLOAD , KL_WS_FRAME_COMPLETE } |
Functions | |
| void | kl_ws_frame_init (KlWsFrameParser *fp) |
| Initialize/reset frame parser state. | |
| int | kl_ws_frame_parse (KlWsFrameParser *fp, const uint8_t *data, size_t len, size_t *consumed) |
| Parse a WebSocket frame from raw data. | |
Shared WebSocket protocol constants and frame parser.
Contains frame parser, opcodes, and status codes shared by both server (websocket_server.h) and client (websocket_client.h).
| #define KL_WS_NORMAL_CLOSE 1000 |
Normal closure (1000)
| #define KL_WS_GOING_AWAY 1001 |
Going away (1001)
| #define KL_WS_PROTOCOL_ERROR 1002 |
Protocol error (1002)
| #define KL_WS_TOO_BIG 1009 |
Message too big (1009)
| #define KL_WS_OP_CONTINUATION 0x0 |
Continuation frame
| #define KL_WS_OP_TEXT 0x1 |
Text frame
| #define KL_WS_OP_BINARY 0x2 |
Binary frame
| #define KL_WS_OP_CLOSE 0x8 |
Close frame
| #define KL_WS_OP_PING 0x9 |
Ping frame
| #define KL_WS_OP_PONG 0xA |
Pong frame
| #define KL_WS_FIN_BIT 0x80 |
FIN bit mask
| #define KL_WS_MASK_BIT 0x80 |
MASK bit mask
| #define KL_WS_OPCODE_MASK 0x0F |
Opcode mask
| #define KL_WS_MASK_KEY_LEN 4 |
Masking key length
| #define KL_WS_FRAME_HEADER_MAX 14 |
2 + 8(ext len) + 4(mask key)
| #define KL_WS_MAGIC_GUID "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" |
RFC 6455 magic GUID for WebSocket handshake.
| enum KlWsFrameParseState |
| void kl_ws_frame_init | ( | KlWsFrameParser * | fp | ) |
Initialize/reset frame parser state.
| int kl_ws_frame_parse | ( | KlWsFrameParser * | fp, |
| const uint8_t * | data, | ||
| size_t | len, | ||
| size_t * | consumed | ||
| ) |
Parse a WebSocket frame from raw data.