#ifndef __SERVER__ #define __SERVER__ #ifdef WIN32 #include #else #include #endif #ifndef LWIP_SOCKET #include #endif typedef struct _ServerEventArgs { unsigned int ClientID; unsigned int dwLen; void* pBuffer; } ServerEventArgs; #define DEF_BUFFERSIZE 2048 typedef void (*ServerEventHandler)(ServerEventArgs*); #ifndef SOCKET #define SOCKET int #endif typedef struct _Server { SOCKET sSocket; unsigned int* sConnections; struct sockaddr_in adAddr; unsigned short wPort; unsigned int dwConnections; unsigned int dwMaximumConnections; struct sockaddr_in* ConnectionsAddr; tid_t bThread_listen; tid_t* bThreads; ServerEventHandler _OnConnect; ServerEventHandler _OnDisconnect; ServerEventHandler _OnRead; ServerEventHandler _OnWrite; } Server; typedef struct _ServerThreadArgs { Server* srv; unsigned int ID; } ServerThreadArgs; int srv_sendBuffer(Server* srv,unsigned int cli,void* pBuffer, unsigned int dwLen); void srv_DisconnectClient(Server* srv,unsigned int cli); void* srv_WaitForConnection(Server* srv); void* srv_WaitForPacket(ServerThreadArgs* t); int server_init(Server* srv,unsigned short Port, unsigned int dwMaxConnections); int server_destroy(Server* srv); #endif