#ifndef WEBSOCKCALLBACKS_H_INCLUDED #define WEBSOCKCALLBACKS_H_INCLUDED #include "civetweb.h" #ifdef __cplusplus extern "C" { #endif typedef struct tWebSockInfo { int webSockState; unsigned long initId; struct mg_connection *conn; } tWebSockInfo; #define MAX_NUM_OF_WEBSOCKS (256) typedef struct tWebSockContext { int runLoop; void *thread_id; tWebSockInfo *socketList[MAX_NUM_OF_WEBSOCKS]; } tWebSockContext; void websock_init_lib(const struct mg_context *ctx); void websock_exit_lib(const struct mg_context *ctx); void websock_send_broadcast(struct mg_context *ctx, const char *data, int data_len); void websocket_ready_handler(struct mg_connection *conn, void *_ignored); int websocket_data_handler(struct mg_connection *conn, int flags, char *data, size_t data_len, void *_ignored); void connection_close_handler(const struct mg_connection *conn, void *_ignored); #ifdef __cplusplus } #endif #endif