diff options
| -rw-r--r-- | src/socket.c | 10 | ||||
| -rw-r--r-- | src/socket.h | 5 | ||||
| -rw-r--r-- | src/socketstream.c | 16 |
3 files changed, 19 insertions, 12 deletions
diff --git a/src/socket.c b/src/socket.c index 1716f19..e161f53 100644 --- a/src/socket.c +++ b/src/socket.c @@ -99,6 +99,16 @@ int SocketDisconnect(int sock) return rc; } +int64_t SocketRecv(int sock, void *buf, size_t len, int flags) +{ + return recv(sock, buf, len, flags); +} + +int64_t SocketSend(int sock, const void *buf, size_t len, int flags) +{ + return send(sock, buf, len, flags); +} + int SocketSendAll(int sock, const char *buf, size_t *len) { size_t total = 0; diff --git a/src/socket.h b/src/socket.h index 0b9b099..e7b1a80 100644 --- a/src/socket.h +++ b/src/socket.h @@ -4,6 +4,7 @@ #include "config.h" #include <stdlib.h> +#include <stdint.h> int SocketConnect(const char *host, short port); @@ -19,4 +20,8 @@ enum int SocketSelect(int sock, int *events, int timeout); +int64_t SocketRecv(int sock, void *buf, size_t len, int flags); + +int64_t SocketSend(int sock, const void *buf, size_t len, int flags); + #endif diff --git a/src/socketstream.c b/src/socketstream.c index 73da239..cf7206d 100644 --- a/src/socketstream.c +++ b/src/socketstream.c @@ -1,22 +1,14 @@ #include "socketstream.h" +#include "socket.h" #include <assert.h> #include <string.h> -#if !defined(_WIN32) -#include <arpa/inet.h> -#else -#include "win32.h" -#endif - -/* close */ -#include <unistd.h> - static int SocketStreamClose(Stream *base) { int rv; SocketStream *stream = (SocketStream *) base; - rv = close(stream->sock); + rv = SocketDisconnect(stream->sock); stream->sock = -1; return rv; } @@ -30,7 +22,7 @@ static int64_t SocketStreamRead(void *ptr, size_t size, Stream *stream) while (received < size) { char *p = ((char *) ptr) + received; - ssize_t rv = recv(ss->sock, p, size - received, 0); + int64_t rv = SocketRecv(ss->sock, p, size - received, 0); /* Error */ if (rv == -1) return -1; @@ -51,7 +43,7 @@ static int64_t SocketStreamWrite(const void *ptr, size_t size, Stream *stream) while (written < size) { const char *p = ((char *) ptr) + written; - ssize_t rv = send(ss->sock, p, size - written, 0); + int64_t rv = SocketSend(ss->sock, p, size - written, 0); if (rv == -1) return -1; written += (size_t) rv; |
