Datatypes#
-
struct websockets#
Opaque handler for WebSockets.
See also
-
struct ws_attr#
WebSockets handle initialization attributes.
-
struct ws_info#
Stores info on the latest transfer performed via websockets.
-
struct ws_callbacks#
WebSockets callbacks.
Public Members
-
void (*on_connect)(void *data, struct websockets *ws, struct ws_info *info, const char *protocols)#
Called upon connection.
Note
It is not validated if matches the proposed protocols.
-
void (*on_text)(void *data, struct websockets *ws, struct ws_info *info, const char *text, size_t len)#
Reports UTF-8 text messages.
Note
it’s guaranteed to be NULL (\0) terminated, but the UTF-8 is not validated. If it’s invalid, consider closing the connection with WS_CLOSE_REASON_INCONSISTENT_DATA.
-
void (*on_binary)(void *data, struct websockets *ws, struct ws_info *info, const void *mem, size_t len)#
reports binary data.
-
void (*on_ping)(void *data, struct websockets *ws, struct ws_info *info, const char *reason, size_t len)#
reports PING.
Note
if provided you should reply with ws_pong(). If not provided, pong is sent with the same message payload.
-
void (*on_pong)(void *data, struct websockets *ws, struct ws_info *info, const char *reason, size_t len)#
reports PONG.
-
void (*on_close)(void *data, struct websockets *ws, struct ws_info *info, enum ws_close_reason wscode, const char *reason, size_t len)#
reports server closed the connection with the given reason.
Clients should not transmit any more data after the server is closed
-
void *data#
user arbitrary data to be passed around callbacks
-
void (*on_connect)(void *data, struct websockets *ws, struct ws_info *info, const char *protocols)#
-
enum ws_status#
The WebSockets client status.
See also
Values:
-
enumerator WS_DISCONNECTED = 0#
client disconnected from ws
-
enumerator WS_CONNECTED#
client connected to ws
-
enumerator WS_DISCONNECTING#
client in the process of disconnecting to ws
-
enumerator WS_CONNECTING#
client in the process of connecting from ws
-
enumerator WS_DISCONNECTED = 0#
-
enum ws_close_reason#
WebSockets CLOSE opcodes.
See also
Values:
-
enumerator WS_CLOSE_REASON_NORMAL = 1000#
-
enumerator WS_CLOSE_REASON_GOING_AWAY = 1001#
-
enumerator WS_CLOSE_REASON_PROTOCOL_ERROR = 1002#
-
enumerator WS_CLOSE_REASON_UNEXPECTED_DATA = 1003#
-
enumerator WS_CLOSE_REASON_NO_REASON = 1005#
-
enumerator WS_CLOSE_REASON_ABRUPTLY = 1006#
-
enumerator WS_CLOSE_REASON_INCONSISTENT_DATA = 1007#
-
enumerator WS_CLOSE_REASON_POLICY_VIOLATION = 1008#
-
enumerator WS_CLOSE_REASON_TOO_BIG = 1009#
-
enumerator WS_CLOSE_REASON_MISSING_EXTENSION = 1010#
-
enumerator WS_CLOSE_REASON_SERVER_ERROR = 1011#
-
enumerator WS_CLOSE_REASON_IANA_REGISTRY_START = 3000#
-
enumerator WS_CLOSE_REASON_IANA_REGISTRY_END = 3999#
-
enumerator WS_CLOSE_REASON_PRIVATE_START = 4000#
-
enumerator WS_CLOSE_REASON_PRIVATE_END = 4999#
-
enumerator WS_CLOSE_REASON_NORMAL = 1000#