Server.h 640 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef SERVER_H
  2. #define SERVER_H
  3. #include <pthread.h>
  4. #include "Stream.h"
  5. typedef struct Server
  6. {
  7. int maxClients;
  8. short port;
  9. pthread_t* threads;
  10. int* clientSockets;
  11. int connectSocket;
  12. int hAmount;
  13. int hIndex;
  14. StreamFunction* handlers;
  15. } Server;
  16. typedef struct ThreadData
  17. {
  18. int id;
  19. Server* server;
  20. } ThreadData;
  21. void serverInitDefaults(Server* s);
  22. int serverInit(Server* s, int maxClients, short port);
  23. void serverRemove(Server* s);
  24. int serverSend(int clientSocket, Stream* out);
  25. void serverWaitForConnection(Server* s);
  26. void serverRegisterHandler(Server* s, StreamFunction f);
  27. #endif