#ifndef SERVER_H #define SERVER_H #include #include "Stream.h" #include "Banns.h" typedef struct Server { int maxClients; short port; pthread_t* threads; int* clientSockets; char** clientUser; int* loginTries; int* ips; int connectSocket; BannList* banns; ServerStreamFunction handler; char* directory; } Server; typedef struct ThreadData { int id; Server* server; } ThreadData; void serverInitDefaults(Server* s); int serverInit(Server* s, int maxClients, short port, char* directory); void serverRemove(Server* s); int serverSend(int clientSocket, Stream* out); void serverWaitForConnection(Server* s); void serverRegisterHandler(Server* s, ServerStreamFunction f); int serverSetUser(Server* s, int clientId, char* name); char* serverGetUser(Server* s, int clientId); void serverFreeUser(Server* s, int clientId); int serverRaiseLoginFails(Server* s, int clientId); void serverResetLoginFails(Server* s, int clientId); void serverBann(Server* s, int clientId); #endif