34 #include "websocket-http-client.h" 39 WEBSOCKET_IN_PROGRESS = 2,
40 WEBSOCKET_HOSTNAME_NOT_FOUND = 3,
41 WEBSOCKET_CONNECTED = 4,
44 WEBSOCKET_TIMEDOUT = 7,
47 WEBSOCKET_DATA_RECEIVED = 10,
48 WEBSOCKET_PONG_RECEIVED = 11,
53 typedef void (* websocket_callback)(
struct websocket *s,
54 websocket_result_t result,
57 #ifdef WEBSOCKET_CONF_MAX_MSGLEN 58 #define WEBSOCKET_MAX_MSGLEN WEBSOCKET_CONF_MAX_MSGLEN 60 #define WEBSOCKET_MAX_MSGLEN 200 64 struct websocket *next;
65 struct websocket_http_client_state s;
66 websocket_callback callback;
74 uint8_t headercacheptr;
75 uint8_t headercache[10];
80 WEBSOCKET_STATE_CLOSED = 0,
81 WEBSOCKET_STATE_DNS_REQUEST_SENT = 1,
82 WEBSOCKET_STATE_HTTP_REQUEST_SENT = 2,
83 WEBSOCKET_STATE_WAITING_FOR_HEADER = 3,
84 WEBSOCKET_STATE_RECEIVING_HEADER = 4,
85 WEBSOCKET_STATE_HEADER_RECEIVED = 5,
86 WEBSOCKET_STATE_RECEIVING_DATA = 6,
90 void websocket_init(
struct websocket *s);
92 void websocket_set_proxy(
struct websocket *s,
93 const uip_ipaddr_t *
addr, uint16_t port);
95 websocket_result_t websocket_open(
struct websocket *s,
97 const char *subprotocol,
99 websocket_callback c);
101 int websocket_send(
struct websocket *s,
102 const uint8_t *data, uint16_t datalen);
104 int websocket_send_str(
struct websocket *s,
107 void websocket_close(
struct websocket *s);
109 int websocket_ping(
struct websocket *s);
111 int websocket_queuelen(
struct websocket *s);
static uip_ds6_addr_t * addr
Pointer to a nbr cache entry.