Merge remote-tracking branch 'lsk/v3.10/topic/gcov' into linux-linaro-lsk
[firefly-linux-kernel-4.4.55.git] / tools / gator / daemon / OlySocket.h
index eab786b304bf3907cfe361623751d8c7018126a9..6b53b01fc3ee6e6c9221e219f26aca43a28882a9 100644 (file)
@@ -9,13 +9,21 @@
 #ifndef __OLY_SOCKET_H__
 #define __OLY_SOCKET_H__
 
+#include <stddef.h>
+
+#ifdef WIN32
+typedef socklen_t int;
+#else
+#include <sys/socket.h>
+#endif
+
 class OlySocket {
 public:
-  OlySocket(int port, const char* hostname);
-  OlySocket(int socketID);
 #ifndef WIN32
-  OlySocket(const char* path);
+  static int connect(const char* path, const size_t pathSize);
 #endif
+
+  OlySocket(int socketID);
   ~OlySocket();
 
   void closeSocket();
@@ -29,25 +37,28 @@ public:
 
 private:
   int mSocketID;
-
-  void createClientSocket(const char* hostname, int port);
 };
 
 class OlyServerSocket {
 public:
   OlyServerSocket(int port);
 #ifndef WIN32
-  OlyServerSocket(const char* path);
+  OlyServerSocket(const char* path, const size_t pathSize);
 #endif
   ~OlyServerSocket();
 
   int acceptConnection();
   void closeServerSocket();
 
+  int getFd() { return mFDServer; }
+
 private:
   int mFDServer;
 
   void createServerSocket(int port);
 };
 
+int socket_cloexec(int domain, int type, int protocol);
+int accept_cloexec(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
+
 #endif //__OLY_SOCKET_H__