buf_write_string_file(const struct buffer *buf, const char *filename, int fd)
{
const int len = strlen((char *) BPTR(buf));
- const int size = write(fd, BPTR(buf), len);
+ const int size = platform_write(fd, BPTR(buf), len);
if (size != len)
{
msg(M_ERR, "Write error on file '%s'", filename);
#include "syshead.h"
#include "console.h"
#include "misc.h"
+#include "platform.h"
#include <systemd/sd-daemon.h>
return false;
}
memset(input, 0, capacity);
- if (read(std_out, input, capacity-1) != 0)
+ if (platform_read(std_out, input, capacity-1) != 0)
{
chomp(input);
ret = true;
{
msg(M_ERR, "Cannot open file key file '%s'", file);
}
- size = read(fd, in.data, in.capacity);
+ size = platform_read(fd, in.data, in.capacity);
if (size < 0)
{
msg(M_FATAL, "Read error on key file ('%s')", file);
#include "error.h"
#include "misc.h"
#include "mstats.h"
+#include "platform.h"
#include "memdbg.h"
* struct mmap_stats, and zero it */
CLEAR(ms);
ms.state = MSTATS_ACTIVE;
- stat = write(fd, &ms, sizeof(ms));
+ stat = platform_write(fd, &ms, sizeof(ms));
if (stat != sizeof(ms))
{
msg(M_ERR, "mstats_open: write error: %s", fn);
#include "mstats.h"
#include "ssl_verify.h"
#include <inttypes.h>
+#include "platform.h"
#include "memdbg.h"
{
char buffer[INOTIFY_EVENT_BUFFER_SIZE];
size_t buffer_i = 0;
- int r = read(m->top.c2.inotify_fd, buffer, INOTIFY_EVENT_BUFFER_SIZE);
+ int r = platform_read(m->top.c2.inotify_fd, buffer, INOTIFY_EVENT_BUFFER_SIZE);
while (buffer_i < r)
{
#include "packet_id.h"
#include "misc.h"
#include "integer.h"
+#include "platform.h"
#include "memdbg.h"
#endif
p->filename = filename;
- n = read(p->fd, &image, sizeof(image));
+ n = platform_read(p->fd, &image, sizeof(image));
if (n == sizeof(image))
{
p->time = p->time_last_written = image.time;
seek_ret = lseek(p->fd, (off_t)0, SEEK_SET);
if (seek_ret == (off_t)0)
{
- n = write(p->fd, &image, sizeof(image));
+ n = platform_write(p->fd, &image, sizeof(image));
if (n == sizeof(image))
{
p->time_last_written = p->time;
return send(sockfd, buf, len, flags);
}
+ssize_t platform_read(int fd, void* buf, size_t len)
+{
+ return platform_recv(fd, buf, len, 0);
+}
+ssize_t platform_write(int fd, const void* buf, size_t len)
+{
+ return platform_send(fd, buf, len, 0);
+}
ssize_t platform_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
{
ssize_t platform_recv(int sockfd, void* buf, size_t len, int flags);
ssize_t platform_send(int sockfd, const void* buf, size_t len, int flags);
+ssize_t platform_read(int fd, void* buf, size_t len);
+ssize_t platform_write(int fd, const void* buf, size_t len);
ssize_t platform_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
char* platform_fgets(char *s, int size, FILE *stream);
int platform_fgetc(FILE *stream);
#include "fdmisc.h"
#include "crypto.h"
#include "ps.h"
+#include "platform.h"
#include "memdbg.h"
recv_control(const socket_descriptor_t fd)
{
unsigned char c;
- const ssize_t size = read(fd, &c, sizeof(c));
+ const ssize_t size = platform_read(fd, &c, sizeof(c));
if (size == sizeof(c))
{
return c;
send_control(const socket_descriptor_t fd, int code)
{
unsigned char c = (unsigned char) code;
- const ssize_t size = write(fd, &c, sizeof(c));
+ const ssize_t size = platform_write(fd, &c, sizeof(c));
if (size == sizeof(c))
{
return (int) size;
fd = platform_open(jfn, O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP);
if (fd != -1)
{
- if (write(fd, f, strlen(f)) != strlen(f))
+ if (platform_write(fd, f, strlen(f)) != strlen(f))
{
msg(M_WARN, "PORT SHARE: writing to journal file (%s) failed", jfn);
}
#include "manage.h"
#include "win32.h"
#include "options.h"
+#include "platform.h"
#include "memdbg.h"
msg(M_WARN, "GDG: socket #1 failed");
goto done;
}
- if (write(sockfd, (char *)&m_rtmsg, l) < 0)
+ if (platform_write(sockfd, (char *)&m_rtmsg, l) < 0)
{
msg(M_WARN, "GDG: problem writing to routing socket");
goto done;
}
do
{
- l = read(sockfd, (char *)&m_rtmsg, sizeof(m_rtmsg));
+ l = platform_read(sockfd, (char *)&m_rtmsg, sizeof(m_rtmsg));
} while (l > 0 && (rtm.rtm_seq != seq || rtm.rtm_pid != pid));
close(sockfd);
sockfd = -1;
msg(M_WARN, "GDG6: socket #1 failed");
goto done;
}
- if (write(sockfd, (char *)&m_rtmsg, l) < 0)
+ if (platform_write(sockfd, (char *)&m_rtmsg, l) < 0)
{
msg(M_WARN, "GDG6: problem writing to routing socket");
goto done;
do
{
- l = read(sockfd, (char *)&m_rtmsg, sizeof(m_rtmsg));
+ l = platform_read(sockfd, (char *)&m_rtmsg, sizeof(m_rtmsg));
}
while (l > 0 && (rtm.rtm_seq != seq || rtm.rtm_pid != pid));
#include "perf.h"
#include "misc.h"
#include "fdmisc.h"
+#include "platform.h"
#include "memdbg.h"
len = strlen(buf);
if (len > 0)
{
- if (write(so->fd, buf, len) != len)
+ if (platform_write(so->fd, buf, len) != len)
{
so->errors = true;
}
int len;
ASSERT(buf_init(&so->read_buf, 0));
- len = read(so->fd, BPTR(&so->read_buf), BCAP(&so->read_buf));
+ len = platform_read(so->fd, BPTR(&so->read_buf), BCAP(&so->read_buf));
if (len <= 0)
{
break;
#include "manage.h"
#include "route.h"
#include "win32.h"
+#include "platform.h"
#include "memdbg.h"
}
else
{
- return write(tt->fd, buf, len);
+ return platform_write(tt->fd, buf, len);
}
}
}
else
{
- return read(tt->fd, buf, len);
+ return platform_read(tt->fd, buf, len);
}
}
#endif /* if defined (TARGET_OPENBSD) || (defined(TARGET_DARWIN) && HAVE_NET_IF_UTUN_H) */
int
write_tun(struct tuntap *tt, uint8_t *buf, int len)
{
- return write(tt->fd, buf, len);
+ return platform_write(tt->fd, buf, len);
}
int
read_tun(struct tuntap *tt, uint8_t *buf, int len)
{
- return read(tt->fd, buf, len);
+ return platform_read(tt->fd, buf, len);
}
#elif defined(TARGET_LINUX)
int
write_tun(struct tuntap *tt, uint8_t *buf, int len)
{
- return write(tt->fd, buf, len);
+ return platform_write(tt->fd, buf, len);
}
int
read_tun(struct tuntap *tt, uint8_t *buf, int len)
{
- return read(tt->fd, buf, len);
+ return platform_read(tt->fd, buf, len);
}
#elif defined(TARGET_SOLARIS)
}
else
{
- return write(tt->fd, buf, len);
+ return platform_write(tt->fd, buf, len);
}
}
}
else
{
- return read(tt->fd, buf, len);
+ return platform_read(tt->fd, buf, len);
}
}
}
else
{
- return write(tt->fd, buf, len);
+ return platform_write(tt->fd, buf, len);
}
}
}
else
{
- return read(tt->fd, buf, len);
+ return platform_read(tt->fd, buf, len);
}
}
}
else
{
- return write(tt->fd, buf, len);
+ return platform_write(tt->fd, buf, len);
}
}
}
else
{
- return read(tt->fd, buf, len);
+ return platform_read(tt->fd, buf, len);
}
}
}
else
#endif
- return write(tt->fd, buf, len);
+ return platform_write(tt->fd, buf, len);
}
int
}
else
#endif
- return read(tt->fd, buf, len);
+ return platform_read(tt->fd, buf, len);
}
#elif defined(TARGET_AIX)
int
write_tun(struct tuntap *tt, uint8_t *buf, int len)
{
- return write(tt->fd, buf, len);
+ return platform_write(tt->fd, buf, len);
}
int
read_tun(struct tuntap *tt, uint8_t *buf, int len)
{
- return read(tt->fd, buf, len);
+ return platform_read(tt->fd, buf, len);
}
#elif defined(_WIN32)
int
write_tun(struct tuntap *tt, uint8_t *buf, int len)
{
- return write(tt->fd, buf, len);
+ return platform_write(tt->fd, buf, len);
}
int
read_tun(struct tuntap *tt, uint8_t *buf, int len)
{
- return read(tt->fd, buf, len);
+ return platform_read(tt->fd, buf, len);
}
#endif /* if defined (TARGET_ANDROID) */