#ifndef SERVER_H #define SERVER_H #include #include "Stream.h" typedef struct Server { int maxClients; short port; pthread_t* threads; int* clientSockets; int connectSocket; int hAmount; int hIndex; ServerStreamFunction* handlers; 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); #endif