-#elif defined(__OS2__)
- /*
- * Break the data up into SOCKET_SEND_MAX chunks for sending...
- * OS/2 seemed to complain when the chunks were too large.
- */
-#define SOCKET_SEND_MAX 65000
+#else
+ return (write(fd, buf, len) != len);
+#endif
+
+}
+
+
+/*********************************************************************
+ *
+ * Function : write_socket_delayed
+ *
+ * Description : Write the contents of buf (for n bytes) to
+ * socket fd, optionally delaying the operation.
+ *
+ * Parameters :
+ * 1 : fd = File descriptor (aka. handle) of socket to write to.
+ * 2 : buf = Pointer to data to be written.
+ * 3 : len = Length of data to be written to the socket "fd".
+ * 4 : delay = Delay in milliseconds.
+ *
+ * Returns : 0 on success (entire buffer sent).
+ * nonzero on error.
+ *
+ *********************************************************************/
+int write_socket_delayed(jb_socket fd, const char *buf, size_t len, unsigned int delay)
+{
+ size_t i = 0;
+
+ if (delay == 0)
+ {
+ return write_socket(fd, buf, len);
+ }
+
+ while (i < len)