Andrew Geissler | fc113ea | 2023-03-31 09:59:46 -0500 | [diff] [blame] | 1 | From a46cee56d05884b8020ace6f67ef8389ac1845da Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Sun, 5 Mar 2023 13:50:40 -0800 |
| 4 | Subject: [PATCH 1/3] ioctl does not have same signature between glibc and musl |
| 5 | |
| 6 | Upstream-Status: Pending |
| 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 8 | --- |
| 9 | modules/access/v4l2/lib.c | 4 ++++ |
| 10 | modules/access/v4l2/v4l2.h | 4 ++++ |
| 11 | 2 files changed, 8 insertions(+) |
| 12 | |
Andrew Geissler | fc113ea | 2023-03-31 09:59:46 -0500 | [diff] [blame] | 13 | --- a/modules/access/v4l2/lib.c |
| 14 | +++ b/modules/access/v4l2/lib.c |
Patrick Williams | 03514f1 | 2024-04-05 07:04:11 -0500 | [diff] [blame^] | 15 | @@ -49,7 +49,11 @@ int (*v4l2_fd_open) (int, int) = fd_open |
Andrew Geissler | fc113ea | 2023-03-31 09:59:46 -0500 | [diff] [blame] | 16 | //int (*v4l2_open) (const char *, int, ...) = open; |
| 17 | //int (*v4l2_dup) (const char *, int, ...) = dup; |
| 18 | int (*v4l2_close) (int) = close; |
| 19 | +#ifdef __GLIBC__ |
| 20 | int (*v4l2_ioctl) (int, unsigned long int, ...) = ioctl; |
| 21 | +#else |
| 22 | +int (*v4l2_ioctl) (int, int, ...) = ioctl; |
| 23 | +#endif |
| 24 | ssize_t (*v4l2_read) (int, void *, size_t) = read; |
| 25 | //ssize_t (*v4l2_write) (int, const void *, size_t) = write; |
| 26 | void * (*v4l2_mmap) (void *, size_t, int, int, int, int64_t) = mmap; |
Andrew Geissler | fc113ea | 2023-03-31 09:59:46 -0500 | [diff] [blame] | 27 | --- a/modules/access/v4l2/v4l2.h |
| 28 | +++ b/modules/access/v4l2/v4l2.h |
Patrick Williams | 03514f1 | 2024-04-05 07:04:11 -0500 | [diff] [blame^] | 29 | @@ -28,7 +28,11 @@ |
Andrew Geissler | fc113ea | 2023-03-31 09:59:46 -0500 | [diff] [blame] | 30 | /* libv4l2 functions */ |
| 31 | extern int (*v4l2_fd_open) (int, int); |
| 32 | extern int (*v4l2_close) (int); |
| 33 | +#ifdef __GLIBC__ |
| 34 | extern int (*v4l2_ioctl) (int, unsigned long int, ...); |
| 35 | +#else |
| 36 | +extern int (*v4l2_ioctl) (int, int, ...); |
| 37 | +#endif |
| 38 | extern ssize_t (*v4l2_read) (int, void *, size_t); |
| 39 | extern void * (*v4l2_mmap) (void *, size_t, int, int, int, int64_t); |
| 40 | extern int (*v4l2_munmap) (void *, size_t); |