Server.h 695 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. ServerStreamFunction* handlers;
  15. char* directory;
  16. } Server;
  17. typedef struct ThreadData
  18. {
  19. int id;
  20. Server* server;
  21. } ThreadData;
  22. void serverInitDefaults(Server* s);
  23. int serverInit(Server* s, int maxClients, short port, char* directory);
  24. void serverRemove(Server* s);
  25. int serverSend(int clientSocket, Stream* out);
  26. void serverWaitForConnection(Server* s);
  27. void serverRegisterHandler(Server* s, ServerStreamFunction f);
  28. #endif