1/*
2 Simple DirectMedia Layer
3 Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
4
5 This software is provided 'as-is', without any express or implied
6 warranty. In no event will the authors be held liable for any damages
7 arising from the use of this software.
8
9 Permission is granted to anyone to use this software for any purpose,
10 including commercial applications, and to alter it and redistribute it
11 freely, subject to the following restrictions:
12
13 1. The origin of this software must not be misrepresented; you must not
14 claim that you wrote the original software. If you use this software
15 in a product, an acknowledgment in the product documentation would be
16 appreciated but is not required.
17 2. Altered source versions must be plainly marked as such, and must not be
18 misrepresented as being the original software.
19 3. This notice may not be removed or altered from any source distribution.
20*/
21
22#ifdef SDL_USE_LIBUDEV
23static const SDL_UDEV_Symbols *udev_ctx = NULL;
24
25#define udev_device_get_devnode udev_ctx->udev_device_get_devnode
26#define udev_device_get_parent_with_subsystem_devtype udev_ctx->udev_device_get_parent_with_subsystem_devtype
27#define udev_device_get_sysattr_value udev_ctx->udev_device_get_sysattr_value
28#define udev_device_get_syspath udev_ctx->udev_device_get_syspath
29#define udev_device_new_from_devnum udev_ctx->udev_device_new_from_devnum
30#define udev_device_new_from_syspath udev_ctx->udev_device_new_from_syspath
31#define udev_device_unref udev_ctx->udev_device_unref
32#define udev_enumerate_add_match_subsystem udev_ctx->udev_enumerate_add_match_subsystem
33#define udev_enumerate_get_list_entry udev_ctx->udev_enumerate_get_list_entry
34#define udev_enumerate_new udev_ctx->udev_enumerate_new
35#define udev_enumerate_scan_devices udev_ctx->udev_enumerate_scan_devices
36#define udev_enumerate_unref udev_ctx->udev_enumerate_unref
37#define udev_list_entry_get_name udev_ctx->udev_list_entry_get_name
38#define udev_list_entry_get_next udev_ctx->udev_list_entry_get_next
39#define udev_new udev_ctx->udev_new
40#define udev_unref udev_ctx->udev_unref
41
42#undef HIDAPI_H__
43#define HIDAPI_ALLOW_BUILD_WORKAROUND_KERNEL_2_6_39
44#include "linux/hid.c"
45#define HAVE_PLATFORM_BACKEND 1
46
47#endif /* SDL_USE_LIBUDEV */
48