31#ifndef MHD_MICROHTTPD_WS_H
32#define MHD_MICROHTTPD_WS_H
49struct MHD_WebSocketStream;
558(*MHD_WebSocketMallocCallback) (
size_t buf_len);
576(*MHD_WebSocketReallocCallback) (
void *buf,
size_t new_buf_len);
706 char *sec_websocket_accept);
723 size_t max_payload_size);
758 size_t max_payload_size,
847 const char *streambuf,
848 size_t streambuf_len,
849 size_t *streambuf_read_len,
851 size_t *payload_len);
883 unsigned short *reason_code,
884 const char **reason_utf8,
885 size_t *reason_utf8_len);
924 const char *payload_utf8,
925 size_t payload_utf8_len,
1021 const char *payload,
1063 unsigned short reason_code,
1064 const char *reason_utf8,
1065 size_t reason_utf8_len,
1099 size_t new_buf_len);
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_split_close_reason(const char *payload, size_t payload_len, unsigned short *reason_code, const char **reason_utf8, size_t *reason_utf8_len)
size_t(* MHD_WebSocketRandomNumberGenerator)(void *cls, void *buf, size_t buf_len)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_check_http_version(const char *http_version)
_MHD_EXTERN enum MHD_WEBSOCKET_VALIDITY MHD_websocket_stream_is_valid(struct MHD_WebSocketStream *ws)
MHD_WEBSOCKET_STATUS
Enum of the return value for almost every MHD_websocket function. Errors are negative and values equa...
@ MHD_WEBSOCKET_STATUS_MAXIMUM_SIZE_EXCEEDED
@ MHD_WEBSOCKET_STATUS_TEXT_NEXT_FRAGMENT
@ MHD_WEBSOCKET_STATUS_BINARY_FRAME
@ MHD_WEBSOCKET_STATUS_TEXT_LAST_FRAGMENT
@ MHD_WEBSOCKET_STATUS_STREAM_BROKEN
@ MHD_WEBSOCKET_STATUS_PARAMETER_ERROR
@ MHD_WEBSOCKET_STATUS_CLOSE_FRAME
@ MHD_WEBSOCKET_STATUS_OK
@ MHD_WEBSOCKET_STATUS_PING_FRAME
@ MHD_WEBSOCKET_STATUS_TEXT_FRAME
@ MHD_WEBSOCKET_STATUS_UTF8_ENCODING_ERROR
@ MHD_WEBSOCKET_STATUS_TEXT_FIRST_FRAGMENT
@ MHD_WEBSOCKET_STATUS_BINARY_FIRST_FRAGMENT
@ MHD_WEBSOCKET_STATUS_NO_WEBSOCKET_HANDSHAKE_HEADER
@ MHD_WEBSOCKET_STATUS_BINARY_NEXT_FRAGMENT
@ MHD_WEBSOCKET_STATUS_PONG_FRAME
@ MHD_WEBSOCKET_STATUS_PROTOCOL_ERROR
@ MHD_WEBSOCKET_STATUS_BINARY_LAST_FRAGMENT
@ MHD_WEBSOCKET_STATUS_MEMORY_ERROR
MHD_WEBSOCKET_FLAG
Flags for the initialization of a websocket stream struct MHD_WebSocketStream used by MHD_websocket_s...
@ MHD_WEBSOCKET_FLAG_SERVER
@ MHD_WEBSOCKET_FLAG_WANT_FRAGMENTS
@ MHD_WEBSOCKET_FLAG_NO_FRAGMENTS
@ MHD_WEBSOCKET_FLAG_CLIENT
@ MHD_WEBSOCKET_FLAG_GENERATE_CLOSE_FRAMES_ON_ERROR
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_stream_free(struct MHD_WebSocketStream *ws)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_encode_pong(struct MHD_WebSocketStream *ws, const char *payload, size_t payload_len, char **frame, size_t *frame_len)
MHD_WEBSOCKET_VALIDITY
Enumeration of validity values.
@ MHD_WEBSOCKET_VALIDITY_INVALID
@ MHD_WEBSOCKET_VALIDITY_ONLY_VALID_FOR_CONTROL_FRAMES
@ MHD_WEBSOCKET_VALIDITY_VALID
MHD_WEBSOCKET_UTF8STEP
Enumeration of possible UTF-8 check steps.
@ MHD_WEBSOCKET_UTF8STEP_UTF2TAIL_1OF1
@ MHD_WEBSOCKET_UTF8STEP_NORMAL
@ MHD_WEBSOCKET_UTF8STEP_UTF4TAIL1_1OF3
@ MHD_WEBSOCKET_UTF8STEP_UTF4TAIL_3OF3
@ MHD_WEBSOCKET_UTF8STEP_UTF4TAIL_2OF3
@ MHD_WEBSOCKET_UTF8STEP_UTF3TAIL_1OF2
@ MHD_WEBSOCKET_UTF8STEP_UTF4TAIL_1OF3
@ MHD_WEBSOCKET_UTF8STEP_UTF3TAIL2_1OF2
@ MHD_WEBSOCKET_UTF8STEP_UTF3TAIL_2OF2
@ MHD_WEBSOCKET_UTF8STEP_UTF3TAIL1_1OF2
@ MHD_WEBSOCKET_UTF8STEP_UTF4TAIL2_1OF3
_MHD_EXTERN int MHD_websocket_free(struct MHD_WebSocketStream *ws, void *buf)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_stream_init(struct MHD_WebSocketStream **ws, int flags, size_t max_payload_size)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_encode_ping(struct MHD_WebSocketStream *ws, const char *payload, size_t payload_len, char **frame, size_t *frame_len)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_decode(struct MHD_WebSocketStream *ws, const char *streambuf, size_t streambuf_len, size_t *streambuf_read_len, char **payload, size_t *payload_len)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_encode_close(struct MHD_WebSocketStream *ws, unsigned short reason_code, const char *reason_utf8, size_t reason_utf8_len, char **frame, size_t *frame_len)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_check_connection_header(const char *connection_header)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_stream_init2(struct MHD_WebSocketStream **ws, int flags, size_t max_payload_size, MHD_WebSocketMallocCallback callback_malloc, MHD_WebSocketReallocCallback callback_realloc, MHD_WebSocketFreeCallback callback_free, void *cls_rng, MHD_WebSocketRandomNumberGenerator callback_rng)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_create_accept_header(const char *sec_websocket_key, char *sec_websocket_accept)
_MHD_EXTERN void * MHD_websocket_realloc(struct MHD_WebSocketStream *ws, void *buf, size_t new_buf_len)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_stream_invalidate(struct MHD_WebSocketStream *ws)
_MHD_EXTERN void * MHD_websocket_malloc(struct MHD_WebSocketStream *ws, size_t buf_len)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_encode_binary(struct MHD_WebSocketStream *ws, const char *payload, size_t payload_len, int fragmentation, char **frame, size_t *frame_len)
MHD_WEBSOCKET_CLOSEREASON
Enumeration of possible close reasons for close frames.
@ MHD_WEBSOCKET_CLOSEREASON_MAXIMUM_ALLOWED_PAYLOAD_SIZE_EXCEEDED
@ MHD_WEBSOCKET_CLOSEREASON_GOING_AWAY
@ MHD_WEBSOCKET_CLOSEREASON_MALFORMED_UTF8
@ MHD_WEBSOCKET_CLOSEREASON_MISSING_EXTENSION
@ MHD_WEBSOCKET_CLOSEREASON_UNEXPECTED_CONDITION
@ MHD_WEBSOCKET_CLOSEREASON_UNSUPPORTED_DATATYPE
@ MHD_WEBSOCKET_CLOSEREASON_REGULAR
@ MHD_WEBSOCKET_CLOSEREASON_POLICY_VIOLATED
@ MHD_WEBSOCKET_CLOSEREASON_PROTOCOL_ERROR
@ MHD_WEBSOCKET_CLOSEREASON_NO_REASON
MHD_WEBSOCKET_FRAGMENTATION
Enum to specify the fragmenting behavior while encoding with MHD_websocket_encode_text() or MHD_webso...
@ MHD_WEBSOCKET_FRAGMENTATION_FIRST
@ MHD_WEBSOCKET_FRAGMENTATION_LAST
@ MHD_WEBSOCKET_FRAGMENTATION_FOLLOWING
@ MHD_WEBSOCKET_FRAGMENTATION_NONE
void *(* MHD_WebSocketReallocCallback)(void *buf, size_t new_buf_len)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_encode_text(struct MHD_WebSocketStream *ws, const char *payload_utf8, size_t payload_utf8_len, int fragmentation, char **frame, size_t *frame_len, int *utf8_step)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_check_version_header(const char *version_header)
void *(* MHD_WebSocketMallocCallback)(size_t buf_len)
void(* MHD_WebSocketFreeCallback)(void *buf)
_MHD_EXTERN enum MHD_WEBSOCKET_STATUS MHD_websocket_check_upgrade_header(const char *upgrade_header)