2010-06-17 Zoltan Varga <vargaz@gmail.com>
[mono.git] / support / sys-sendfile.c
blob0750efbbdfc3c65d7751ab8c9b1abfdf43005caf
1 /*
2 * <sys/sendfile.h> wrapper functions.
4 * Authors:
5 * Jonathan Pryor (jonpryor@vt.edu)
7 * Copyright (C) 2004 Jonathan Pryor
8 */
10 #include <sys/types.h>
11 #include <errno.h>
13 #include "map.h"
14 #include "mph.h"
16 #ifdef HAVE_SYS_SENDFILE_H
17 #include <sys/sendfile.h>
18 #endif /* ndef HAVE_SYS_SENDFILE_H */
20 G_BEGIN_DECLS
22 #ifdef HAVE_SENDFILE
23 mph_ssize_t
24 Mono_Posix_Syscall_sendfile (int out_fd, int in_fd, mph_off_t *offset, mph_size_t count)
26 off_t _offset;
27 ssize_t r;
28 mph_return_if_off_t_overflow (*offset);
30 _offset = *offset;
32 r = sendfile (out_fd, in_fd, &_offset, (size_t) count);
34 *offset = _offset;
36 return r;
38 #endif /* ndef HAVE_SENDFILE */
40 G_END_DECLS
43 * vim: noexpandtab