summaryrefslogtreecommitdiffstats
path: root/client/red_peer.cpp
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2009-10-16 00:21:43 +0200
committerYaniv Kamay <ykamay@redhat.com>2009-10-18 17:42:37 +0200
commitef213c66c19d265140e9a55519b174d34ff1f16b (patch)
tree0a8e58217f5757881d4d4798d1316dbb3809f37a /client/red_peer.cpp
parent308e4545cbf8d26d5d47ad6ab9f2c6e6e6648003 (diff)
downloadspice-ef213c66c19d265140e9a55519b174d34ff1f16b.tar.gz
spice-ef213c66c19d265140e9a55519b174d34ff1f16b.tar.xz
spice-ef213c66c19d265140e9a55519b174d34ff1f16b.zip
tunnel
Diffstat (limited to 'client/red_peer.cpp')
-rw-r--r--client/red_peer.cpp46
1 files changed, 2 insertions, 44 deletions
diff --git a/client/red_peer.cpp b/client/red_peer.cpp
index e20d5ca6..dad035d4 100644
--- a/client/red_peer.cpp
+++ b/client/red_peer.cpp
@@ -16,54 +16,12 @@
*/
#include "common.h"
-#ifdef _WIN32
-#include <winsock2.h>
-#include <ws2tcpip.h>
-
-#define SHUT_RDWR SD_BOTH
-#else
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netinet/tcp.h>
-#include <netdb.h>
-
-#define INVALID_SOCKET -1
-#define SOCKET_ERROR -1
-#define closesocket(sock) ::close(sock)
-#endif
#include "red.h"
#include "red_peer.h"
#include "utils.h"
#include "debug.h"
#include "platform_utils.h"
-#ifdef _WIN32
-
-int inet_aton(const char *ip, struct in_addr *in_addr)
-{
- unsigned long addr = inet_addr(ip);
-
- if (addr == INADDR_NONE) {
- return 0;
- }
- in_addr->S_un.S_addr = addr;
- return 1;
-}
-
-#define SHUTDOWN_ERR WSAESHUTDOWN
-#define INTERRUPTED_ERR WSAEINTR
-#define WOULDBLOCK_ERR WSAEWOULDBLOCK
-#define sock_error() WSAGetLastError()
-#define sock_err_message(err) sys_err_to_str(err)
-#else
-#define SHUTDOWN_ERR EPIPE
-#define INTERRUPTED_ERR EINTR
-#define WOULDBLOCK_ERR EAGAIN
-#define sock_error() errno
-#define sock_err_message(err) strerror(err)
-#endif
-
static void ssl_error()
{
ERR_print_errors_fp(stderr);
@@ -326,11 +284,11 @@ uint32_t RedPeer::recive(uint8_t *buf, uint32_t size)
RedPeer::CompundInMessage* RedPeer::recive()
{
RedDataHeader header;
- std::auto_ptr<CompundInMessage> message;
+ AutoRef<CompundInMessage> message;
recive((uint8_t*)&header, sizeof(RedDataHeader));
message.reset(new CompundInMessage(header.serial, header.type, header.size, header.sub_list));
- recive(message->data(), message->compund_size());
+ recive((*message)->data(), (*message)->compund_size());
return message.release();
}