yuezonghe | 824eb0c | 2024-06-27 02:32:26 -0700 | [diff] [blame^] | 1 | /* |
| 2 | * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> |
| 3 | * |
| 4 | * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. |
| 5 | */ |
| 6 | /* sendfile64 syscall. Copes with 64 bit and 32 bit machines |
| 7 | * and on 32 bit machines this sends things into the kernel as |
| 8 | * two 32-bit arguments (high and low 32 bits of length) that |
| 9 | * are ordered based on endianess. It turns out endian.h has |
| 10 | * just the macro we need to order things, __LONG_LONG_PAIR. |
| 11 | */ |
| 12 | |
| 13 | #include <features.h> |
| 14 | #include <unistd.h> |
| 15 | #include <errno.h> |
| 16 | #include <endian.h> |
| 17 | #include <stdint.h> |
| 18 | #include <sys/sendfile.h> |
| 19 | #include <sys/syscall.h> |
| 20 | #include <bits/wordsize.h> |
| 21 | |
| 22 | #if defined __UCLIBC_HAS_LFS__ && defined __NR_sendfile64 |
| 23 | _syscall4(ssize_t,sendfile64, int, out_fd, int, in_fd, __off64_t *, offset, size_t, count) |
| 24 | #endif |