Server.h 832 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. char** clientUser;
  12. int connectSocket;
  13. ServerStreamFunction handler;
  14. char* directory;
  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, char* directory);
  23. void serverRemove(Server* s);
  24. int serverSend(int clientSocket, Stream* out);
  25. void serverWaitForConnection(Server* s);
  26. void serverRegisterHandler(Server* s, ServerStreamFunction f);
  27. int serverSetUser(Server* s, int clientId, char* name);
  28. char* serverGetUser(Server* s, int clientId);
  29. void serverFreeUser(Server* s, int clientId);
  30. #endif