+++ /dev/null
-/*
- * Copyright 2010-2011 self.disconnect
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#if !defined(_MOD_WEBSOCKET_H_)
-#define _MOD_WEBSOCKET_H_
-
-#include <stdlib.h>
-
-#if defined(__cplusplus)
-extern "C"
-{
-#endif
-
-#if defined(_WIN32)
-#define EXPORT __declspec(dllexport)
-#define CALLBACK __stdcall
-#else
-#define EXPORT
-#define CALLBACK
-#endif
-
-#define MESSAGE_TYPE_INVALID -1
-#define MESSAGE_TYPE_TEXT 0
-#define MESSAGE_TYPE_BINARY 128
-#define MESSAGE_TYPE_CLOSE 255
-#define MESSAGE_TYPE_PING 256
-#define MESSAGE_TYPE_PONG 257
-
- struct _WebSocketServer;
-
- typedef struct request_rec *(CALLBACK * WS_Request)
- (const struct _WebSocketServer *server);
-
- typedef const char *(CALLBACK * WS_Header_Get)
- (const struct _WebSocketServer *server,
- const char *key);
-
- typedef void (CALLBACK * WS_Header_Set)
- (const struct _WebSocketServer *server,
- const char *key,
- const char *value);
-
- typedef size_t (CALLBACK * WS_Protocol_Count)
- (const struct _WebSocketServer *server);
-
- typedef const char *(CALLBACK * WS_Protocol_Index)
- (const struct _WebSocketServer *server,
- const size_t index);
-
- typedef void (CALLBACK * WS_Protocol_Set)
- (const struct _WebSocketServer *server,
- const char *protocol);
-
- typedef size_t (CALLBACK * WS_Send)
- (const struct _WebSocketServer *server,
- const int type,
- const unsigned char *buffer,
- const size_t buffer_size);
-
- typedef void (CALLBACK * WS_Close)
- (const struct _WebSocketServer *server);
-
-#define WEBSOCKET_SERVER_VERSION_1 1
-
- typedef struct _WebSocketServer
- {
- unsigned int size;
- unsigned int version;
- struct _WebSocketState *state;
- WS_Request request;
- WS_Header_Get header_get;
- WS_Header_Set header_set;
- WS_Protocol_Count protocol_count;
- WS_Protocol_Index protocol_index;
- WS_Protocol_Set protocol_set;
- WS_Send send;
- WS_Close close;
- } WebSocketServer;
-
- struct _WebSocketPlugin;
-
- typedef struct _WebSocketPlugin *(CALLBACK * WS_Init)
- ();
- typedef void (CALLBACK * WS_Destroy)
- (struct _WebSocketPlugin *plugin);
-
- typedef void *(CALLBACK * WS_OnConnect)
- (const WebSocketServer *server); /* Returns plugin_private */
-
- typedef size_t (CALLBACK * WS_OnMessage)
- (void *plugin_private,
- const WebSocketServer *server,
- const int type,
- unsigned char *buffer,
- const size_t buffer_size);
-
- typedef void (CALLBACK * WS_OnDisconnect)
- (void *plugin_private,
- const WebSocketServer *server);
-
-#define WEBSOCKET_PLUGIN_VERSION_0 0
-
- typedef struct _WebSocketPlugin
- {
- unsigned int size;
- unsigned int version;
- WS_Destroy destroy;
- WS_OnConnect on_connect;
- WS_OnMessage on_message;
- WS_OnDisconnect on_disconnect;
- } WebSocketPlugin;
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* _MOD_WEBSOCKET_H_ */