Advertisement
Guest User

Untitled

a guest
Aug 24th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.91 KB | None | 0 0
  1. #ifndef CUTILS_TCP_SERVER_H
  2. #define CUTILS_TCP_SERVER_H
  3.  
  4. #include <sys/socket.h>
  5. #include <sys/types.h>
  6. #include <netdb.h>
  7. #include <arpa/inet.h>
  8. #include <unistd.h>
  9. #include <string.h>
  10.  
  11. #include "str.h"
  12. #include "bytestream.h"
  13. #include "dynArray.h"
  14.  
  15.  
  16. typedef struct cutilsTcpServerClient{
  17.     int sockfd;
  18.  
  19.     struct sockaddr_storage address;
  20.     socklen_t addressSize;
  21.     cutilsByteStream buffer;
  22. } cutilsTcpServerClient;
  23.  
  24. CUTILS_DEF_DYNARRAY_H(cutilsTcpServerClient, cutilsTcpServerClientArr);
  25.  
  26. typedef struct cutilsTcpServer{
  27.     int sockfd;
  28.     cutilsTcpServerClientArr clients;
  29.  
  30.     int backlog;
  31. } cutilsTcpServer;
  32.  
  33. int cutilsTcpServerInit(cutilsTcpServer *server, const char *service, int backlog);
  34. cutilsTcpServer* cutilsTcpServerNew(const char *service, int backlog);
  35. void cutilsTcpServerFree(cutilsTcpServer *server);
  36.  
  37. int cutilsTcpServerAccept(cutilsTcpServer *server, size_t bufferSize);
  38.  
  39. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement