X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/f8f40a64d41c4d47b974810320ab257e2eac0cf3..2791749f220602482c2cce772e6520c54218c0dd:/src/src/osfunctions.h diff --git a/src/src/osfunctions.h b/src/src/osfunctions.h index 4e6e9a91c..8b3e14312 100644 --- a/src/src/osfunctions.h +++ b/src/src/osfunctions.h @@ -3,6 +3,7 @@ *************************************************/ /* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) The Exim Maintainers 2019 */ /* See the file NOTICE for conditions of use and distribution. */ /* Prototypes for os-specific functions. For utilities, we don't need the one @@ -18,25 +19,35 @@ Notably, strsignal() is not in the Single Unix Specification (v3) and predicting constness is awkward. */ #ifndef os_getloadavg -extern int os_getloadavg(void); + extern int os_getloadavg(void); #endif #ifndef os_restarting_signal -extern void os_restarting_signal(int, void (*)(int)); + extern void os_restarting_signal(int, void (*)(int)); #endif #ifndef os_non_restarting_signal -extern void os_non_restarting_signal(int, void (*)(int)); + extern void os_non_restarting_signal(int, void (*)(int)); #endif #ifndef os_strexit -extern const char *os_strexit(int); /* char to match os_strsignal */ + extern const char *os_strexit(int); /* char to match os_strsignal */ #endif #ifndef os_strsignal -extern const char *os_strsignal(int); /* char to match strsignal in some OS */ + extern const char *os_strsignal(int); /* char to match strsignal in some OS */ #endif #ifndef os_unsetenv -extern int os_unsetenv(const uschar *); + extern int os_unsetenv(const uschar *); #endif #ifndef os_getcwd -extern uschar *os_getcwd(uschar *, size_t); + extern uschar *os_getcwd(uschar *, size_t); +#endif + +#ifdef OS_PIPE_RW_EINTR + extern ssize_t os_pipe_read(int fd, void * buf, size_t count); + extern ssize_t os_pipe_write(int fd, void * buf, size_t count); + extern ssize_t os_pipe_writev(int fd, const struct iovec * iov, int iovcnt); +#else +# define os_pipe_read(fd, buf, count) read(fd, buf, count) +# define os_pipe_write(fd, buf, count) write(fd, buf, count) +# define os_pipe_writev(fd, buf, count) writev(fd, buf, count) #endif /* End of osfunctions.h */