|
struct | M2MB_WEBSOCKET_CTX |
| websocket client context used with every websocket API. More...
|
|
struct | M2MB_WEBSOCKET_EVENT_INFO |
| Websocket event. Received by M2MB_WEBSOCKETC_EVENT_CB_T callback registered with m2mb_websocketc_new API. More...
|
|
struct | M2MB_WEBSOCKET_OPEN_PARAMS |
| Client configuration parameters. For use with m2mb_websocketc_new. More...
|
|
union | M2MB_WEBSOCKET_CONF_PARAMS |
| Client configuration parameters. For use with m2mb_websocket_cfg. More...
|
|
#define | WEBSOCKETC_MAX_CLIENTS (4) |
|
#define | WEBSOCKET_MAX_SUBPROTOCOLS (4) |
|
enum | M2MB_WEBSOCKET_STATE_E {
M2MB_WEBSOCKET_STATE_INITIAL_E = 0,
M2MB_WEBSOCKET_STATE_CONNECTING_E = 1,
M2MB_WEBSOCKET_STATE_OPEN_E = 2,
M2MB_WEBSOCKET_STATE_CLOSING_E = 3,
M2MB_WEBSOCKET_STATE_CLOSED_E = 4
} |
| The state of the websocket. More...
|
|
enum | M2MB_WEBSOCKET_OPTION_E {
M2MB_WEBSOCKET_OPTION_STATE = 1,
M2MB_WEBSOCKET_OPTION_ERRNO = 2,
M2MB_WEBSOCKET_OPTION_SOCKET_ERRNO = 3,
M2MB_WEBSOCKET_OPTION_SSL_ERRNO = 4,
M2MB_WEBSOCKET_OPTION_NUM_RX_BYTES = 5,
M2MB_WEBSOCKET_OPTION_NUM_TX_BYTES = 6,
M2MB_WEBSOCKET_OPTION_NUM_RX_PINGS = 7,
M2MB_WEBSOCKET_OPTION_NUM_TX_PINGS = 8,
M2MB_WEBSOCKET_OPTION_NUM_RX_PONGS = 9,
M2MB_WEBSOCKET_OPTION_NUM_TX_PONGS = 10
} |
| Websocket options that can be read using m2mb_websocketc_get_opt API. More...
|
|
enum | M2MB_WEBSOCKET_DATA_TYPE_E {
M2MB_WEBSOCKET_DATA_TYPE_TEXT_E = 1,
M2MB_WEBSOCKET_DATA_TYPE_BINARY_E = 2
} |
| Type of data sent or received on websocket. More...
|
|
enum | M2MB_WEBSOCKET_EVENT_E {
M2MB_WEBSOCKET_EVENT_CONNECT_E = 1,
M2MB_WEBSOCKET_EVENT_MESSAGE_E = 2,
M2MB_WEBSOCKET_EVENT_PONG_E = 3,
M2MB_WEBSOCKET_EVENT_CLOSE_E = 4
} |
| Websocket event type. Provided to M2MB_Event_CB_t callback. More...
|
|
enum | M2MB_WEBSOCKET_CLOSE_STATUS_E {
M2MB_WEBSOCKET_CLOSE_STATUS_NORMAL = 1000,
M2MB_WEBSOCKET_CLOSE_STATUS_GOING_AWAY = 1001,
M2MB_WEBSOCKET_CLOSE_STATUS_PROTOCOL_ERROR = 1002,
M2MB_WEBSOCKET_CLOSE_STATUS_UNSUPPORTED_MESSAGE_TYPE = 1003,
M2MB_WEBSOCKET_CLOSE_STATUS_NO_STATUS_RECEIVED = 1005,
M2MB_WEBSOCKET_CLOSE_STATUS_ABNORMAL_CLOSURE = 1006,
M2MB_WEBSOCKET_CLOSE_STATUS_DATA_DOES_NOT_MATCH_MESSAGE_TYPE = 1007,
M2MB_WEBSOCKET_CLOSE_STATUS_POLICY_VIOLATION = 1008,
M2MB_WEBSOCKET_CLOSE_STATUS_MESSAGE_TOO_BIG = 1009,
M2MB_WEBSOCKET_CLOSE_STATUS_EXPECTED_EXTENSION = 1010,
M2MB_WEBSOCKET_CLOSE_STATUS_UNEXPECTED_CONDITION = 1011
} |
| Connection close status. More...
|
|
enum | M2MB_WEBSOCKET_CONF_ID_E {
M2MB_WEBSOCKET_CONF_ECHOMODE,
M2MB_WEBSOCKET_CONF_HTTPHEADERS_ADD,
M2MB_WEBSOCKET_CONF_HTTPHEADERS_CLEAR
} |
| Client configuration parameters. For use with m2mb_websocketc_new. More...
|
|
typedef UINT32 | M2MB_WEBSOCKET_HANDLE_T |
| Handle to websocket context. More...
|
|
typedef struct M2MB_WEBSOCKET_CTX | M2MB_WEBSOCKET_CTX_T |
| websocket client context used with every websocket API. More...
|
|
typedef 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 API. More...
|
|
typedef void(* | M2MB_WEBSOCKETC_EVENT_CB_T) (M2MB_WEBSOCKET_HANDLE_T handle, void *arg, M2MB_WEBSOCKET_EVENT_E event, M2MB_WEBSOCKET_EVENT_INFO_T *event_Info) |
| Callback to receive new websocket messages. More...
|
|
typedef UINT32 | M2MB_SSL_OBJ_HDL_T |
|
typedef struct M2MB_WEBSOCKET_OPEN_PARAMS | M2MB_WEBSOCKET_OPEN_PARAMS_T |
| Client configuration parameters. For use with m2mb_websocketc_new. More...
|
|
typedef union M2MB_WEBSOCKET_CONF_PARAMS | M2MB_WEBSOCKET_CFG_PARAMS_T |
| Client configuration parameters. For use with m2mb_websocket_cfg. More...
|
|
M2MB_STATUS_T | m2mb_websocket_open (M2MB_WEBSOCKET_CTX_T **pCtx, M2MB_WEBSOCKET_OPEN_PARAMS_T *pParams) |
| Create a client websocket context. More...
|
|
M2MB_STATUS_T | m2mb_websocket_close (M2MB_WEBSOCKET_CTX_T *pCtx) |
| Closes the websocket connection. More...
|
|
M2MB_STATUS_T | m2mb_websocket_connect (M2MB_WEBSOCKET_CTX_T *pCtx, INT8 *p_server, UINT16 port, char *pResource_path) |
| Establishes a websocket connection. More...
|
|
M2MB_STATUS_T | m2mb_websocket_cfg (M2MB_WEBSOCKET_CTX_T *pCtx, M2MB_WEBSOCKET_CONF_ID_E confid, M2MB_WEBSOCKET_CFG_PARAMS_T *cfg) |
| Enables or disables echo mode. More...
|
|
int | m2mb_websocket_send (M2MB_WEBSOCKET_CTX_T *pCtx, char *pMsg, UINT32 msglen, M2MB_WEBSOCKET_DATA_TYPE_E datatype, UINT8 end_of_message) |
| Sends application data. More...
|
|
M2MB_STATUS_T | m2mb_websocket_ping (M2MB_WEBSOCKET_CTX_T *pCtx, char *pPing_data, UINT32 ping_data_length) |
| Send a websocket ping. More...
|
|
M2MB_STATUS_T | m2mb_websocket_pong (M2MB_WEBSOCKET_CTX_T *pCtx, char *pPong_data, UINT32 pong_data_length) |
| Send a websocket pong. More...
|
|
M2MB_STATUS_T | m2mb_websocket_get_opt (M2MB_WEBSOCKET_CTX_T *pCtx, M2MB_WEBSOCKET_OPTION_E opt, void *opt_Value, UINT32 *opt_Length) |
| Get properties of the websocket. More...
|
|
This file provides API's for websocket client.
we866e4/epl/inc/nwk/m2mb_websocket.h
The Websocket client provides methods to establish a Websocket client(doesn't support server) connection, send and receive message, to send pings or one-way pongs, or receive pongs. Due to limited memory, large messages are received in chunks to the registered event callback. The size of the chunk is controlled by the max_Recv_Chunk_Size configuration parameter. When the end of the message is reached, the end_Of_Message callback parameter is set to TRUE. Note that the Websocket client does not validate text data as valid UTF-8 for either send or receive. The application must valid this if required.
- Note
- Dependencies: "#include <m2mb_types.h>"
"#include <m2mb_socket.h>"
- Author
- Prasad Reddy
- Date
- 08/08/2018
Definition in file m2mb_websocket.h.