summaryrefslogtreecommitdiff
path: root/src/netops.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/netops.c')
-rw-r--r--src/netops.c27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/netops.c b/src/netops.c
index 04f758fa4..532d0d3d0 100644
--- a/src/netops.c
+++ b/src/netops.c
@@ -23,9 +23,15 @@
* Boston, MA 02110-1301, USA.
*/
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
+#ifndef _MSC_VER
+# include <sys/types.h>
+# include <sys/socket.h>
+# include <netdb.h>
+#else
+# include <winsock2.h>
+# include <Ws2tcpip.h>
+# pragma comment(lib, "Ws2_32.lib")
+#endif
#include "git2/errors.h"
@@ -74,3 +80,18 @@ cleanup:
freeaddrinfo(info);
return error;
}
+
+int gitno_send(int s, const char *msg, int len, int flags)
+{
+ int ret, off = 0;
+
+ while (off < len) {
+ ret = send(s, msg + off, len - off, flags);
+ if (ret < 0)
+ return GIT_EOSERR;
+
+ off += ret;
+ }
+
+ return off;
+}