]> git.saurik.com Git - cycript.git/blobdiff - Network.cpp
Apparently, I forgot to commit a file. :(
[cycript.git] / Network.cpp
diff --git a/Network.cpp b/Network.cpp
new file mode 100644 (file)
index 0000000..4adc197
--- /dev/null
@@ -0,0 +1,22 @@
+#include "cycript.hpp"
+
+#include <sys/types.h>
+#include <sys/socket.h>
+
+bool CYRecvAll_(int socket, uint8_t *data, size_t size) {
+    while (size != 0) if (size_t writ = _syscall(recv(socket, data, size, 0))) {
+        data += writ;
+        size -= writ;
+    } else
+        return false;
+    return true;
+}
+
+bool CYSendAll_(int socket, const uint8_t *data, size_t size) {
+    while (size != 0) if (size_t writ = _syscall(send(socket, data, size, 0))) {
+        data += writ;
+        size -= writ;
+    } else
+        return false;
+    return true;
+}