#include "mr_private.h"
#include <errno.h>
-#include <netinet/in.h>
#include <stdlib.h>
#include <string.h>
+#ifndef _WIN32
+#include <netinet/in.h>
+#endif /* _WIN32 */
+
+#ifdef HAVE_UNISTD_H
#include <unistd.h>
+#endif
RCSID("$Header$");
int mr_send(int fd, struct mr_params *params)
{
- u_long length, written;
+ u_long length;
+ int written;
int i, *argl;
char *buf, *p;
length = p - buf;
putlong(buf, length);
- written = write(fd, buf, length);
+ written = send(fd, buf, length, 0);
free(buf);
if (!params->mr_argl)
free(argl);
- if (written != length)
+ if (written != (int)length)
return MR_ABORTED;
else
return MR_SUCCESS;
* on failure, or -1 if the packet hasn't been completely received
* yet.
*/
+
int mr_cont_receive(int fd, struct mr_params *reply)
{
u_long length, data;
- ssize_t size, more;
+ int size, more;
char *p, *end;
int i;
{
char lbuf[4];
- size = read(fd, lbuf, 4);
+ size = recv(fd, lbuf, 4, 0);
if (size != 4)
return size ? MR_ABORTED : MR_NOT_CONNECTED;
getlong(lbuf, length);
else
getlong(reply->mr_flattened, length);
- more = read(fd, reply->mr_flattened + reply->mr_filled,
- length - reply->mr_filled);
+ more = recv(fd, reply->mr_flattened + reply->mr_filled,
+ length - reply->mr_filled, 0);
if (more == -1)
{
mr_destroy_reply(*reply);
getlong(reply->mr_flattened + 8, reply->u.mr_status);
getlong(reply->mr_flattened + 12, reply->mr_argc);
- if (reply->mr_argc > (length - 16) / 8)
+ if (reply->mr_argc > ((int)length - 16) / 8)
{
mr_destroy_reply(*reply);
return MR_INTERNAL;