--- a/lib/libv4l1/v4l1compat.c +++ b/lib/libv4l1/v4l1compat.c @@ -62,7 +62,7 @@ return fd; } -#ifdef linux +#ifdef __GLIBC__ LIBV4L_PUBLIC int open64(const char *file, int oflag, ...) { int fd; @@ -94,7 +94,11 @@ return v4l1_dup(fd); } +#ifdef __GLIBC__ LIBV4L_PUBLIC int ioctl(int fd, unsigned long int request, ...) +#else +LIBV4L_PUBLIC int ioctl(int fd, int request, ...) +#endif { void *arg; va_list ap; @@ -117,7 +121,7 @@ return v4l1_mmap(start, length, prot, flags, fd, offset); } -#ifdef linux +#ifdef __GLIBC__ LIBV4L_PUBLIC void *mmap64(void *start, size_t length, int prot, int flags, int fd, __off64_t offset) { --- a/lib/libv4l2/v4l2convert.c +++ b/lib/libv4l2/v4l2convert.c @@ -86,7 +86,7 @@ return fd; } -#ifdef linux +#ifdef __GLIBC__ LIBV4L_PUBLIC int open64(const char *file, int oflag, ...) { int fd; @@ -121,7 +121,11 @@ return v4l2_dup(fd); } +#ifdef __GLIBC__ LIBV4L_PUBLIC int ioctl(int fd, unsigned long int request, ...) +#else +LIBV4L_PUBLIC int ioctl(int fd, int request, ...) +#endif { void *arg; va_list ap; @@ -144,7 +148,7 @@ return v4l2_mmap(start, length, prot, flags, fd, offset); } -#ifdef linux +#ifdef __GLIBC__ LIBV4L_PUBLIC void *mmap64(void *start, size_t length, int prot, int flags, int fd, __off64_t offset) { --- a/lib/libv4lconvert/libv4lsyscall-priv.h +++ b/lib/libv4lconvert/libv4lsyscall-priv.h @@ -41,7 +41,9 @@ #include /* On 32 bits archs we always use mmap2, on 64 bits archs there is no mmap2 */ #ifdef __NR_mmap2 +#ifndef SYS_mmap2 #define SYS_mmap2 __NR_mmap2 +#endif #define MMAP2_PAGE_SHIFT 12 #else #define SYS_mmap2 SYS_mmap