31 #ifndef M2MB_WEBSOCKET_H 32 #define M2MB_WEBSOCKET_H 50 #define WEBSOCKETC_MAX_CLIENTS (4) 52 #define WEBSOCKET_MAX_SUBPROTOCOLS (4) 331 INT8 *p_server,
UINT16 port,
char *pResource_path ) ;
583 UINT32 ping_data_length) ;
704 char *hdr1,
char *hdr2);
M2MB_STATUS_T m2mb_websocketc_ping(M2MB_WEBSOCKETC_CTX_T *pClientCtx, char *pPing_data, UINT32 ping_data_length)
Send a websocket ping.
M2MB_STATUS_T m2mb_websocketc_addhttpheader(M2MB_WEBSOCKETC_CTX_T *pClientCtx, char *hdr1, char *hdr2)
Adds an HTTP header to the websocket created.
UINT32 subprotocol_List_Length
M2MB_STATUS_T m2mb_websocketc_close(M2MB_WEBSOCKETC_CTX_T *pClientCtx)
Closes the websocket connection.
M2MB_WEBSOCKET_CLOSE_STATUS_E
Connection close status.
UINT32 closing_Timeout_Millseconds
M2MB_WEBSOCKET_STATE_E
The state of the websocket.
HANDLE M2MB_SSL_CTXT_HANDLE
SSL context handle. This is obtained from m2mb_ssl_create_ctxt API and then used in subsequent SSL ...
struct M2MB_WEBSOCKET_CLIENT_CONFIG M2MB_WEBSOCKET_CLIENT_CONFIG_T
Client configuration parameters. For use with m2mb_websocketc_new.
UINT32 max_Recv_Chunk_Size
M2MB_WEBSOCKET_EVENT_E
Websocket event type. Provided to M2MB_Event_CB_t callback.
M2MB_STATUS_T m2mb_websocketc_pong(M2MB_WEBSOCKETC_CTX_T *pClientCtx, char *pPong_data, UINT32 pong_data_length)
Send a websocket pong.
M2MB_WEBSOCKET_OPTION_E
Websocket options that can be read using m2mb_websocketc_get_opt API.
M2MB_WEBSOCKET_MODE_E
Client or server.
M2MB_SSL_OBJ_HDL_T ssl_Object_Handle
Websocket event. Received by M2MB_WEBSOCKETC_EVENT_CB_T callback registered with m2mb_websocketc_new ...
M2MB_WEBSOCKET_HDL_T websocket_handle
M2MB_WEBSOCKET_DATA_TYPE_E data_Type
M2MB_STATUS_T m2mb_websocketc_echo(M2MB_WEBSOCKETC_CTX_T *pClientCtx, BOOLEAN echo_mode)
Enables or disables echo mode.
M2MB_STATUS_T m2mb_websocketc_resethttpheaders(M2MB_WEBSOCKETC_CTX_T *pClientCtx)
Clear HTTP header fields.
UINT32 M2MB_WEBSOCKET_HDL_T
Handle to websocket context.
int m2mb_websocketc_send(M2MB_WEBSOCKETC_CTX_T *pClientCtx, char *pMsg, UINT32 msglen, M2MB_WEBSOCKET_DATA_TYPE_E datatype, UINT8 end_of_message)
Sends application data.
M2MB_WEBSOCKET_CLOSE_STATUS_E close_Status_Code
websocket client context used with every websocket API.
M2MB_STATUS_T m2mb_websocketc_get_opt(M2MB_WEBSOCKETC_CTX_T *pClientCtx, M2MB_WEBSOCKET_OPTION_E opt, void *opt_Value, UINT32 *opt_Length)
Get properties of the websocket.
UINT32 handshake_Timeout_Millseconds
struct M2MB_WEBSOCKETC_CTX M2MB_WEBSOCKETC_CTX_T
websocket client context used with every websocket API.
M2MB_WEBSOCKET_DATA_TYPE_E
Type of data sent or received on websocket.
UINT32 M2MB_SSL_OBJ_HDL_T
M2MB_STATUS_T m2mb_websocketc_new(M2MB_WEBSOCKETC_CTX_T *pClientCtx, M2MB_WEBSOCKET_CLIENT_CONFIG_T *pConfig, M2MB_WEBSOCKETC_EVENT_CB_T *pUsercb, M2MB_SSL_CTXT_HANDLE sslhandle)
Create a client websocket context.
Client configuration parameters. For use with m2mb_websocketc_new.
M2MB_STATUS_T m2mb_websocketc_connect(M2MB_WEBSOCKETC_CTX_T *pClientCtx, INT8 *p_server, UINT16 port, char *pResource_path)
Establishes a websocket connection.
void(* M2MB_WEBSOCKETC_EVENT_CB_T)(M2MB_WEBSOCKET_HDL_T handle, void *arg, M2MB_WEBSOCKET_EVENT_E event, M2MB_WEBSOCKET_EVENT_INFO_T *event_Info)
Callback to receive new websocket messages.
struct M2MB_WEBSOCKET_EVENT_INFO M2MB_WEBSOCKET_EVENT_INFO_T
Websocket event. Received by M2MB_WEBSOCKETC_EVENT_CB_T callback registered with m2mb_websocketc_new ...