[wasm] Wasm TimeZoneInfo implementation VFS (#17760)
[mono-project.git] / support / sys-sendfile.c
blob794341b58999b7bb363e97daa99633d53675b661
1 /*
2 * <sys/sendfile.h> wrapper functions.
4 * Authors:
5 * Jonathan Pryor (jonpryor@vt.edu)
7 * Copyright (C) 2004 Jonathan Pryor
8 */
10 #include <config.h>
12 #include <sys/types.h>
13 #include <errno.h>
15 #include "mono/utils/mono-compiler.h"
16 #include "map.h"
17 #include "mph.h"
19 #ifdef HAVE_SYS_SENDFILE_H
20 #include <sys/sendfile.h>
21 #endif /* ndef HAVE_SYS_SENDFILE_H */
23 G_BEGIN_DECLS
25 #ifdef HAVE_SENDFILE
26 mph_ssize_t
27 Mono_Posix_Syscall_sendfile (int out_fd, int in_fd, mph_off_t *offset, mph_size_t count)
29 off_t _offset;
30 ssize_t r;
31 mph_return_if_off_t_overflow (*offset);
33 _offset = *offset;
35 #if defined(HOST_DARWIN) || defined(HOST_BSD)
36 /* The BSD version has 6 arguments */
37 g_assert_not_reached ();
38 #else
39 r = sendfile (out_fd, in_fd, &_offset, (size_t) count);
40 #endif
42 *offset = _offset;
44 return r;
46 #endif /* ndef HAVE_SENDFILE */
48 G_END_DECLS
51 * vim: noexpandtab