summaryrefslogtreecommitdiff
path: root/contrib/SDL-3.2.8/src/dynapi
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
committer3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
commit5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch)
tree8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/src/dynapi
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/src/dynapi')
-rw-r--r--contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.c611
-rw-r--r--contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.h75
-rw-r--r--contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.sym1239
-rw-r--r--contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_overrides.h1261
-rw-r--r--contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_procs.h1269
-rw-r--r--contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_unsupported.h52
-rwxr-xr-xcontrib/SDL-3.2.8/src/dynapi/gendynapi.py547
7 files changed, 5054 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.c b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.c
new file mode 100644
index 0000000..a7b51af
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.c
@@ -0,0 +1,611 @@
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#include "SDL_build_config.h"
23#include "SDL_dynapi.h"
24#include "SDL_dynapi_unsupported.h"
25
26#if SDL_DYNAMIC_API
27
28#define SDL_DYNAMIC_API_ENVVAR "SDL3_DYNAMIC_API"
29#define SDL_SLOW_MEMCPY
30#define SDL_SLOW_MEMMOVE
31#define SDL_SLOW_MEMSET
32
33#ifdef HAVE_STDIO_H
34#include <stdio.h>
35#endif
36#ifdef HAVE_STDLIB_H
37#include <stdlib.h>
38#endif
39
40#include <SDL3/SDL.h>
41#define SDL_MAIN_NOIMPL // don't drag in header-only implementation of SDL_main
42#include <SDL3/SDL_main.h>
43
44
45// These headers have system specific definitions, so aren't included above
46#include <SDL3/SDL_vulkan.h>
47
48#if defined(WIN32) || defined(_WIN32) || defined(SDL_PLATFORM_CYGWIN)
49#ifndef WIN32_LEAN_AND_MEAN
50#define WIN32_LEAN_AND_MEAN 1
51#endif
52#include <windows.h>
53#endif
54
55/* This is the version of the dynamic API. This doesn't match the SDL version
56 and should not change until there's been a major revamp in API/ABI.
57 So 2.0.5 adds functions over 2.0.4? This number doesn't change;
58 the sizeof(jump_table) changes instead. But 2.1.0 changes how a function
59 works in an incompatible way or removes a function? This number changes,
60 since sizeof(jump_table) isn't sufficient anymore. It's likely
61 we'll forget to bump every time we add a function, so this is the
62 failsafe switch for major API change decisions. Respect it and use it
63 sparingly. */
64#define SDL_DYNAPI_VERSION 2
65
66#ifdef __cplusplus
67extern "C" {
68#endif
69
70static void SDL_InitDynamicAPI(void);
71
72/* BE CAREFUL CALLING ANY SDL CODE IN HERE, IT WILL BLOW UP.
73 Even self-contained stuff might call SDL_SetError() and break everything. */
74
75// behold, the macro salsa!
76
77// Can't use the macro for varargs nonsense. This is atrocious.
78#define SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, logname, prio) \
79 _static void SDLCALL SDL_Log##logname##name(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
80 { \
81 va_list ap; \
82 initcall; \
83 va_start(ap, fmt); \
84 jump_table.SDL_LogMessageV(category, SDL_LOG_PRIORITY_##prio, fmt, ap); \
85 va_end(ap); \
86 }
87
88#define SDL_DYNAPI_VARARGS(_static, name, initcall) \
89 _static bool SDLCALL SDL_SetError##name(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
90 { \
91 char buf[128], *str = buf; \
92 int result; \
93 va_list ap; \
94 initcall; \
95 va_start(ap, fmt); \
96 result = jump_table.SDL_vsnprintf(buf, sizeof(buf), fmt, ap); \
97 va_end(ap); \
98 if (result >= 0 && (size_t)result >= sizeof(buf)) { \
99 str = NULL; \
100 va_start(ap, fmt); \
101 result = jump_table.SDL_vasprintf(&str, fmt, ap); \
102 va_end(ap); \
103 } \
104 if (result >= 0) { \
105 jump_table.SDL_SetError("%s", str); \
106 } \
107 if (str != buf) { \
108 jump_table.SDL_free(str); \
109 } \
110 return false; \
111 } \
112 _static int SDLCALL SDL_sscanf##name(const char *buf, SDL_SCANF_FORMAT_STRING const char *fmt, ...) \
113 { \
114 int result; \
115 va_list ap; \
116 initcall; \
117 va_start(ap, fmt); \
118 result = jump_table.SDL_vsscanf(buf, fmt, ap); \
119 va_end(ap); \
120 return result; \
121 } \
122 _static int SDLCALL SDL_snprintf##name(SDL_OUT_Z_CAP(maxlen) char *buf, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
123 { \
124 int result; \
125 va_list ap; \
126 initcall; \
127 va_start(ap, fmt); \
128 result = jump_table.SDL_vsnprintf(buf, maxlen, fmt, ap); \
129 va_end(ap); \
130 return result; \
131 } \
132 _static int SDLCALL SDL_swprintf##name(SDL_OUT_Z_CAP(maxlen) wchar_t *buf, size_t maxlen, SDL_PRINTF_FORMAT_STRING const wchar_t *fmt, ...) \
133 { \
134 int result; \
135 va_list ap; \
136 initcall; \
137 va_start(ap, fmt); \
138 result = jump_table.SDL_vswprintf(buf, maxlen, fmt, ap); \
139 va_end(ap); \
140 return result; \
141 } \
142 _static int SDLCALL SDL_asprintf##name(char **strp, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
143 { \
144 int result; \
145 va_list ap; \
146 initcall; \
147 va_start(ap, fmt); \
148 result = jump_table.SDL_vasprintf(strp, fmt, ap); \
149 va_end(ap); \
150 return result; \
151 } \
152 _static size_t SDLCALL SDL_IOprintf##name(SDL_IOStream *context, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
153 { \
154 size_t result; \
155 va_list ap; \
156 initcall; \
157 va_start(ap, fmt); \
158 result = jump_table.SDL_IOvprintf(context, fmt, ap); \
159 va_end(ap); \
160 return result; \
161 } \
162 _static bool SDLCALL SDL_RenderDebugTextFormat##name(SDL_Renderer *renderer, float x, float y, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
163 { \
164 char buf[128], *str = buf; \
165 int result; \
166 va_list ap; \
167 initcall; \
168 va_start(ap, fmt); \
169 result = jump_table.SDL_vsnprintf(buf, sizeof(buf), fmt, ap); \
170 va_end(ap); \
171 if (result >= 0 && (size_t)result >= sizeof(buf)) { \
172 str = NULL; \
173 va_start(ap, fmt); \
174 result = jump_table.SDL_vasprintf(&str, fmt, ap); \
175 va_end(ap); \
176 } \
177 bool retval = false; \
178 if (result >= 0) { \
179 retval = jump_table.SDL_RenderDebugTextFormat(renderer, x, y, "%s", str); \
180 } \
181 if (str != buf) { \
182 jump_table.SDL_free(str); \
183 } \
184 return retval; \
185 } \
186 _static void SDLCALL SDL_Log##name(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
187 { \
188 va_list ap; \
189 initcall; \
190 va_start(ap, fmt); \
191 jump_table.SDL_LogMessageV(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO, fmt, ap); \
192 va_end(ap); \
193 } \
194 _static void SDLCALL SDL_LogMessage##name(int category, SDL_LogPriority priority, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
195 { \
196 va_list ap; \
197 initcall; \
198 va_start(ap, fmt); \
199 jump_table.SDL_LogMessageV(category, priority, fmt, ap); \
200 va_end(ap); \
201 } \
202 SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Trace, TRACE) \
203 SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Verbose, VERBOSE) \
204 SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Debug, DEBUG) \
205 SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Info, INFO) \
206 SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Warn, WARN) \
207 SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Error, ERROR) \
208 SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Critical, CRITICAL)
209
210// Typedefs for function pointers for jump table, and predeclare funcs
211// The DEFAULT funcs will init jump table and then call real function.
212// The REAL funcs are the actual functions, name-mangled to not clash.
213#define SDL_DYNAPI_PROC(rc, fn, params, args, ret) \
214 typedef rc (SDLCALL *SDL_DYNAPIFN_##fn) params;\
215 static rc SDLCALL fn##_DEFAULT params; \
216 extern rc SDLCALL fn##_REAL params;
217#include "SDL_dynapi_procs.h"
218#undef SDL_DYNAPI_PROC
219
220// The jump table!
221typedef struct
222{
223#define SDL_DYNAPI_PROC(rc, fn, params, args, ret) SDL_DYNAPIFN_##fn fn;
224#include "SDL_dynapi_procs.h"
225#undef SDL_DYNAPI_PROC
226} SDL_DYNAPI_jump_table;
227
228// The actual jump table.
229static SDL_DYNAPI_jump_table jump_table = {
230#define SDL_DYNAPI_PROC(rc, fn, params, args, ret) fn##_DEFAULT,
231#include "SDL_dynapi_procs.h"
232#undef SDL_DYNAPI_PROC
233};
234
235// Default functions init the function table then call right thing.
236#define SDL_DYNAPI_PROC(rc, fn, params, args, ret) \
237 static rc SDLCALL fn##_DEFAULT params \
238 { \
239 SDL_InitDynamicAPI(); \
240 ret jump_table.fn args; \
241 }
242#define SDL_DYNAPI_PROC_NO_VARARGS 1
243#include "SDL_dynapi_procs.h"
244#undef SDL_DYNAPI_PROC
245#undef SDL_DYNAPI_PROC_NO_VARARGS
246SDL_DYNAPI_VARARGS(static, _DEFAULT, SDL_InitDynamicAPI())
247
248// Public API functions to jump into the jump table.
249#define SDL_DYNAPI_PROC(rc, fn, params, args, ret) \
250 rc SDLCALL fn params \
251 { \
252 ret jump_table.fn args; \
253 }
254#define SDL_DYNAPI_PROC_NO_VARARGS 1
255#include "SDL_dynapi_procs.h"
256#undef SDL_DYNAPI_PROC
257#undef SDL_DYNAPI_PROC_NO_VARARGS
258SDL_DYNAPI_VARARGS(, , )
259
260#define ENABLE_SDL_CALL_LOGGING 0
261#if ENABLE_SDL_CALL_LOGGING
262static bool SDLCALL SDL_SetError_LOGSDLCALLS(SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
263{
264 char buf[512]; // !!! FIXME: dynamic allocation
265 va_list ap;
266 SDL_Log_REAL("SDL3CALL SDL_SetError");
267 va_start(ap, fmt);
268 SDL_vsnprintf_REAL(buf, sizeof(buf), fmt, ap);
269 va_end(ap);
270 return SDL_SetError_REAL("%s", buf);
271}
272static int SDLCALL SDL_sscanf_LOGSDLCALLS(const char *buf, SDL_SCANF_FORMAT_STRING const char *fmt, ...)
273{
274 int result;
275 va_list ap;
276 SDL_Log_REAL("SDL3CALL SDL_sscanf");
277 va_start(ap, fmt);
278 result = SDL_vsscanf_REAL(buf, fmt, ap);
279 va_end(ap);
280 return result;
281}
282static int SDLCALL SDL_snprintf_LOGSDLCALLS(SDL_OUT_Z_CAP(maxlen) char *buf, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
283{
284 int result;
285 va_list ap;
286 SDL_Log_REAL("SDL3CALL SDL_snprintf");
287 va_start(ap, fmt);
288 result = SDL_vsnprintf_REAL(buf, maxlen, fmt, ap);
289 va_end(ap);
290 return result;
291}
292static int SDLCALL SDL_asprintf_LOGSDLCALLS(char **strp, SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
293{
294 int result;
295 va_list ap;
296 SDL_Log_REAL("SDL3CALL SDL_asprintf");
297 va_start(ap, fmt);
298 result = SDL_vasprintf_REAL(strp, fmt, ap);
299 va_end(ap);
300 return result;
301}
302static int SDLCALL SDL_swprintf_LOGSDLCALLS(SDL_OUT_Z_CAP(maxlen) wchar_t *buf, size_t maxlen, SDL_PRINTF_FORMAT_STRING const wchar_t *fmt, ...)
303{
304 int result;
305 va_list ap;
306 SDL_Log_REAL("SDL3CALL SDL_swprintf");
307 va_start(ap, fmt);
308 result = SDL_vswprintf_REAL(buf, maxlen, fmt, ap);
309 va_end(ap);
310 return result;
311}
312static size_t SDLCALL SDL_IOprintf_LOGSDLCALLS(SDL_IOStream *context, SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
313{
314 size_t result;
315 va_list ap;
316 SDL_Log_REAL("SDL3CALL SDL_IOprintf");
317 va_start(ap, fmt);
318 result = SDL_IOvprintf_REAL(context, fmt, ap);
319 va_end(ap);
320 return result;
321}
322static bool SDLCALL SDL_RenderDebugTextFormat_LOGSDLCALLS(SDL_Renderer *renderer, float x, float y, SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
323{
324 char buf[128], *str = buf;
325 int result;
326 va_list ap;
327 SDL_Log_REAL("SDL3CALL SDL_RenderDebugTextFormat");
328 va_start(ap, fmt);
329 result = jump_table.SDL_vsnprintf(buf, sizeof(buf), fmt, ap);
330 va_end(ap);
331 if (result >= 0 && (size_t)result >= sizeof(buf)) {
332 str = NULL;
333 va_start(ap, fmt);
334 result = SDL_vasprintf_REAL(&str, fmt, ap);
335 va_end(ap);
336 }
337 bool retval = false;
338 if (result >= 0) {
339 retval = SDL_RenderDebugTextFormat_REAL(renderer, x, y, "%s", str);
340 }
341 if (str != buf) {
342 jump_table.SDL_free(str);
343 }
344 return retval;
345}
346static void SDLCALL SDL_Log_LOGSDLCALLS(SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
347{
348 va_list ap;
349 SDL_Log_REAL("SDL3CALL SDL_Log");
350 va_start(ap, fmt);
351 SDL_LogMessageV_REAL(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO, fmt, ap);
352 va_end(ap);
353}
354static void SDLCALL SDL_LogMessage_LOGSDLCALLS(int category, SDL_LogPriority priority, SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
355{
356 va_list ap;
357 SDL_Log_REAL("SDL3CALL SDL_LogMessage");
358 va_start(ap, fmt);
359 SDL_LogMessageV_REAL(category, priority, fmt, ap);
360 va_end(ap);
361}
362#define SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(logname, prio) \
363 static void SDLCALL SDL_Log##logname##_LOGSDLCALLS(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
364 { \
365 va_list ap; \
366 va_start(ap, fmt); \
367 SDL_Log_REAL("SDL3CALL SDL_Log%s", #logname); \
368 SDL_LogMessageV_REAL(category, SDL_LOG_PRIORITY_##prio, fmt, ap); \
369 va_end(ap); \
370 }
371SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(Trace, TRACE)
372SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(Verbose, VERBOSE)
373SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(Debug, DEBUG)
374SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(Info, INFO)
375SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(Warn, WARN)
376SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(Error, ERROR)
377SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(Critical, CRITICAL)
378#define SDL_DYNAPI_PROC(rc, fn, params, args, ret) \
379 rc SDLCALL fn##_LOGSDLCALLS params \
380 { \
381 SDL_Log_REAL("SDL3CALL %s", #fn); \
382 ret fn##_REAL args; \
383 }
384#define SDL_DYNAPI_PROC_NO_VARARGS 1
385#include "SDL_dynapi_procs.h"
386#undef SDL_DYNAPI_PROC
387#undef SDL_DYNAPI_PROC_NO_VARARGS
388#endif
389
390/* we make this a static function so we can call the correct one without the
391 system's dynamic linker resolving to the wrong version of this. */
392static Sint32 initialize_jumptable(Uint32 apiver, void *table, Uint32 tablesize)
393{
394 SDL_DYNAPI_jump_table *output_jump_table = (SDL_DYNAPI_jump_table *)table;
395
396 if (apiver != SDL_DYNAPI_VERSION) {
397 // !!! FIXME: can maybe handle older versions?
398 return -1; // not compatible.
399 } else if (tablesize > sizeof(jump_table)) {
400 return -1; // newer version of SDL with functions we can't provide.
401 }
402
403// Init our jump table first.
404#if ENABLE_SDL_CALL_LOGGING
405 {
406 const char *env = SDL_getenv_unsafe_REAL("SDL_DYNAPI_LOG_CALLS");
407 const bool log_calls = (env && SDL_atoi_REAL(env));
408 if (log_calls) {
409#define SDL_DYNAPI_PROC(rc, fn, params, args, ret) jump_table.fn = fn##_LOGSDLCALLS;
410#include "SDL_dynapi_procs.h"
411#undef SDL_DYNAPI_PROC
412 } else {
413#define SDL_DYNAPI_PROC(rc, fn, params, args, ret) jump_table.fn = fn##_REAL;
414#include "SDL_dynapi_procs.h"
415#undef SDL_DYNAPI_PROC
416 }
417 }
418#else
419#define SDL_DYNAPI_PROC(rc, fn, params, args, ret) jump_table.fn = fn##_REAL;
420#include "SDL_dynapi_procs.h"
421#undef SDL_DYNAPI_PROC
422#endif
423
424 // Then the external table...
425 if (output_jump_table != &jump_table) {
426 jump_table.SDL_memcpy(output_jump_table, &jump_table, tablesize);
427 }
428
429 // Safe to call SDL functions now; jump table is initialized!
430
431 return 0; // success!
432}
433
434// Here's the exported entry point that fills in the jump table.
435// Use specific types when an "int" might suffice to keep this sane.
436typedef Sint32 (SDLCALL *SDL_DYNAPI_ENTRYFN)(Uint32 apiver, void *table, Uint32 tablesize);
437extern SDL_DECLSPEC Sint32 SDLCALL SDL_DYNAPI_entry(Uint32, void *, Uint32);
438
439Sint32 SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize)
440{
441 return initialize_jumptable(apiver, table, tablesize);
442}
443
444#ifdef __cplusplus
445}
446#endif
447
448// Obviously we can't use SDL_LoadObject() to load SDL. :)
449// Also obviously, we never close the loaded library.
450#if defined(WIN32) || defined(_WIN32) || defined(SDL_PLATFORM_CYGWIN)
451static SDL_INLINE void *get_sdlapi_entry(const char *fname, const char *sym)
452{
453 HMODULE lib = LoadLibraryA(fname);
454 void *result = NULL;
455 if (lib) {
456 result = (void *) GetProcAddress(lib, sym);
457 if (!result) {
458 FreeLibrary(lib);
459 }
460 }
461 return result;
462}
463
464#elif defined(SDL_PLATFORM_UNIX) || defined(SDL_PLATFORM_APPLE) || defined(SDL_PLATFORM_HAIKU)
465#include <dlfcn.h>
466static SDL_INLINE void *get_sdlapi_entry(const char *fname, const char *sym)
467{
468 void *lib = dlopen(fname, RTLD_NOW | RTLD_LOCAL);
469 void *result = NULL;
470 if (lib) {
471 result = dlsym(lib, sym);
472 if (!result) {
473 dlclose(lib);
474 }
475 }
476 return result;
477}
478
479#else
480#error Please define your platform.
481#endif
482
483static void dynapi_warn(const char *msg)
484{
485 const char *caption = "SDL Dynamic API Failure!";
486 (void)caption;
487// SDL_ShowSimpleMessageBox() is a too heavy for here.
488#if (defined(WIN32) || defined(_WIN32) || defined(SDL_PLATFORM_CYGWIN)) && !defined(SDL_PLATFORM_XBOXONE) && !defined(SDL_PLATFORM_XBOXSERIES)
489 MessageBoxA(NULL, msg, caption, MB_OK | MB_ICONERROR);
490#elif defined(HAVE_STDIO_H)
491 fprintf(stderr, "\n\n%s\n%s\n\n", caption, msg);
492 fflush(stderr);
493#endif
494}
495
496/* This is not declared in any header, although it is shared between some
497 parts of SDL, because we don't want anything calling it without an
498 extremely good reason. */
499#ifdef __cplusplus
500extern "C" {
501#endif
502extern SDL_NORETURN void SDL_ExitProcess(int exitcode);
503#ifdef __WATCOMC__
504#pragma aux SDL_ExitProcess aborts;
505#endif
506#ifdef __cplusplus
507}
508#endif
509
510static void SDL_InitDynamicAPILocked(void)
511{
512 // this can't use SDL_getenv_unsafe_REAL, because it might allocate memory before the app can set their allocator.
513#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__)
514 // We've always used LoadLibraryA for this, so this has never worked with Unicode paths on Windows. Sorry.
515 char envbuf[512]; // overflows will just report as environment variable being unset, but LoadLibraryA has a MAX_PATH of 260 anyhow, apparently.
516 const DWORD rc = GetEnvironmentVariableA(SDL_DYNAMIC_API_ENVVAR, envbuf, (DWORD) sizeof (envbuf));
517 char *libname = ((rc != 0) && (rc < sizeof (envbuf))) ? envbuf : NULL;
518#else
519 char *libname = getenv(SDL_DYNAMIC_API_ENVVAR);
520#endif
521
522 SDL_DYNAPI_ENTRYFN entry = NULL; // funcs from here by default.
523 bool use_internal = true;
524
525 if (libname) {
526 while (*libname && !entry) {
527 // This is evil, but we're not making any permanent changes...
528 char *ptr = (char *)libname;
529 while (true) {
530 char ch = *ptr;
531 if ((ch == ',') || (ch == '\0')) {
532 *ptr = '\0';
533 entry = (SDL_DYNAPI_ENTRYFN)get_sdlapi_entry(libname, "SDL_DYNAPI_entry");
534 *ptr = ch;
535 libname = (ch == '\0') ? ptr : (ptr + 1);
536 break;
537 } else {
538 ptr++;
539 }
540 }
541 }
542 if (!entry) {
543 dynapi_warn("Couldn't load an overriding SDL library. Please fix or remove the " SDL_DYNAMIC_API_ENVVAR " environment variable. Using the default SDL.");
544 // Just fill in the function pointers from this library, later.
545 }
546 }
547
548 if (entry) {
549 if (entry(SDL_DYNAPI_VERSION, &jump_table, sizeof(jump_table)) < 0) {
550 dynapi_warn("Couldn't override SDL library. Using a newer SDL build might help. Please fix or remove the " SDL_DYNAMIC_API_ENVVAR " environment variable. Using the default SDL.");
551 // Just fill in the function pointers from this library, later.
552 } else {
553 use_internal = false; // We overrode SDL! Don't use the internal version!
554 }
555 }
556
557 // Just fill in the function pointers from this library.
558 if (use_internal) {
559 if (initialize_jumptable(SDL_DYNAPI_VERSION, &jump_table, sizeof(jump_table)) < 0) {
560 // Now we're screwed. Should definitely abort now.
561 dynapi_warn("Failed to initialize internal SDL dynapi. As this would otherwise crash, we have to abort now.");
562#ifndef NDEBUG
563 SDL_TriggerBreakpoint();
564#endif
565 SDL_ExitProcess(86);
566 }
567 }
568
569 // we intentionally never close the newly-loaded lib, of course.
570}
571
572static void SDL_InitDynamicAPI(void)
573{
574 /* So the theory is that every function in the jump table defaults to
575 * calling this function, and then replaces itself with a version that
576 * doesn't call this function anymore. But it's possible that, in an
577 * extreme corner case, you can have a second thread hit this function
578 * while the jump table is being initialized by the first.
579 * In this case, a spinlock is really painful compared to what spinlocks
580 * _should_ be used for, but this would only happen once, and should be
581 * insanely rare, as you would have to spin a thread outside of SDL (as
582 * SDL_CreateThread() would also call this function before building the
583 * new thread).
584 */
585 static bool already_initialized = false;
586
587 static SDL_SpinLock lock = 0;
588 SDL_LockSpinlock_REAL(&lock);
589
590 if (!already_initialized) {
591 SDL_InitDynamicAPILocked();
592 already_initialized = true;
593 }
594
595 SDL_UnlockSpinlock_REAL(&lock);
596}
597
598#else // SDL_DYNAMIC_API
599
600#include <SDL3/SDL.h>
601
602Sint32 SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize);
603Sint32 SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize)
604{
605 (void)apiver;
606 (void)table;
607 (void)tablesize;
608 return -1; // not compatible.
609}
610
611#endif // SDL_DYNAMIC_API
diff --git a/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.h b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.h
new file mode 100644
index 0000000..99ef9a9
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.h
@@ -0,0 +1,75 @@
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#ifndef SDL_dynapi_h_
23#define SDL_dynapi_h_
24
25/* IMPORTANT:
26 This is the master switch to disabling the dynamic API. We made it so you
27 have to hand-edit an internal source file in SDL to turn it off; you
28 can do it if you want it badly enough, but hopefully you won't want to.
29 You should understand the ramifications of turning this off: it makes it
30 hard to update your SDL in the field, and impossible if you've statically
31 linked SDL into your app. Understand that platforms change, and if we can't
32 drop in an updated SDL, your application can definitely break some time
33 in the future, even if it's fine today.
34 To be sure, as new system-level video and audio APIs are introduced, an
35 updated SDL can transparently take advantage of them, but your program will
36 not without this feature. Think hard before turning it off.
37*/
38#ifdef SDL_DYNAMIC_API // Tried to force it on the command line?
39#error Nope, you have to edit this file to force this off.
40#endif
41
42#ifdef SDL_PLATFORM_APPLE
43#include "TargetConditionals.h"
44#endif
45
46#if defined(SDL_PLATFORM_PRIVATE) // probably not useful on private platforms.
47#define SDL_DYNAMIC_API 0
48#elif defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE // probably not useful on iOS.
49#define SDL_DYNAMIC_API 0
50#elif defined(SDL_PLATFORM_ANDROID) // probably not useful on Android.
51#define SDL_DYNAMIC_API 0
52#elif defined(SDL_PLATFORM_EMSCRIPTEN) // probably not useful on Emscripten.
53#define SDL_DYNAMIC_API 0
54#elif defined(SDL_PLATFORM_PS2) && SDL_PLATFORM_PS2
55#define SDL_DYNAMIC_API 0
56#elif defined(SDL_PLATFORM_PSP) && SDL_PLATFORM_PSP
57#define SDL_DYNAMIC_API 0
58#elif defined(SDL_PLATFORM_RISCOS) // probably not useful on RISC OS, since dlopen() can't be used when using static linking.
59#define SDL_DYNAMIC_API 0
60#elif defined(__clang_analyzer__) || defined(__INTELLISENSE__) || defined(SDL_THREAD_SAFETY_ANALYSIS)
61#define SDL_DYNAMIC_API 0 // Turn off for static analysis, so reports are more clear.
62#elif defined(SDL_PLATFORM_VITA)
63#define SDL_DYNAMIC_API 0 // vitasdk doesn't support dynamic linking
64#elif defined(SDL_PLATFORM_3DS)
65#define SDL_DYNAMIC_API 0 // devkitARM doesn't support dynamic linking
66#elif defined(DYNAPI_NEEDS_DLOPEN) && !defined(HAVE_DLOPEN)
67#define SDL_DYNAMIC_API 0 // we need dlopen(), but don't have it....
68#endif
69
70// everyone else. This is where we turn on the API if nothing forced it off.
71#ifndef SDL_DYNAMIC_API
72#define SDL_DYNAMIC_API 1
73#endif
74
75#endif
diff --git a/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.sym b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.sym
new file mode 100644
index 0000000..73f3484
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi.sym
@@ -0,0 +1,1239 @@
1SDL3_0.0.0 {
2 global:
3 JNI_OnLoad;
4 SDL_DYNAPI_entry;
5 SDL_AcquireCameraFrame;
6 SDL_AcquireGPUCommandBuffer;
7 SDL_AcquireGPUSwapchainTexture;
8 SDL_AddAtomicInt;
9 SDL_AddEventWatch;
10 SDL_AddGamepadMapping;
11 SDL_AddGamepadMappingsFromFile;
12 SDL_AddGamepadMappingsFromIO;
13 SDL_AddHintCallback;
14 SDL_AddSurfaceAlternateImage;
15 SDL_AddTimer;
16 SDL_AddTimerNS;
17 SDL_AddVulkanRenderSemaphores;
18 SDL_AttachVirtualJoystick;
19 SDL_AudioDevicePaused;
20 SDL_BeginGPUComputePass;
21 SDL_BeginGPUCopyPass;
22 SDL_BeginGPURenderPass;
23 SDL_BindAudioStream;
24 SDL_BindAudioStreams;
25 SDL_BindGPUComputePipeline;
26 SDL_BindGPUComputeSamplers;
27 SDL_BindGPUComputeStorageBuffers;
28 SDL_BindGPUComputeStorageTextures;
29 SDL_BindGPUFragmentSamplers;
30 SDL_BindGPUFragmentStorageBuffers;
31 SDL_BindGPUFragmentStorageTextures;
32 SDL_BindGPUGraphicsPipeline;
33 SDL_BindGPUIndexBuffer;
34 SDL_BindGPUVertexBuffers;
35 SDL_BindGPUVertexSamplers;
36 SDL_BindGPUVertexStorageBuffers;
37 SDL_BindGPUVertexStorageTextures;
38 SDL_BlitGPUTexture;
39 SDL_BlitSurface9Grid;
40 SDL_BlitSurface;
41 SDL_BlitSurfaceScaled;
42 SDL_BlitSurfaceTiled;
43 SDL_BlitSurfaceTiledWithScale;
44 SDL_BlitSurfaceUnchecked;
45 SDL_BlitSurfaceUncheckedScaled;
46 SDL_BroadcastCondition;
47 SDL_CaptureMouse;
48 SDL_ClaimWindowForGPUDevice;
49 SDL_CleanupTLS;
50 SDL_ClearAudioStream;
51 SDL_ClearClipboardData;
52 SDL_ClearComposition;
53 SDL_ClearError;
54 SDL_ClearProperty;
55 SDL_ClearSurface;
56 SDL_CloseAudioDevice;
57 SDL_CloseCamera;
58 SDL_CloseGamepad;
59 SDL_CloseHaptic;
60 SDL_CloseIO;
61 SDL_CloseJoystick;
62 SDL_CloseSensor;
63 SDL_CloseStorage;
64 SDL_CompareAndSwapAtomicInt;
65 SDL_CompareAndSwapAtomicPointer;
66 SDL_CompareAndSwapAtomicU32;
67 SDL_ComposeCustomBlendMode;
68 SDL_ConvertAudioSamples;
69 SDL_ConvertEventToRenderCoordinates;
70 SDL_ConvertPixels;
71 SDL_ConvertPixelsAndColorspace;
72 SDL_ConvertSurface;
73 SDL_ConvertSurfaceAndColorspace;
74 SDL_CopyFile;
75 SDL_CopyGPUBufferToBuffer;
76 SDL_CopyGPUTextureToTexture;
77 SDL_CopyProperties;
78 SDL_CopyStorageFile;
79 SDL_CreateAudioStream;
80 SDL_CreateColorCursor;
81 SDL_CreateCondition;
82 SDL_CreateCursor;
83 SDL_CreateDirectory;
84 SDL_CreateEnvironment;
85 SDL_CreateGPUBuffer;
86 SDL_CreateGPUComputePipeline;
87 SDL_CreateGPUDevice;
88 SDL_CreateGPUDeviceWithProperties;
89 SDL_CreateGPUGraphicsPipeline;
90 SDL_CreateGPUSampler;
91 SDL_CreateGPUShader;
92 SDL_CreateGPUTexture;
93 SDL_CreateGPUTransferBuffer;
94 SDL_CreateHapticEffect;
95 SDL_CreateMutex;
96 SDL_CreatePalette;
97 SDL_CreatePopupWindow;
98 SDL_CreateProcess;
99 SDL_CreateProcessWithProperties;
100 SDL_CreateProperties;
101 SDL_CreateRWLock;
102 SDL_CreateRenderer;
103 SDL_CreateRendererWithProperties;
104 SDL_CreateSemaphore;
105 SDL_CreateSoftwareRenderer;
106 SDL_CreateStorageDirectory;
107 SDL_CreateSurface;
108 SDL_CreateSurfaceFrom;
109 SDL_CreateSurfacePalette;
110 SDL_CreateSystemCursor;
111 SDL_CreateTexture;
112 SDL_CreateTextureFromSurface;
113 SDL_CreateTextureWithProperties;
114 SDL_CreateThreadRuntime;
115 SDL_CreateThreadWithPropertiesRuntime;
116 SDL_CreateWindow;
117 SDL_CreateWindowAndRenderer;
118 SDL_CreateWindowWithProperties;
119 SDL_CursorVisible;
120 SDL_DateTimeToTime;
121 SDL_Delay;
122 SDL_DelayNS;
123 SDL_DestroyAudioStream;
124 SDL_DestroyCondition;
125 SDL_DestroyCursor;
126 SDL_DestroyEnvironment;
127 SDL_DestroyGPUDevice;
128 SDL_DestroyHapticEffect;
129 SDL_DestroyMutex;
130 SDL_DestroyPalette;
131 SDL_DestroyProcess;
132 SDL_DestroyProperties;
133 SDL_DestroyRWLock;
134 SDL_DestroyRenderer;
135 SDL_DestroySemaphore;
136 SDL_DestroySurface;
137 SDL_DestroyTexture;
138 SDL_DestroyWindow;
139 SDL_DestroyWindowSurface;
140 SDL_DetachThread;
141 SDL_DetachVirtualJoystick;
142 SDL_DisableScreenSaver;
143 SDL_DispatchGPUCompute;
144 SDL_DispatchGPUComputeIndirect;
145 SDL_DownloadFromGPUBuffer;
146 SDL_DownloadFromGPUTexture;
147 SDL_DrawGPUIndexedPrimitives;
148 SDL_DrawGPUIndexedPrimitivesIndirect;
149 SDL_DrawGPUPrimitives;
150 SDL_DrawGPUPrimitivesIndirect;
151 SDL_DuplicateSurface;
152 SDL_EGL_GetCurrentConfig;
153 SDL_EGL_GetCurrentDisplay;
154 SDL_EGL_GetProcAddress;
155 SDL_EGL_GetWindowSurface;
156 SDL_EGL_SetAttributeCallbacks;
157 SDL_EnableScreenSaver;
158 SDL_EndGPUComputePass;
159 SDL_EndGPUCopyPass;
160 SDL_EndGPURenderPass;
161 SDL_EnterAppMainCallbacks;
162 SDL_EnumerateDirectory;
163 SDL_EnumerateProperties;
164 SDL_EnumerateStorageDirectory;
165 SDL_EventEnabled;
166 SDL_FillSurfaceRect;
167 SDL_FillSurfaceRects;
168 SDL_FilterEvents;
169 SDL_FlashWindow;
170 SDL_FlipSurface;
171 SDL_FlushAudioStream;
172 SDL_FlushEvent;
173 SDL_FlushEvents;
174 SDL_FlushIO;
175 SDL_FlushRenderer;
176 SDL_GDKResumeGPU;
177 SDL_GDKSuspendComplete;
178 SDL_GDKSuspendGPU;
179 SDL_GL_CreateContext;
180 SDL_GL_DestroyContext;
181 SDL_GL_ExtensionSupported;
182 SDL_GL_GetAttribute;
183 SDL_GL_GetCurrentContext;
184 SDL_GL_GetCurrentWindow;
185 SDL_GL_GetProcAddress;
186 SDL_GL_GetSwapInterval;
187 SDL_GL_LoadLibrary;
188 SDL_GL_MakeCurrent;
189 SDL_GL_ResetAttributes;
190 SDL_GL_SetAttribute;
191 SDL_GL_SetSwapInterval;
192 SDL_GL_SwapWindow;
193 SDL_GL_UnloadLibrary;
194 SDL_GPUSupportsProperties;
195 SDL_GPUSupportsShaderFormats;
196 SDL_GPUTextureFormatTexelBlockSize;
197 SDL_GPUTextureSupportsFormat;
198 SDL_GPUTextureSupportsSampleCount;
199 SDL_GUIDToString;
200 SDL_GamepadConnected;
201 SDL_GamepadEventsEnabled;
202 SDL_GamepadHasAxis;
203 SDL_GamepadHasButton;
204 SDL_GamepadHasSensor;
205 SDL_GamepadSensorEnabled;
206 SDL_GenerateMipmapsForGPUTexture;
207 SDL_GetAndroidActivity;
208 SDL_GetAndroidCachePath;
209 SDL_GetAndroidExternalStoragePath;
210 SDL_GetAndroidExternalStorageState;
211 SDL_GetAndroidInternalStoragePath;
212 SDL_GetAndroidJNIEnv;
213 SDL_GetAndroidSDKVersion;
214 SDL_GetAppMetadataProperty;
215 SDL_GetAssertionHandler;
216 SDL_GetAssertionReport;
217 SDL_GetAtomicInt;
218 SDL_GetAtomicPointer;
219 SDL_GetAtomicU32;
220 SDL_GetAudioDeviceChannelMap;
221 SDL_GetAudioDeviceFormat;
222 SDL_GetAudioDeviceGain;
223 SDL_GetAudioDeviceName;
224 SDL_GetAudioDriver;
225 SDL_GetAudioFormatName;
226 SDL_GetAudioPlaybackDevices;
227 SDL_GetAudioRecordingDevices;
228 SDL_GetAudioStreamAvailable;
229 SDL_GetAudioStreamData;
230 SDL_GetAudioStreamDevice;
231 SDL_GetAudioStreamFormat;
232 SDL_GetAudioStreamFrequencyRatio;
233 SDL_GetAudioStreamGain;
234 SDL_GetAudioStreamInputChannelMap;
235 SDL_GetAudioStreamOutputChannelMap;
236 SDL_GetAudioStreamProperties;
237 SDL_GetAudioStreamQueued;
238 SDL_GetBasePath;
239 SDL_GetBooleanProperty;
240 SDL_GetCPUCacheLineSize;
241 SDL_GetCameraDriver;
242 SDL_GetCameraFormat;
243 SDL_GetCameraID;
244 SDL_GetCameraName;
245 SDL_GetCameraPermissionState;
246 SDL_GetCameraPosition;
247 SDL_GetCameraProperties;
248 SDL_GetCameraSupportedFormats;
249 SDL_GetCameras;
250 SDL_GetClipboardData;
251 SDL_GetClipboardMimeTypes;
252 SDL_GetClipboardText;
253 SDL_GetClosestFullscreenDisplayMode;
254 SDL_GetCurrentAudioDriver;
255 SDL_GetCurrentCameraDriver;
256 SDL_GetCurrentDisplayMode;
257 SDL_GetCurrentDisplayOrientation;
258 SDL_GetCurrentRenderOutputSize;
259 SDL_GetCurrentThreadID;
260 SDL_GetCurrentTime;
261 SDL_GetCurrentVideoDriver;
262 SDL_GetCursor;
263 SDL_GetDXGIOutputInfo;
264 SDL_GetDateTimeLocalePreferences;
265 SDL_GetDayOfWeek;
266 SDL_GetDayOfYear;
267 SDL_GetDaysInMonth;
268 SDL_GetDefaultAssertionHandler;
269 SDL_GetDefaultCursor;
270 SDL_GetDesktopDisplayMode;
271 SDL_GetDirect3D9AdapterIndex;
272 SDL_GetDisplayBounds;
273 SDL_GetDisplayContentScale;
274 SDL_GetDisplayForPoint;
275 SDL_GetDisplayForRect;
276 SDL_GetDisplayForWindow;
277 SDL_GetDisplayName;
278 SDL_GetDisplayProperties;
279 SDL_GetDisplayUsableBounds;
280 SDL_GetDisplays;
281 SDL_GetEnvironment;
282 SDL_GetEnvironmentVariable;
283 SDL_GetEnvironmentVariables;
284 SDL_GetError;
285 SDL_GetEventFilter;
286 SDL_GetFloatProperty;
287 SDL_GetFullscreenDisplayModes;
288 SDL_GetGDKDefaultUser;
289 SDL_GetGDKTaskQueue;
290 SDL_GetGPUDeviceDriver;
291 SDL_GetGPUDriver;
292 SDL_GetGPUShaderFormats;
293 SDL_GetGPUSwapchainTextureFormat;
294 SDL_GetGamepadAppleSFSymbolsNameForAxis;
295 SDL_GetGamepadAppleSFSymbolsNameForButton;
296 SDL_GetGamepadAxis;
297 SDL_GetGamepadAxisFromString;
298 SDL_GetGamepadBindings;
299 SDL_GetGamepadButton;
300 SDL_GetGamepadButtonFromString;
301 SDL_GetGamepadButtonLabel;
302 SDL_GetGamepadButtonLabelForType;
303 SDL_GetGamepadConnectionState;
304 SDL_GetGamepadFirmwareVersion;
305 SDL_GetGamepadFromID;
306 SDL_GetGamepadFromPlayerIndex;
307 SDL_GetGamepadGUIDForID;
308 SDL_GetGamepadID;
309 SDL_GetGamepadJoystick;
310 SDL_GetGamepadMapping;
311 SDL_GetGamepadMappingForGUID;
312 SDL_GetGamepadMappingForID;
313 SDL_GetGamepadMappings;
314 SDL_GetGamepadName;
315 SDL_GetGamepadNameForID;
316 SDL_GetGamepadPath;
317 SDL_GetGamepadPathForID;
318 SDL_GetGamepadPlayerIndex;
319 SDL_GetGamepadPlayerIndexForID;
320 SDL_GetGamepadPowerInfo;
321 SDL_GetGamepadProduct;
322 SDL_GetGamepadProductForID;
323 SDL_GetGamepadProductVersion;
324 SDL_GetGamepadProductVersionForID;
325 SDL_GetGamepadProperties;
326 SDL_GetGamepadSensorData;
327 SDL_GetGamepadSensorDataRate;
328 SDL_GetGamepadSerial;
329 SDL_GetGamepadSteamHandle;
330 SDL_GetGamepadStringForAxis;
331 SDL_GetGamepadStringForButton;
332 SDL_GetGamepadStringForType;
333 SDL_GetGamepadTouchpadFinger;
334 SDL_GetGamepadType;
335 SDL_GetGamepadTypeForID;
336 SDL_GetGamepadTypeFromString;
337 SDL_GetGamepadVendor;
338 SDL_GetGamepadVendorForID;
339 SDL_GetGamepads;
340 SDL_GetGlobalMouseState;
341 SDL_GetGlobalProperties;
342 SDL_GetGrabbedWindow;
343 SDL_GetHapticEffectStatus;
344 SDL_GetHapticFeatures;
345 SDL_GetHapticFromID;
346 SDL_GetHapticID;
347 SDL_GetHapticName;
348 SDL_GetHapticNameForID;
349 SDL_GetHaptics;
350 SDL_GetHint;
351 SDL_GetHintBoolean;
352 SDL_GetIOProperties;
353 SDL_GetIOSize;
354 SDL_GetIOStatus;
355 SDL_GetJoystickAxis;
356 SDL_GetJoystickAxisInitialState;
357 SDL_GetJoystickBall;
358 SDL_GetJoystickButton;
359 SDL_GetJoystickConnectionState;
360 SDL_GetJoystickFirmwareVersion;
361 SDL_GetJoystickFromID;
362 SDL_GetJoystickFromPlayerIndex;
363 SDL_GetJoystickGUID;
364 SDL_GetJoystickGUIDForID;
365 SDL_GetJoystickGUIDInfo;
366 SDL_GetJoystickHat;
367 SDL_GetJoystickID;
368 SDL_GetJoystickName;
369 SDL_GetJoystickNameForID;
370 SDL_GetJoystickPath;
371 SDL_GetJoystickPathForID;
372 SDL_GetJoystickPlayerIndex;
373 SDL_GetJoystickPlayerIndexForID;
374 SDL_GetJoystickPowerInfo;
375 SDL_GetJoystickProduct;
376 SDL_GetJoystickProductForID;
377 SDL_GetJoystickProductVersion;
378 SDL_GetJoystickProductVersionForID;
379 SDL_GetJoystickProperties;
380 SDL_GetJoystickSerial;
381 SDL_GetJoystickType;
382 SDL_GetJoystickTypeForID;
383 SDL_GetJoystickVendor;
384 SDL_GetJoystickVendorForID;
385 SDL_GetJoysticks;
386 SDL_GetKeyFromName;
387 SDL_GetKeyFromScancode;
388 SDL_GetKeyName;
389 SDL_GetKeyboardFocus;
390 SDL_GetKeyboardNameForID;
391 SDL_GetKeyboardState;
392 SDL_GetKeyboards;
393 SDL_GetLogOutputFunction;
394 SDL_GetLogPriority;
395 SDL_GetMasksForPixelFormat;
396 SDL_GetMaxHapticEffects;
397 SDL_GetMaxHapticEffectsPlaying;
398 SDL_GetMemoryFunctions;
399 SDL_GetMice;
400 SDL_GetModState;
401 SDL_GetMouseFocus;
402 SDL_GetMouseNameForID;
403 SDL_GetMouseState;
404 SDL_GetNaturalDisplayOrientation;
405 SDL_GetNumAllocations;
406 SDL_GetNumAudioDrivers;
407 SDL_GetNumCameraDrivers;
408 SDL_GetNumGPUDrivers;
409 SDL_GetNumGamepadTouchpadFingers;
410 SDL_GetNumGamepadTouchpads;
411 SDL_GetNumHapticAxes;
412 SDL_GetNumJoystickAxes;
413 SDL_GetNumJoystickBalls;
414 SDL_GetNumJoystickButtons;
415 SDL_GetNumJoystickHats;
416 SDL_GetNumLogicalCPUCores;
417 SDL_GetNumRenderDrivers;
418 SDL_GetNumVideoDrivers;
419 SDL_GetNumberProperty;
420 SDL_GetOriginalMemoryFunctions;
421 SDL_GetPathInfo;
422 SDL_GetPerformanceCounter;
423 SDL_GetPerformanceFrequency;
424 SDL_GetPixelFormatDetails;
425 SDL_GetPixelFormatForMasks;
426 SDL_GetPixelFormatName;
427 SDL_GetPlatform;
428 SDL_GetPointerProperty;
429 SDL_GetPowerInfo;
430 SDL_GetPrefPath;
431 SDL_GetPreferredLocales;
432 SDL_GetPrimaryDisplay;
433 SDL_GetPrimarySelectionText;
434 SDL_GetProcessInput;
435 SDL_GetProcessOutput;
436 SDL_GetProcessProperties;
437 SDL_GetPropertyType;
438 SDL_GetRGB;
439 SDL_GetRGBA;
440 SDL_GetRealGamepadType;
441 SDL_GetRealGamepadTypeForID;
442 SDL_GetRectAndLineIntersection;
443 SDL_GetRectAndLineIntersectionFloat;
444 SDL_GetRectEnclosingPoints;
445 SDL_GetRectEnclosingPointsFloat;
446 SDL_GetRectIntersection;
447 SDL_GetRectIntersectionFloat;
448 SDL_GetRectUnion;
449 SDL_GetRectUnionFloat;
450 SDL_GetRelativeMouseState;
451 SDL_GetRenderClipRect;
452 SDL_GetRenderColorScale;
453 SDL_GetRenderDrawBlendMode;
454 SDL_GetRenderDrawColor;
455 SDL_GetRenderDrawColorFloat;
456 SDL_GetRenderDriver;
457 SDL_GetRenderLogicalPresentation;
458 SDL_GetRenderLogicalPresentationRect;
459 SDL_GetRenderMetalCommandEncoder;
460 SDL_GetRenderMetalLayer;
461 SDL_GetRenderOutputSize;
462 SDL_GetRenderSafeArea;
463 SDL_GetRenderScale;
464 SDL_GetRenderTarget;
465 SDL_GetRenderVSync;
466 SDL_GetRenderViewport;
467 SDL_GetRenderWindow;
468 SDL_GetRenderer;
469 SDL_GetRendererFromTexture;
470 SDL_GetRendererName;
471 SDL_GetRendererProperties;
472 SDL_GetRevision;
473 SDL_GetSIMDAlignment;
474 SDL_GetScancodeFromKey;
475 SDL_GetScancodeFromName;
476 SDL_GetScancodeName;
477 SDL_GetSemaphoreValue;
478 SDL_GetSensorData;
479 SDL_GetSensorFromID;
480 SDL_GetSensorID;
481 SDL_GetSensorName;
482 SDL_GetSensorNameForID;
483 SDL_GetSensorNonPortableType;
484 SDL_GetSensorNonPortableTypeForID;
485 SDL_GetSensorProperties;
486 SDL_GetSensorType;
487 SDL_GetSensorTypeForID;
488 SDL_GetSensors;
489 SDL_GetSilenceValueForFormat;
490 SDL_GetStorageFileSize;
491 SDL_GetStoragePathInfo;
492 SDL_GetStorageSpaceRemaining;
493 SDL_GetStringProperty;
494 SDL_GetSurfaceAlphaMod;
495 SDL_GetSurfaceBlendMode;
496 SDL_GetSurfaceClipRect;
497 SDL_GetSurfaceColorKey;
498 SDL_GetSurfaceColorMod;
499 SDL_GetSurfaceColorspace;
500 SDL_GetSurfaceImages;
501 SDL_GetSurfacePalette;
502 SDL_GetSurfaceProperties;
503 SDL_GetSystemRAM;
504 SDL_GetSystemTheme;
505 SDL_GetTLS;
506 SDL_GetTextInputArea;
507 SDL_GetTextureAlphaMod;
508 SDL_GetTextureAlphaModFloat;
509 SDL_GetTextureBlendMode;
510 SDL_GetTextureColorMod;
511 SDL_GetTextureColorModFloat;
512 SDL_GetTextureProperties;
513 SDL_GetTextureScaleMode;
514 SDL_GetTextureSize;
515 SDL_GetThreadID;
516 SDL_GetThreadName;
517 SDL_GetTicks;
518 SDL_GetTicksNS;
519 SDL_GetTouchDeviceName;
520 SDL_GetTouchDeviceType;
521 SDL_GetTouchDevices;
522 SDL_GetTouchFingers;
523 SDL_GetUserFolder;
524 SDL_GetVersion;
525 SDL_GetVideoDriver;
526 SDL_GetWindowAspectRatio;
527 SDL_GetWindowBordersSize;
528 SDL_GetWindowDisplayScale;
529 SDL_GetWindowFlags;
530 SDL_GetWindowFromEvent;
531 SDL_GetWindowFromID;
532 SDL_GetWindowFullscreenMode;
533 SDL_GetWindowICCProfile;
534 SDL_GetWindowID;
535 SDL_GetWindowKeyboardGrab;
536 SDL_GetWindowMaximumSize;
537 SDL_GetWindowMinimumSize;
538 SDL_GetWindowMouseGrab;
539 SDL_GetWindowMouseRect;
540 SDL_GetWindowOpacity;
541 SDL_GetWindowParent;
542 SDL_GetWindowPixelDensity;
543 SDL_GetWindowPixelFormat;
544 SDL_GetWindowPosition;
545 SDL_GetWindowProperties;
546 SDL_GetWindowRelativeMouseMode;
547 SDL_GetWindowSafeArea;
548 SDL_GetWindowSize;
549 SDL_GetWindowSizeInPixels;
550 SDL_GetWindowSurface;
551 SDL_GetWindowSurfaceVSync;
552 SDL_GetWindowTitle;
553 SDL_GetWindows;
554 SDL_GlobDirectory;
555 SDL_GlobStorageDirectory;
556 SDL_HapticEffectSupported;
557 SDL_HapticRumbleSupported;
558 SDL_HasARMSIMD;
559 SDL_HasAVX2;
560 SDL_HasAVX512F;
561 SDL_HasAVX;
562 SDL_HasAltiVec;
563 SDL_HasClipboardData;
564 SDL_HasClipboardText;
565 SDL_HasEvent;
566 SDL_HasEvents;
567 SDL_HasGamepad;
568 SDL_HasJoystick;
569 SDL_HasKeyboard;
570 SDL_HasLASX;
571 SDL_HasLSX;
572 SDL_HasMMX;
573 SDL_HasMouse;
574 SDL_HasNEON;
575 SDL_HasPrimarySelectionText;
576 SDL_HasProperty;
577 SDL_HasRectIntersection;
578 SDL_HasRectIntersectionFloat;
579 SDL_HasSSE2;
580 SDL_HasSSE3;
581 SDL_HasSSE41;
582 SDL_HasSSE42;
583 SDL_HasSSE;
584 SDL_HasScreenKeyboardSupport;
585 SDL_HideCursor;
586 SDL_HideWindow;
587 SDL_IOFromConstMem;
588 SDL_IOFromDynamicMem;
589 SDL_IOFromFile;
590 SDL_IOFromMem;
591 SDL_IOprintf;
592 SDL_IOvprintf;
593 SDL_Init;
594 SDL_InitHapticRumble;
595 SDL_InitSubSystem;
596 SDL_InsertGPUDebugLabel;
597 SDL_IsChromebook;
598 SDL_IsDeXMode;
599 SDL_IsGamepad;
600 SDL_IsJoystickHaptic;
601 SDL_IsJoystickVirtual;
602 SDL_IsMouseHaptic;
603 SDL_IsTV;
604 SDL_IsTablet;
605 SDL_JoystickConnected;
606 SDL_JoystickEventsEnabled;
607 SDL_KillProcess;
608 SDL_LoadBMP;
609 SDL_LoadBMP_IO;
610 SDL_LoadFile;
611 SDL_LoadFile_IO;
612 SDL_LoadFunction;
613 SDL_LoadObject;
614 SDL_LoadWAV;
615 SDL_LoadWAV_IO;
616 SDL_LockAudioStream;
617 SDL_LockJoysticks;
618 SDL_LockMutex;
619 SDL_LockProperties;
620 SDL_LockRWLockForReading;
621 SDL_LockRWLockForWriting;
622 SDL_LockSpinlock;
623 SDL_LockSurface;
624 SDL_LockTexture;
625 SDL_LockTextureToSurface;
626 SDL_Log;
627 SDL_LogCritical;
628 SDL_LogDebug;
629 SDL_LogError;
630 SDL_LogInfo;
631 SDL_LogMessage;
632 SDL_LogMessageV;
633 SDL_LogTrace;
634 SDL_LogVerbose;
635 SDL_LogWarn;
636 SDL_MapGPUTransferBuffer;
637 SDL_MapRGB;
638 SDL_MapRGBA;
639 SDL_MapSurfaceRGB;
640 SDL_MapSurfaceRGBA;
641 SDL_MaximizeWindow;
642 SDL_MemoryBarrierAcquireFunction;
643 SDL_MemoryBarrierReleaseFunction;
644 SDL_Metal_CreateView;
645 SDL_Metal_DestroyView;
646 SDL_Metal_GetLayer;
647 SDL_MinimizeWindow;
648 SDL_MixAudio;
649 SDL_OnApplicationDidChangeStatusBarOrientation;
650 SDL_OnApplicationDidEnterBackground;
651 SDL_OnApplicationDidEnterForeground;
652 SDL_OnApplicationDidReceiveMemoryWarning;
653 SDL_OnApplicationWillEnterBackground;
654 SDL_OnApplicationWillEnterForeground;
655 SDL_OnApplicationWillTerminate;
656 SDL_OpenAudioDevice;
657 SDL_OpenAudioDeviceStream;
658 SDL_OpenCamera;
659 SDL_OpenFileStorage;
660 SDL_OpenGamepad;
661 SDL_OpenHaptic;
662 SDL_OpenHapticFromJoystick;
663 SDL_OpenHapticFromMouse;
664 SDL_OpenIO;
665 SDL_OpenJoystick;
666 SDL_OpenSensor;
667 SDL_OpenStorage;
668 SDL_OpenTitleStorage;
669 SDL_OpenURL;
670 SDL_OpenUserStorage;
671 SDL_OutOfMemory;
672 SDL_PauseAudioDevice;
673 SDL_PauseAudioStreamDevice;
674 SDL_PauseHaptic;
675 SDL_PeepEvents;
676 SDL_PlayHapticRumble;
677 SDL_PollEvent;
678 SDL_PopGPUDebugGroup;
679 SDL_PremultiplyAlpha;
680 SDL_PremultiplySurfaceAlpha;
681 SDL_PumpEvents;
682 SDL_PushEvent;
683 SDL_PushGPUComputeUniformData;
684 SDL_PushGPUDebugGroup;
685 SDL_PushGPUFragmentUniformData;
686 SDL_PushGPUVertexUniformData;
687 SDL_PutAudioStreamData;
688 SDL_QueryGPUFence;
689 SDL_Quit;
690 SDL_QuitSubSystem;
691 SDL_RaiseWindow;
692 SDL_ReadIO;
693 SDL_ReadProcess;
694 SDL_ReadS16BE;
695 SDL_ReadS16LE;
696 SDL_ReadS32BE;
697 SDL_ReadS32LE;
698 SDL_ReadS64BE;
699 SDL_ReadS64LE;
700 SDL_ReadS8;
701 SDL_ReadStorageFile;
702 SDL_ReadSurfacePixel;
703 SDL_ReadSurfacePixelFloat;
704 SDL_ReadU16BE;
705 SDL_ReadU16LE;
706 SDL_ReadU32BE;
707 SDL_ReadU32LE;
708 SDL_ReadU64BE;
709 SDL_ReadU64LE;
710 SDL_ReadU8;
711 SDL_RegisterApp;
712 SDL_RegisterEvents;
713 SDL_ReleaseCameraFrame;
714 SDL_ReleaseGPUBuffer;
715 SDL_ReleaseGPUComputePipeline;
716 SDL_ReleaseGPUFence;
717 SDL_ReleaseGPUGraphicsPipeline;
718 SDL_ReleaseGPUSampler;
719 SDL_ReleaseGPUShader;
720 SDL_ReleaseGPUTexture;
721 SDL_ReleaseGPUTransferBuffer;
722 SDL_ReleaseWindowFromGPUDevice;
723 SDL_ReloadGamepadMappings;
724 SDL_RemoveEventWatch;
725 SDL_RemoveHintCallback;
726 SDL_RemovePath;
727 SDL_RemoveStoragePath;
728 SDL_RemoveSurfaceAlternateImages;
729 SDL_RemoveTimer;
730 SDL_RenamePath;
731 SDL_RenameStoragePath;
732 SDL_RenderClear;
733 SDL_RenderClipEnabled;
734 SDL_RenderCoordinatesFromWindow;
735 SDL_RenderCoordinatesToWindow;
736 SDL_RenderFillRect;
737 SDL_RenderFillRects;
738 SDL_RenderGeometry;
739 SDL_RenderGeometryRaw;
740 SDL_RenderLine;
741 SDL_RenderLines;
742 SDL_RenderPoint;
743 SDL_RenderPoints;
744 SDL_RenderPresent;
745 SDL_RenderReadPixels;
746 SDL_RenderRect;
747 SDL_RenderRects;
748 SDL_RenderTexture9Grid;
749 SDL_RenderTexture;
750 SDL_RenderTextureRotated;
751 SDL_RenderTextureTiled;
752 SDL_RenderViewportSet;
753 SDL_ReportAssertion;
754 SDL_RequestAndroidPermission;
755 SDL_ResetAssertionReport;
756 SDL_ResetHint;
757 SDL_ResetHints;
758 SDL_ResetKeyboard;
759 SDL_ResetLogPriorities;
760 SDL_RestoreWindow;
761 SDL_ResumeAudioDevice;
762 SDL_ResumeAudioStreamDevice;
763 SDL_ResumeHaptic;
764 SDL_RumbleGamepad;
765 SDL_RumbleGamepadTriggers;
766 SDL_RumbleJoystick;
767 SDL_RumbleJoystickTriggers;
768 SDL_RunApp;
769 SDL_RunHapticEffect;
770 SDL_SaveBMP;
771 SDL_SaveBMP_IO;
772 SDL_ScaleSurface;
773 SDL_ScreenKeyboardShown;
774 SDL_ScreenSaverEnabled;
775 SDL_SeekIO;
776 SDL_SendAndroidBackButton;
777 SDL_SendAndroidMessage;
778 SDL_SendGamepadEffect;
779 SDL_SendJoystickEffect;
780 SDL_SendJoystickVirtualSensorData;
781 SDL_SetAppMetadata;
782 SDL_SetAppMetadataProperty;
783 SDL_SetAssertionHandler;
784 SDL_SetAtomicInt;
785 SDL_SetAtomicPointer;
786 SDL_SetAtomicU32;
787 SDL_SetAudioDeviceGain;
788 SDL_SetAudioPostmixCallback;
789 SDL_SetAudioStreamFormat;
790 SDL_SetAudioStreamFrequencyRatio;
791 SDL_SetAudioStreamGain;
792 SDL_SetAudioStreamGetCallback;
793 SDL_SetAudioStreamInputChannelMap;
794 SDL_SetAudioStreamOutputChannelMap;
795 SDL_SetAudioStreamPutCallback;
796 SDL_SetBooleanProperty;
797 SDL_SetClipboardData;
798 SDL_SetClipboardText;
799 SDL_SetCurrentThreadPriority;
800 SDL_SetCursor;
801 SDL_SetEnvironmentVariable;
802 SDL_SetError;
803 SDL_SetEventEnabled;
804 SDL_SetEventFilter;
805 SDL_SetFloatProperty;
806 SDL_SetGPUBlendConstants;
807 SDL_SetGPUBufferName;
808 SDL_SetGPUScissor;
809 SDL_SetGPUStencilReference;
810 SDL_SetGPUSwapchainParameters;
811 SDL_SetGPUTextureName;
812 SDL_SetGPUViewport;
813 SDL_SetGamepadEventsEnabled;
814 SDL_SetGamepadLED;
815 SDL_SetGamepadMapping;
816 SDL_SetGamepadPlayerIndex;
817 SDL_SetGamepadSensorEnabled;
818 SDL_SetHapticAutocenter;
819 SDL_SetHapticGain;
820 SDL_SetHint;
821 SDL_SetHintWithPriority;
822 SDL_SetInitialized;
823 SDL_SetJoystickEventsEnabled;
824 SDL_SetJoystickLED;
825 SDL_SetJoystickPlayerIndex;
826 SDL_SetJoystickVirtualAxis;
827 SDL_SetJoystickVirtualBall;
828 SDL_SetJoystickVirtualButton;
829 SDL_SetJoystickVirtualHat;
830 SDL_SetJoystickVirtualTouchpad;
831 SDL_SetLinuxThreadPriority;
832 SDL_SetLinuxThreadPriorityAndPolicy;
833 SDL_SetLogOutputFunction;
834 SDL_SetLogPriorities;
835 SDL_SetLogPriority;
836 SDL_SetLogPriorityPrefix;
837 SDL_SetMainReady;
838 SDL_SetMemoryFunctions;
839 SDL_SetModState;
840 SDL_SetNumberProperty;
841 SDL_SetPaletteColors;
842 SDL_SetPointerProperty;
843 SDL_SetPointerPropertyWithCleanup;
844 SDL_SetPrimarySelectionText;
845 SDL_SetRenderClipRect;
846 SDL_SetRenderColorScale;
847 SDL_SetRenderDrawBlendMode;
848 SDL_SetRenderDrawColor;
849 SDL_SetRenderDrawColorFloat;
850 SDL_SetRenderLogicalPresentation;
851 SDL_SetRenderScale;
852 SDL_SetRenderTarget;
853 SDL_SetRenderVSync;
854 SDL_SetRenderViewport;
855 SDL_SetScancodeName;
856 SDL_SetStringProperty;
857 SDL_SetSurfaceAlphaMod;
858 SDL_SetSurfaceBlendMode;
859 SDL_SetSurfaceClipRect;
860 SDL_SetSurfaceColorKey;
861 SDL_SetSurfaceColorMod;
862 SDL_SetSurfaceColorspace;
863 SDL_SetSurfacePalette;
864 SDL_SetSurfaceRLE;
865 SDL_SetTLS;
866 SDL_SetTextInputArea;
867 SDL_SetTextureAlphaMod;
868 SDL_SetTextureAlphaModFloat;
869 SDL_SetTextureBlendMode;
870 SDL_SetTextureColorMod;
871 SDL_SetTextureColorModFloat;
872 SDL_SetTextureScaleMode;
873 SDL_SetWindowAlwaysOnTop;
874 SDL_SetWindowAspectRatio;
875 SDL_SetWindowBordered;
876 SDL_SetWindowFocusable;
877 SDL_SetWindowFullscreen;
878 SDL_SetWindowFullscreenMode;
879 SDL_SetWindowHitTest;
880 SDL_SetWindowIcon;
881 SDL_SetWindowKeyboardGrab;
882 SDL_SetWindowMaximumSize;
883 SDL_SetWindowMinimumSize;
884 SDL_SetWindowModal;
885 SDL_SetWindowMouseGrab;
886 SDL_SetWindowMouseRect;
887 SDL_SetWindowOpacity;
888 SDL_SetWindowParent;
889 SDL_SetWindowPosition;
890 SDL_SetWindowRelativeMouseMode;
891 SDL_SetWindowResizable;
892 SDL_SetWindowShape;
893 SDL_SetWindowSize;
894 SDL_SetWindowSurfaceVSync;
895 SDL_SetWindowTitle;
896 SDL_SetWindowsMessageHook;
897 SDL_SetX11EventHook;
898 SDL_SetiOSAnimationCallback;
899 SDL_SetiOSEventPump;
900 SDL_ShouldInit;
901 SDL_ShouldQuit;
902 SDL_ShowAndroidToast;
903 SDL_ShowCursor;
904 SDL_ShowMessageBox;
905 SDL_ShowOpenFileDialog;
906 SDL_ShowOpenFolderDialog;
907 SDL_ShowSaveFileDialog;
908 SDL_ShowSimpleMessageBox;
909 SDL_ShowWindow;
910 SDL_ShowWindowSystemMenu;
911 SDL_SignalCondition;
912 SDL_SignalSemaphore;
913 SDL_StartTextInput;
914 SDL_StartTextInputWithProperties;
915 SDL_StepUTF8;
916 SDL_StopHapticEffect;
917 SDL_StopHapticEffects;
918 SDL_StopHapticRumble;
919 SDL_StopTextInput;
920 SDL_StorageReady;
921 SDL_StringToGUID;
922 SDL_SubmitGPUCommandBuffer;
923 SDL_SubmitGPUCommandBufferAndAcquireFence;
924 SDL_SurfaceHasAlternateImages;
925 SDL_SurfaceHasColorKey;
926 SDL_SurfaceHasRLE;
927 SDL_SyncWindow;
928 SDL_TellIO;
929 SDL_TextInputActive;
930 SDL_TimeFromWindows;
931 SDL_TimeToDateTime;
932 SDL_TimeToWindows;
933 SDL_TryLockMutex;
934 SDL_TryLockRWLockForReading;
935 SDL_TryLockRWLockForWriting;
936 SDL_TryLockSpinlock;
937 SDL_TryWaitSemaphore;
938 SDL_UCS4ToUTF8;
939 SDL_UnbindAudioStream;
940 SDL_UnbindAudioStreams;
941 SDL_UnloadObject;
942 SDL_UnlockAudioStream;
943 SDL_UnlockJoysticks;
944 SDL_UnlockMutex;
945 SDL_UnlockProperties;
946 SDL_UnlockRWLock;
947 SDL_UnlockSpinlock;
948 SDL_UnlockSurface;
949 SDL_UnlockTexture;
950 SDL_UnmapGPUTransferBuffer;
951 SDL_UnregisterApp;
952 SDL_UnsetEnvironmentVariable;
953 SDL_UpdateGamepads;
954 SDL_UpdateHapticEffect;
955 SDL_UpdateJoysticks;
956 SDL_UpdateNVTexture;
957 SDL_UpdateSensors;
958 SDL_UpdateTexture;
959 SDL_UpdateWindowSurface;
960 SDL_UpdateWindowSurfaceRects;
961 SDL_UpdateYUVTexture;
962 SDL_UploadToGPUBuffer;
963 SDL_UploadToGPUTexture;
964 SDL_Vulkan_CreateSurface;
965 SDL_Vulkan_DestroySurface;
966 SDL_Vulkan_GetInstanceExtensions;
967 SDL_Vulkan_GetPresentationSupport;
968 SDL_Vulkan_GetVkGetInstanceProcAddr;
969 SDL_Vulkan_LoadLibrary;
970 SDL_Vulkan_UnloadLibrary;
971 SDL_WaitCondition;
972 SDL_WaitConditionTimeout;
973 SDL_WaitEvent;
974 SDL_WaitEventTimeout;
975 SDL_WaitForGPUFences;
976 SDL_WaitForGPUIdle;
977 SDL_WaitProcess;
978 SDL_WaitSemaphore;
979 SDL_WaitSemaphoreTimeout;
980 SDL_WaitThread;
981 SDL_WarpMouseGlobal;
982 SDL_WarpMouseInWindow;
983 SDL_WasInit;
984 SDL_WindowHasSurface;
985 SDL_WindowSupportsGPUPresentMode;
986 SDL_WindowSupportsGPUSwapchainComposition;
987 SDL_WriteIO;
988 SDL_WriteS16BE;
989 SDL_WriteS16LE;
990 SDL_WriteS32BE;
991 SDL_WriteS32LE;
992 SDL_WriteS64BE;
993 SDL_WriteS64LE;
994 SDL_WriteS8;
995 SDL_WriteStorageFile;
996 SDL_WriteSurfacePixel;
997 SDL_WriteSurfacePixelFloat;
998 SDL_WriteU16BE;
999 SDL_WriteU16LE;
1000 SDL_WriteU32BE;
1001 SDL_WriteU32LE;
1002 SDL_WriteU64BE;
1003 SDL_WriteU64LE;
1004 SDL_WriteU8;
1005 SDL_abs;
1006 SDL_acos;
1007 SDL_acosf;
1008 SDL_aligned_alloc;
1009 SDL_aligned_free;
1010 SDL_asin;
1011 SDL_asinf;
1012 SDL_asprintf;
1013 SDL_atan2;
1014 SDL_atan2f;
1015 SDL_atan;
1016 SDL_atanf;
1017 SDL_atof;
1018 SDL_atoi;
1019 SDL_bsearch;
1020 SDL_bsearch_r;
1021 SDL_calloc;
1022 SDL_ceil;
1023 SDL_ceilf;
1024 SDL_copysign;
1025 SDL_copysignf;
1026 SDL_cos;
1027 SDL_cosf;
1028 SDL_crc16;
1029 SDL_crc32;
1030 SDL_exp;
1031 SDL_expf;
1032 SDL_fabs;
1033 SDL_fabsf;
1034 SDL_floor;
1035 SDL_floorf;
1036 SDL_fmod;
1037 SDL_fmodf;
1038 SDL_free;
1039 SDL_getenv;
1040 SDL_getenv_unsafe;
1041 SDL_hid_ble_scan;
1042 SDL_hid_close;
1043 SDL_hid_device_change_count;
1044 SDL_hid_enumerate;
1045 SDL_hid_exit;
1046 SDL_hid_free_enumeration;
1047 SDL_hid_get_device_info;
1048 SDL_hid_get_feature_report;
1049 SDL_hid_get_indexed_string;
1050 SDL_hid_get_input_report;
1051 SDL_hid_get_manufacturer_string;
1052 SDL_hid_get_product_string;
1053 SDL_hid_get_report_descriptor;
1054 SDL_hid_get_serial_number_string;
1055 SDL_hid_init;
1056 SDL_hid_open;
1057 SDL_hid_open_path;
1058 SDL_hid_read;
1059 SDL_hid_read_timeout;
1060 SDL_hid_send_feature_report;
1061 SDL_hid_set_nonblocking;
1062 SDL_hid_write;
1063 SDL_iconv;
1064 SDL_iconv_close;
1065 SDL_iconv_open;
1066 SDL_iconv_string;
1067 SDL_isalnum;
1068 SDL_isalpha;
1069 SDL_isblank;
1070 SDL_iscntrl;
1071 SDL_isdigit;
1072 SDL_isgraph;
1073 SDL_isinf;
1074 SDL_isinff;
1075 SDL_islower;
1076 SDL_isnan;
1077 SDL_isnanf;
1078 SDL_isprint;
1079 SDL_ispunct;
1080 SDL_isspace;
1081 SDL_isupper;
1082 SDL_isxdigit;
1083 SDL_itoa;
1084 SDL_lltoa;
1085 SDL_log10;
1086 SDL_log10f;
1087 SDL_log;
1088 SDL_logf;
1089 SDL_lround;
1090 SDL_lroundf;
1091 SDL_ltoa;
1092 SDL_malloc;
1093 SDL_memcmp;
1094 SDL_memcpy;
1095 SDL_memmove;
1096 SDL_memset4;
1097 SDL_memset;
1098 SDL_modf;
1099 SDL_modff;
1100 SDL_murmur3_32;
1101 SDL_pow;
1102 SDL_powf;
1103 SDL_qsort;
1104 SDL_qsort_r;
1105 SDL_rand;
1106 SDL_rand_bits;
1107 SDL_rand_bits_r;
1108 SDL_rand_r;
1109 SDL_randf;
1110 SDL_randf_r;
1111 SDL_realloc;
1112 SDL_round;
1113 SDL_roundf;
1114 SDL_scalbn;
1115 SDL_scalbnf;
1116 SDL_setenv_unsafe;
1117 SDL_sin;
1118 SDL_sinf;
1119 SDL_snprintf;
1120 SDL_sqrt;
1121 SDL_sqrtf;
1122 SDL_srand;
1123 SDL_sscanf;
1124 SDL_strcasecmp;
1125 SDL_strcasestr;
1126 SDL_strchr;
1127 SDL_strcmp;
1128 SDL_strdup;
1129 SDL_strlcat;
1130 SDL_strlcpy;
1131 SDL_strlen;
1132 SDL_strlwr;
1133 SDL_strncasecmp;
1134 SDL_strncmp;
1135 SDL_strndup;
1136 SDL_strnlen;
1137 SDL_strnstr;
1138 SDL_strpbrk;
1139 SDL_strrchr;
1140 SDL_strrev;
1141 SDL_strstr;
1142 SDL_strtod;
1143 SDL_strtok_r;
1144 SDL_strtol;
1145 SDL_strtoll;
1146 SDL_strtoul;
1147 SDL_strtoull;
1148 SDL_strupr;
1149 SDL_swprintf;
1150 SDL_tan;
1151 SDL_tanf;
1152 SDL_tolower;
1153 SDL_toupper;
1154 SDL_trunc;
1155 SDL_truncf;
1156 SDL_uitoa;
1157 SDL_ulltoa;
1158 SDL_ultoa;
1159 SDL_unsetenv_unsafe;
1160 SDL_utf8strlcpy;
1161 SDL_utf8strlen;
1162 SDL_utf8strnlen;
1163 SDL_vasprintf;
1164 SDL_vsnprintf;
1165 SDL_vsscanf;
1166 SDL_vswprintf;
1167 SDL_wcscasecmp;
1168 SDL_wcscmp;
1169 SDL_wcsdup;
1170 SDL_wcslcat;
1171 SDL_wcslcpy;
1172 SDL_wcslen;
1173 SDL_wcsncasecmp;
1174 SDL_wcsncmp;
1175 SDL_wcsnlen;
1176 SDL_wcsnstr;
1177 SDL_wcsstr;
1178 SDL_wcstol;
1179 SDL_StepBackUTF8;
1180 SDL_DelayPrecise;
1181 SDL_CalculateGPUTextureFormatSize;
1182 SDL_SetErrorV;
1183 SDL_GetDefaultLogOutputFunction;
1184 SDL_RenderDebugText;
1185 SDL_GetSandbox;
1186 SDL_CancelGPUCommandBuffer;
1187 SDL_SaveFile_IO;
1188 SDL_SaveFile;
1189 SDL_GetCurrentDirectory;
1190 SDL_IsAudioDevicePhysical;
1191 SDL_IsAudioDevicePlayback;
1192 SDL_AsyncIOFromFile;
1193 SDL_GetAsyncIOSize;
1194 SDL_ReadAsyncIO;
1195 SDL_WriteAsyncIO;
1196 SDL_CloseAsyncIO;
1197 SDL_CreateAsyncIOQueue;
1198 SDL_DestroyAsyncIOQueue;
1199 SDL_GetAsyncIOResult;
1200 SDL_WaitAsyncIOResult;
1201 SDL_SignalAsyncIOQueue;
1202 SDL_LoadFileAsync;
1203 SDL_ShowFileDialogWithProperties;
1204 SDL_IsMainThread;
1205 SDL_RunOnMainThread;
1206 SDL_SetGPUAllowedFramesInFlight;
1207 SDL_RenderTextureAffine;
1208 SDL_WaitForGPUSwapchain;
1209 SDL_WaitAndAcquireGPUSwapchainTexture;
1210 SDL_RenderDebugTextFormat;
1211 SDL_CreateTray;
1212 SDL_SetTrayIcon;
1213 SDL_SetTrayTooltip;
1214 SDL_CreateTrayMenu;
1215 SDL_CreateTraySubmenu;
1216 SDL_GetTrayMenu;
1217 SDL_GetTraySubmenu;
1218 SDL_GetTrayEntries;
1219 SDL_RemoveTrayEntry;
1220 SDL_InsertTrayEntryAt;
1221 SDL_SetTrayEntryLabel;
1222 SDL_GetTrayEntryLabel;
1223 SDL_SetTrayEntryChecked;
1224 SDL_GetTrayEntryChecked;
1225 SDL_SetTrayEntryEnabled;
1226 SDL_GetTrayEntryEnabled;
1227 SDL_SetTrayEntryCallback;
1228 SDL_DestroyTray;
1229 SDL_GetTrayEntryParent;
1230 SDL_GetTrayMenuParentEntry;
1231 SDL_GetTrayMenuParentTray;
1232 SDL_GetThreadState;
1233 SDL_AudioStreamDevicePaused;
1234 SDL_ClickTrayEntry;
1235 SDL_UpdateTrays;
1236 SDL_StretchSurface;
1237 # extra symbols go here (don't modify this line)
1238 local: *;
1239};
diff --git a/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_overrides.h b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_overrides.h
new file mode 100644
index 0000000..77fd553
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_overrides.h
@@ -0,0 +1,1261 @@
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
23// DO NOT EDIT THIS FILE BY HAND. It is autogenerated by gendynapi.py.
24
25#if !SDL_DYNAMIC_API
26#error You should not be here.
27#endif
28
29// New API symbols are added at the end
30#define SDL_AcquireCameraFrame SDL_AcquireCameraFrame_REAL
31#define SDL_AcquireGPUCommandBuffer SDL_AcquireGPUCommandBuffer_REAL
32#define SDL_AcquireGPUSwapchainTexture SDL_AcquireGPUSwapchainTexture_REAL
33#define SDL_AddAtomicInt SDL_AddAtomicInt_REAL
34#define SDL_AddEventWatch SDL_AddEventWatch_REAL
35#define SDL_AddGamepadMapping SDL_AddGamepadMapping_REAL
36#define SDL_AddGamepadMappingsFromFile SDL_AddGamepadMappingsFromFile_REAL
37#define SDL_AddGamepadMappingsFromIO SDL_AddGamepadMappingsFromIO_REAL
38#define SDL_AddHintCallback SDL_AddHintCallback_REAL
39#define SDL_AddSurfaceAlternateImage SDL_AddSurfaceAlternateImage_REAL
40#define SDL_AddTimer SDL_AddTimer_REAL
41#define SDL_AddTimerNS SDL_AddTimerNS_REAL
42#define SDL_AddVulkanRenderSemaphores SDL_AddVulkanRenderSemaphores_REAL
43#define SDL_AttachVirtualJoystick SDL_AttachVirtualJoystick_REAL
44#define SDL_AudioDevicePaused SDL_AudioDevicePaused_REAL
45#define SDL_BeginGPUComputePass SDL_BeginGPUComputePass_REAL
46#define SDL_BeginGPUCopyPass SDL_BeginGPUCopyPass_REAL
47#define SDL_BeginGPURenderPass SDL_BeginGPURenderPass_REAL
48#define SDL_BindAudioStream SDL_BindAudioStream_REAL
49#define SDL_BindAudioStreams SDL_BindAudioStreams_REAL
50#define SDL_BindGPUComputePipeline SDL_BindGPUComputePipeline_REAL
51#define SDL_BindGPUComputeSamplers SDL_BindGPUComputeSamplers_REAL
52#define SDL_BindGPUComputeStorageBuffers SDL_BindGPUComputeStorageBuffers_REAL
53#define SDL_BindGPUComputeStorageTextures SDL_BindGPUComputeStorageTextures_REAL
54#define SDL_BindGPUFragmentSamplers SDL_BindGPUFragmentSamplers_REAL
55#define SDL_BindGPUFragmentStorageBuffers SDL_BindGPUFragmentStorageBuffers_REAL
56#define SDL_BindGPUFragmentStorageTextures SDL_BindGPUFragmentStorageTextures_REAL
57#define SDL_BindGPUGraphicsPipeline SDL_BindGPUGraphicsPipeline_REAL
58#define SDL_BindGPUIndexBuffer SDL_BindGPUIndexBuffer_REAL
59#define SDL_BindGPUVertexBuffers SDL_BindGPUVertexBuffers_REAL
60#define SDL_BindGPUVertexSamplers SDL_BindGPUVertexSamplers_REAL
61#define SDL_BindGPUVertexStorageBuffers SDL_BindGPUVertexStorageBuffers_REAL
62#define SDL_BindGPUVertexStorageTextures SDL_BindGPUVertexStorageTextures_REAL
63#define SDL_BlitGPUTexture SDL_BlitGPUTexture_REAL
64#define SDL_BlitSurface SDL_BlitSurface_REAL
65#define SDL_BlitSurface9Grid SDL_BlitSurface9Grid_REAL
66#define SDL_BlitSurfaceScaled SDL_BlitSurfaceScaled_REAL
67#define SDL_BlitSurfaceTiled SDL_BlitSurfaceTiled_REAL
68#define SDL_BlitSurfaceTiledWithScale SDL_BlitSurfaceTiledWithScale_REAL
69#define SDL_BlitSurfaceUnchecked SDL_BlitSurfaceUnchecked_REAL
70#define SDL_BlitSurfaceUncheckedScaled SDL_BlitSurfaceUncheckedScaled_REAL
71#define SDL_BroadcastCondition SDL_BroadcastCondition_REAL
72#define SDL_CaptureMouse SDL_CaptureMouse_REAL
73#define SDL_ClaimWindowForGPUDevice SDL_ClaimWindowForGPUDevice_REAL
74#define SDL_CleanupTLS SDL_CleanupTLS_REAL
75#define SDL_ClearAudioStream SDL_ClearAudioStream_REAL
76#define SDL_ClearClipboardData SDL_ClearClipboardData_REAL
77#define SDL_ClearComposition SDL_ClearComposition_REAL
78#define SDL_ClearError SDL_ClearError_REAL
79#define SDL_ClearProperty SDL_ClearProperty_REAL
80#define SDL_ClearSurface SDL_ClearSurface_REAL
81#define SDL_CloseAudioDevice SDL_CloseAudioDevice_REAL
82#define SDL_CloseCamera SDL_CloseCamera_REAL
83#define SDL_CloseGamepad SDL_CloseGamepad_REAL
84#define SDL_CloseHaptic SDL_CloseHaptic_REAL
85#define SDL_CloseIO SDL_CloseIO_REAL
86#define SDL_CloseJoystick SDL_CloseJoystick_REAL
87#define SDL_CloseSensor SDL_CloseSensor_REAL
88#define SDL_CloseStorage SDL_CloseStorage_REAL
89#define SDL_CompareAndSwapAtomicInt SDL_CompareAndSwapAtomicInt_REAL
90#define SDL_CompareAndSwapAtomicPointer SDL_CompareAndSwapAtomicPointer_REAL
91#define SDL_CompareAndSwapAtomicU32 SDL_CompareAndSwapAtomicU32_REAL
92#define SDL_ComposeCustomBlendMode SDL_ComposeCustomBlendMode_REAL
93#define SDL_ConvertAudioSamples SDL_ConvertAudioSamples_REAL
94#define SDL_ConvertEventToRenderCoordinates SDL_ConvertEventToRenderCoordinates_REAL
95#define SDL_ConvertPixels SDL_ConvertPixels_REAL
96#define SDL_ConvertPixelsAndColorspace SDL_ConvertPixelsAndColorspace_REAL
97#define SDL_ConvertSurface SDL_ConvertSurface_REAL
98#define SDL_ConvertSurfaceAndColorspace SDL_ConvertSurfaceAndColorspace_REAL
99#define SDL_CopyFile SDL_CopyFile_REAL
100#define SDL_CopyGPUBufferToBuffer SDL_CopyGPUBufferToBuffer_REAL
101#define SDL_CopyGPUTextureToTexture SDL_CopyGPUTextureToTexture_REAL
102#define SDL_CopyProperties SDL_CopyProperties_REAL
103#define SDL_CopyStorageFile SDL_CopyStorageFile_REAL
104#define SDL_CreateAudioStream SDL_CreateAudioStream_REAL
105#define SDL_CreateColorCursor SDL_CreateColorCursor_REAL
106#define SDL_CreateCondition SDL_CreateCondition_REAL
107#define SDL_CreateCursor SDL_CreateCursor_REAL
108#define SDL_CreateDirectory SDL_CreateDirectory_REAL
109#define SDL_CreateEnvironment SDL_CreateEnvironment_REAL
110#define SDL_CreateGPUBuffer SDL_CreateGPUBuffer_REAL
111#define SDL_CreateGPUComputePipeline SDL_CreateGPUComputePipeline_REAL
112#define SDL_CreateGPUDevice SDL_CreateGPUDevice_REAL
113#define SDL_CreateGPUDeviceWithProperties SDL_CreateGPUDeviceWithProperties_REAL
114#define SDL_CreateGPUGraphicsPipeline SDL_CreateGPUGraphicsPipeline_REAL
115#define SDL_CreateGPUSampler SDL_CreateGPUSampler_REAL
116#define SDL_CreateGPUShader SDL_CreateGPUShader_REAL
117#define SDL_CreateGPUTexture SDL_CreateGPUTexture_REAL
118#define SDL_CreateGPUTransferBuffer SDL_CreateGPUTransferBuffer_REAL
119#define SDL_CreateHapticEffect SDL_CreateHapticEffect_REAL
120#define SDL_CreateMutex SDL_CreateMutex_REAL
121#define SDL_CreatePalette SDL_CreatePalette_REAL
122#define SDL_CreatePopupWindow SDL_CreatePopupWindow_REAL
123#define SDL_CreateProcess SDL_CreateProcess_REAL
124#define SDL_CreateProcessWithProperties SDL_CreateProcessWithProperties_REAL
125#define SDL_CreateProperties SDL_CreateProperties_REAL
126#define SDL_CreateRWLock SDL_CreateRWLock_REAL
127#define SDL_CreateRenderer SDL_CreateRenderer_REAL
128#define SDL_CreateRendererWithProperties SDL_CreateRendererWithProperties_REAL
129#define SDL_CreateSemaphore SDL_CreateSemaphore_REAL
130#define SDL_CreateSoftwareRenderer SDL_CreateSoftwareRenderer_REAL
131#define SDL_CreateStorageDirectory SDL_CreateStorageDirectory_REAL
132#define SDL_CreateSurface SDL_CreateSurface_REAL
133#define SDL_CreateSurfaceFrom SDL_CreateSurfaceFrom_REAL
134#define SDL_CreateSurfacePalette SDL_CreateSurfacePalette_REAL
135#define SDL_CreateSystemCursor SDL_CreateSystemCursor_REAL
136#define SDL_CreateTexture SDL_CreateTexture_REAL
137#define SDL_CreateTextureFromSurface SDL_CreateTextureFromSurface_REAL
138#define SDL_CreateTextureWithProperties SDL_CreateTextureWithProperties_REAL
139#define SDL_CreateThreadRuntime SDL_CreateThreadRuntime_REAL
140#define SDL_CreateThreadWithPropertiesRuntime SDL_CreateThreadWithPropertiesRuntime_REAL
141#define SDL_CreateWindow SDL_CreateWindow_REAL
142#define SDL_CreateWindowAndRenderer SDL_CreateWindowAndRenderer_REAL
143#define SDL_CreateWindowWithProperties SDL_CreateWindowWithProperties_REAL
144#define SDL_CursorVisible SDL_CursorVisible_REAL
145#define SDL_DateTimeToTime SDL_DateTimeToTime_REAL
146#define SDL_Delay SDL_Delay_REAL
147#define SDL_DelayNS SDL_DelayNS_REAL
148#define SDL_DestroyAudioStream SDL_DestroyAudioStream_REAL
149#define SDL_DestroyCondition SDL_DestroyCondition_REAL
150#define SDL_DestroyCursor SDL_DestroyCursor_REAL
151#define SDL_DestroyEnvironment SDL_DestroyEnvironment_REAL
152#define SDL_DestroyGPUDevice SDL_DestroyGPUDevice_REAL
153#define SDL_DestroyHapticEffect SDL_DestroyHapticEffect_REAL
154#define SDL_DestroyMutex SDL_DestroyMutex_REAL
155#define SDL_DestroyPalette SDL_DestroyPalette_REAL
156#define SDL_DestroyProcess SDL_DestroyProcess_REAL
157#define SDL_DestroyProperties SDL_DestroyProperties_REAL
158#define SDL_DestroyRWLock SDL_DestroyRWLock_REAL
159#define SDL_DestroyRenderer SDL_DestroyRenderer_REAL
160#define SDL_DestroySemaphore SDL_DestroySemaphore_REAL
161#define SDL_DestroySurface SDL_DestroySurface_REAL
162#define SDL_DestroyTexture SDL_DestroyTexture_REAL
163#define SDL_DestroyWindow SDL_DestroyWindow_REAL
164#define SDL_DestroyWindowSurface SDL_DestroyWindowSurface_REAL
165#define SDL_DetachThread SDL_DetachThread_REAL
166#define SDL_DetachVirtualJoystick SDL_DetachVirtualJoystick_REAL
167#define SDL_DisableScreenSaver SDL_DisableScreenSaver_REAL
168#define SDL_DispatchGPUCompute SDL_DispatchGPUCompute_REAL
169#define SDL_DispatchGPUComputeIndirect SDL_DispatchGPUComputeIndirect_REAL
170#define SDL_DownloadFromGPUBuffer SDL_DownloadFromGPUBuffer_REAL
171#define SDL_DownloadFromGPUTexture SDL_DownloadFromGPUTexture_REAL
172#define SDL_DrawGPUIndexedPrimitives SDL_DrawGPUIndexedPrimitives_REAL
173#define SDL_DrawGPUIndexedPrimitivesIndirect SDL_DrawGPUIndexedPrimitivesIndirect_REAL
174#define SDL_DrawGPUPrimitives SDL_DrawGPUPrimitives_REAL
175#define SDL_DrawGPUPrimitivesIndirect SDL_DrawGPUPrimitivesIndirect_REAL
176#define SDL_DuplicateSurface SDL_DuplicateSurface_REAL
177#define SDL_EGL_GetCurrentConfig SDL_EGL_GetCurrentConfig_REAL
178#define SDL_EGL_GetCurrentDisplay SDL_EGL_GetCurrentDisplay_REAL
179#define SDL_EGL_GetProcAddress SDL_EGL_GetProcAddress_REAL
180#define SDL_EGL_GetWindowSurface SDL_EGL_GetWindowSurface_REAL
181#define SDL_EGL_SetAttributeCallbacks SDL_EGL_SetAttributeCallbacks_REAL
182#define SDL_EnableScreenSaver SDL_EnableScreenSaver_REAL
183#define SDL_EndGPUComputePass SDL_EndGPUComputePass_REAL
184#define SDL_EndGPUCopyPass SDL_EndGPUCopyPass_REAL
185#define SDL_EndGPURenderPass SDL_EndGPURenderPass_REAL
186#define SDL_EnterAppMainCallbacks SDL_EnterAppMainCallbacks_REAL
187#define SDL_EnumerateDirectory SDL_EnumerateDirectory_REAL
188#define SDL_EnumerateProperties SDL_EnumerateProperties_REAL
189#define SDL_EnumerateStorageDirectory SDL_EnumerateStorageDirectory_REAL
190#define SDL_EventEnabled SDL_EventEnabled_REAL
191#define SDL_FillSurfaceRect SDL_FillSurfaceRect_REAL
192#define SDL_FillSurfaceRects SDL_FillSurfaceRects_REAL
193#define SDL_FilterEvents SDL_FilterEvents_REAL
194#define SDL_FlashWindow SDL_FlashWindow_REAL
195#define SDL_FlipSurface SDL_FlipSurface_REAL
196#define SDL_FlushAudioStream SDL_FlushAudioStream_REAL
197#define SDL_FlushEvent SDL_FlushEvent_REAL
198#define SDL_FlushEvents SDL_FlushEvents_REAL
199#define SDL_FlushIO SDL_FlushIO_REAL
200#define SDL_FlushRenderer SDL_FlushRenderer_REAL
201#define SDL_GDKResumeGPU SDL_GDKResumeGPU_REAL
202#define SDL_GDKSuspendComplete SDL_GDKSuspendComplete_REAL
203#define SDL_GDKSuspendGPU SDL_GDKSuspendGPU_REAL
204#define SDL_GL_CreateContext SDL_GL_CreateContext_REAL
205#define SDL_GL_DestroyContext SDL_GL_DestroyContext_REAL
206#define SDL_GL_ExtensionSupported SDL_GL_ExtensionSupported_REAL
207#define SDL_GL_GetAttribute SDL_GL_GetAttribute_REAL
208#define SDL_GL_GetCurrentContext SDL_GL_GetCurrentContext_REAL
209#define SDL_GL_GetCurrentWindow SDL_GL_GetCurrentWindow_REAL
210#define SDL_GL_GetProcAddress SDL_GL_GetProcAddress_REAL
211#define SDL_GL_GetSwapInterval SDL_GL_GetSwapInterval_REAL
212#define SDL_GL_LoadLibrary SDL_GL_LoadLibrary_REAL
213#define SDL_GL_MakeCurrent SDL_GL_MakeCurrent_REAL
214#define SDL_GL_ResetAttributes SDL_GL_ResetAttributes_REAL
215#define SDL_GL_SetAttribute SDL_GL_SetAttribute_REAL
216#define SDL_GL_SetSwapInterval SDL_GL_SetSwapInterval_REAL
217#define SDL_GL_SwapWindow SDL_GL_SwapWindow_REAL
218#define SDL_GL_UnloadLibrary SDL_GL_UnloadLibrary_REAL
219#define SDL_GPUSupportsProperties SDL_GPUSupportsProperties_REAL
220#define SDL_GPUSupportsShaderFormats SDL_GPUSupportsShaderFormats_REAL
221#define SDL_GPUTextureFormatTexelBlockSize SDL_GPUTextureFormatTexelBlockSize_REAL
222#define SDL_GPUTextureSupportsFormat SDL_GPUTextureSupportsFormat_REAL
223#define SDL_GPUTextureSupportsSampleCount SDL_GPUTextureSupportsSampleCount_REAL
224#define SDL_GUIDToString SDL_GUIDToString_REAL
225#define SDL_GamepadConnected SDL_GamepadConnected_REAL
226#define SDL_GamepadEventsEnabled SDL_GamepadEventsEnabled_REAL
227#define SDL_GamepadHasAxis SDL_GamepadHasAxis_REAL
228#define SDL_GamepadHasButton SDL_GamepadHasButton_REAL
229#define SDL_GamepadHasSensor SDL_GamepadHasSensor_REAL
230#define SDL_GamepadSensorEnabled SDL_GamepadSensorEnabled_REAL
231#define SDL_GenerateMipmapsForGPUTexture SDL_GenerateMipmapsForGPUTexture_REAL
232#define SDL_GetAndroidActivity SDL_GetAndroidActivity_REAL
233#define SDL_GetAndroidCachePath SDL_GetAndroidCachePath_REAL
234#define SDL_GetAndroidExternalStoragePath SDL_GetAndroidExternalStoragePath_REAL
235#define SDL_GetAndroidExternalStorageState SDL_GetAndroidExternalStorageState_REAL
236#define SDL_GetAndroidInternalStoragePath SDL_GetAndroidInternalStoragePath_REAL
237#define SDL_GetAndroidJNIEnv SDL_GetAndroidJNIEnv_REAL
238#define SDL_GetAndroidSDKVersion SDL_GetAndroidSDKVersion_REAL
239#define SDL_GetAppMetadataProperty SDL_GetAppMetadataProperty_REAL
240#define SDL_GetAssertionHandler SDL_GetAssertionHandler_REAL
241#define SDL_GetAssertionReport SDL_GetAssertionReport_REAL
242#define SDL_GetAtomicInt SDL_GetAtomicInt_REAL
243#define SDL_GetAtomicPointer SDL_GetAtomicPointer_REAL
244#define SDL_GetAtomicU32 SDL_GetAtomicU32_REAL
245#define SDL_GetAudioDeviceChannelMap SDL_GetAudioDeviceChannelMap_REAL
246#define SDL_GetAudioDeviceFormat SDL_GetAudioDeviceFormat_REAL
247#define SDL_GetAudioDeviceGain SDL_GetAudioDeviceGain_REAL
248#define SDL_GetAudioDeviceName SDL_GetAudioDeviceName_REAL
249#define SDL_GetAudioDriver SDL_GetAudioDriver_REAL
250#define SDL_GetAudioFormatName SDL_GetAudioFormatName_REAL
251#define SDL_GetAudioPlaybackDevices SDL_GetAudioPlaybackDevices_REAL
252#define SDL_GetAudioRecordingDevices SDL_GetAudioRecordingDevices_REAL
253#define SDL_GetAudioStreamAvailable SDL_GetAudioStreamAvailable_REAL
254#define SDL_GetAudioStreamData SDL_GetAudioStreamData_REAL
255#define SDL_GetAudioStreamDevice SDL_GetAudioStreamDevice_REAL
256#define SDL_GetAudioStreamFormat SDL_GetAudioStreamFormat_REAL
257#define SDL_GetAudioStreamFrequencyRatio SDL_GetAudioStreamFrequencyRatio_REAL
258#define SDL_GetAudioStreamGain SDL_GetAudioStreamGain_REAL
259#define SDL_GetAudioStreamInputChannelMap SDL_GetAudioStreamInputChannelMap_REAL
260#define SDL_GetAudioStreamOutputChannelMap SDL_GetAudioStreamOutputChannelMap_REAL
261#define SDL_GetAudioStreamProperties SDL_GetAudioStreamProperties_REAL
262#define SDL_GetAudioStreamQueued SDL_GetAudioStreamQueued_REAL
263#define SDL_GetBasePath SDL_GetBasePath_REAL
264#define SDL_GetBooleanProperty SDL_GetBooleanProperty_REAL
265#define SDL_GetCPUCacheLineSize SDL_GetCPUCacheLineSize_REAL
266#define SDL_GetCameraDriver SDL_GetCameraDriver_REAL
267#define SDL_GetCameraFormat SDL_GetCameraFormat_REAL
268#define SDL_GetCameraID SDL_GetCameraID_REAL
269#define SDL_GetCameraName SDL_GetCameraName_REAL
270#define SDL_GetCameraPermissionState SDL_GetCameraPermissionState_REAL
271#define SDL_GetCameraPosition SDL_GetCameraPosition_REAL
272#define SDL_GetCameraProperties SDL_GetCameraProperties_REAL
273#define SDL_GetCameraSupportedFormats SDL_GetCameraSupportedFormats_REAL
274#define SDL_GetCameras SDL_GetCameras_REAL
275#define SDL_GetClipboardData SDL_GetClipboardData_REAL
276#define SDL_GetClipboardMimeTypes SDL_GetClipboardMimeTypes_REAL
277#define SDL_GetClipboardText SDL_GetClipboardText_REAL
278#define SDL_GetClosestFullscreenDisplayMode SDL_GetClosestFullscreenDisplayMode_REAL
279#define SDL_GetCurrentAudioDriver SDL_GetCurrentAudioDriver_REAL
280#define SDL_GetCurrentCameraDriver SDL_GetCurrentCameraDriver_REAL
281#define SDL_GetCurrentDisplayMode SDL_GetCurrentDisplayMode_REAL
282#define SDL_GetCurrentDisplayOrientation SDL_GetCurrentDisplayOrientation_REAL
283#define SDL_GetCurrentRenderOutputSize SDL_GetCurrentRenderOutputSize_REAL
284#define SDL_GetCurrentThreadID SDL_GetCurrentThreadID_REAL
285#define SDL_GetCurrentTime SDL_GetCurrentTime_REAL
286#define SDL_GetCurrentVideoDriver SDL_GetCurrentVideoDriver_REAL
287#define SDL_GetCursor SDL_GetCursor_REAL
288#define SDL_GetDXGIOutputInfo SDL_GetDXGIOutputInfo_REAL
289#define SDL_GetDateTimeLocalePreferences SDL_GetDateTimeLocalePreferences_REAL
290#define SDL_GetDayOfWeek SDL_GetDayOfWeek_REAL
291#define SDL_GetDayOfYear SDL_GetDayOfYear_REAL
292#define SDL_GetDaysInMonth SDL_GetDaysInMonth_REAL
293#define SDL_GetDefaultAssertionHandler SDL_GetDefaultAssertionHandler_REAL
294#define SDL_GetDefaultCursor SDL_GetDefaultCursor_REAL
295#define SDL_GetDesktopDisplayMode SDL_GetDesktopDisplayMode_REAL
296#define SDL_GetDirect3D9AdapterIndex SDL_GetDirect3D9AdapterIndex_REAL
297#define SDL_GetDisplayBounds SDL_GetDisplayBounds_REAL
298#define SDL_GetDisplayContentScale SDL_GetDisplayContentScale_REAL
299#define SDL_GetDisplayForPoint SDL_GetDisplayForPoint_REAL
300#define SDL_GetDisplayForRect SDL_GetDisplayForRect_REAL
301#define SDL_GetDisplayForWindow SDL_GetDisplayForWindow_REAL
302#define SDL_GetDisplayName SDL_GetDisplayName_REAL
303#define SDL_GetDisplayProperties SDL_GetDisplayProperties_REAL
304#define SDL_GetDisplayUsableBounds SDL_GetDisplayUsableBounds_REAL
305#define SDL_GetDisplays SDL_GetDisplays_REAL
306#define SDL_GetEnvironment SDL_GetEnvironment_REAL
307#define SDL_GetEnvironmentVariable SDL_GetEnvironmentVariable_REAL
308#define SDL_GetEnvironmentVariables SDL_GetEnvironmentVariables_REAL
309#define SDL_GetError SDL_GetError_REAL
310#define SDL_GetEventFilter SDL_GetEventFilter_REAL
311#define SDL_GetFloatProperty SDL_GetFloatProperty_REAL
312#define SDL_GetFullscreenDisplayModes SDL_GetFullscreenDisplayModes_REAL
313#define SDL_GetGDKDefaultUser SDL_GetGDKDefaultUser_REAL
314#define SDL_GetGDKTaskQueue SDL_GetGDKTaskQueue_REAL
315#define SDL_GetGPUDeviceDriver SDL_GetGPUDeviceDriver_REAL
316#define SDL_GetGPUDriver SDL_GetGPUDriver_REAL
317#define SDL_GetGPUShaderFormats SDL_GetGPUShaderFormats_REAL
318#define SDL_GetGPUSwapchainTextureFormat SDL_GetGPUSwapchainTextureFormat_REAL
319#define SDL_GetGamepadAppleSFSymbolsNameForAxis SDL_GetGamepadAppleSFSymbolsNameForAxis_REAL
320#define SDL_GetGamepadAppleSFSymbolsNameForButton SDL_GetGamepadAppleSFSymbolsNameForButton_REAL
321#define SDL_GetGamepadAxis SDL_GetGamepadAxis_REAL
322#define SDL_GetGamepadAxisFromString SDL_GetGamepadAxisFromString_REAL
323#define SDL_GetGamepadBindings SDL_GetGamepadBindings_REAL
324#define SDL_GetGamepadButton SDL_GetGamepadButton_REAL
325#define SDL_GetGamepadButtonFromString SDL_GetGamepadButtonFromString_REAL
326#define SDL_GetGamepadButtonLabel SDL_GetGamepadButtonLabel_REAL
327#define SDL_GetGamepadButtonLabelForType SDL_GetGamepadButtonLabelForType_REAL
328#define SDL_GetGamepadConnectionState SDL_GetGamepadConnectionState_REAL
329#define SDL_GetGamepadFirmwareVersion SDL_GetGamepadFirmwareVersion_REAL
330#define SDL_GetGamepadFromID SDL_GetGamepadFromID_REAL
331#define SDL_GetGamepadFromPlayerIndex SDL_GetGamepadFromPlayerIndex_REAL
332#define SDL_GetGamepadGUIDForID SDL_GetGamepadGUIDForID_REAL
333#define SDL_GetGamepadID SDL_GetGamepadID_REAL
334#define SDL_GetGamepadJoystick SDL_GetGamepadJoystick_REAL
335#define SDL_GetGamepadMapping SDL_GetGamepadMapping_REAL
336#define SDL_GetGamepadMappingForGUID SDL_GetGamepadMappingForGUID_REAL
337#define SDL_GetGamepadMappingForID SDL_GetGamepadMappingForID_REAL
338#define SDL_GetGamepadMappings SDL_GetGamepadMappings_REAL
339#define SDL_GetGamepadName SDL_GetGamepadName_REAL
340#define SDL_GetGamepadNameForID SDL_GetGamepadNameForID_REAL
341#define SDL_GetGamepadPath SDL_GetGamepadPath_REAL
342#define SDL_GetGamepadPathForID SDL_GetGamepadPathForID_REAL
343#define SDL_GetGamepadPlayerIndex SDL_GetGamepadPlayerIndex_REAL
344#define SDL_GetGamepadPlayerIndexForID SDL_GetGamepadPlayerIndexForID_REAL
345#define SDL_GetGamepadPowerInfo SDL_GetGamepadPowerInfo_REAL
346#define SDL_GetGamepadProduct SDL_GetGamepadProduct_REAL
347#define SDL_GetGamepadProductForID SDL_GetGamepadProductForID_REAL
348#define SDL_GetGamepadProductVersion SDL_GetGamepadProductVersion_REAL
349#define SDL_GetGamepadProductVersionForID SDL_GetGamepadProductVersionForID_REAL
350#define SDL_GetGamepadProperties SDL_GetGamepadProperties_REAL
351#define SDL_GetGamepadSensorData SDL_GetGamepadSensorData_REAL
352#define SDL_GetGamepadSensorDataRate SDL_GetGamepadSensorDataRate_REAL
353#define SDL_GetGamepadSerial SDL_GetGamepadSerial_REAL
354#define SDL_GetGamepadSteamHandle SDL_GetGamepadSteamHandle_REAL
355#define SDL_GetGamepadStringForAxis SDL_GetGamepadStringForAxis_REAL
356#define SDL_GetGamepadStringForButton SDL_GetGamepadStringForButton_REAL
357#define SDL_GetGamepadStringForType SDL_GetGamepadStringForType_REAL
358#define SDL_GetGamepadTouchpadFinger SDL_GetGamepadTouchpadFinger_REAL
359#define SDL_GetGamepadType SDL_GetGamepadType_REAL
360#define SDL_GetGamepadTypeForID SDL_GetGamepadTypeForID_REAL
361#define SDL_GetGamepadTypeFromString SDL_GetGamepadTypeFromString_REAL
362#define SDL_GetGamepadVendor SDL_GetGamepadVendor_REAL
363#define SDL_GetGamepadVendorForID SDL_GetGamepadVendorForID_REAL
364#define SDL_GetGamepads SDL_GetGamepads_REAL
365#define SDL_GetGlobalMouseState SDL_GetGlobalMouseState_REAL
366#define SDL_GetGlobalProperties SDL_GetGlobalProperties_REAL
367#define SDL_GetGrabbedWindow SDL_GetGrabbedWindow_REAL
368#define SDL_GetHapticEffectStatus SDL_GetHapticEffectStatus_REAL
369#define SDL_GetHapticFeatures SDL_GetHapticFeatures_REAL
370#define SDL_GetHapticFromID SDL_GetHapticFromID_REAL
371#define SDL_GetHapticID SDL_GetHapticID_REAL
372#define SDL_GetHapticName SDL_GetHapticName_REAL
373#define SDL_GetHapticNameForID SDL_GetHapticNameForID_REAL
374#define SDL_GetHaptics SDL_GetHaptics_REAL
375#define SDL_GetHint SDL_GetHint_REAL
376#define SDL_GetHintBoolean SDL_GetHintBoolean_REAL
377#define SDL_GetIOProperties SDL_GetIOProperties_REAL
378#define SDL_GetIOSize SDL_GetIOSize_REAL
379#define SDL_GetIOStatus SDL_GetIOStatus_REAL
380#define SDL_GetJoystickAxis SDL_GetJoystickAxis_REAL
381#define SDL_GetJoystickAxisInitialState SDL_GetJoystickAxisInitialState_REAL
382#define SDL_GetJoystickBall SDL_GetJoystickBall_REAL
383#define SDL_GetJoystickButton SDL_GetJoystickButton_REAL
384#define SDL_GetJoystickConnectionState SDL_GetJoystickConnectionState_REAL
385#define SDL_GetJoystickFirmwareVersion SDL_GetJoystickFirmwareVersion_REAL
386#define SDL_GetJoystickFromID SDL_GetJoystickFromID_REAL
387#define SDL_GetJoystickFromPlayerIndex SDL_GetJoystickFromPlayerIndex_REAL
388#define SDL_GetJoystickGUID SDL_GetJoystickGUID_REAL
389#define SDL_GetJoystickGUIDForID SDL_GetJoystickGUIDForID_REAL
390#define SDL_GetJoystickGUIDInfo SDL_GetJoystickGUIDInfo_REAL
391#define SDL_GetJoystickHat SDL_GetJoystickHat_REAL
392#define SDL_GetJoystickID SDL_GetJoystickID_REAL
393#define SDL_GetJoystickName SDL_GetJoystickName_REAL
394#define SDL_GetJoystickNameForID SDL_GetJoystickNameForID_REAL
395#define SDL_GetJoystickPath SDL_GetJoystickPath_REAL
396#define SDL_GetJoystickPathForID SDL_GetJoystickPathForID_REAL
397#define SDL_GetJoystickPlayerIndex SDL_GetJoystickPlayerIndex_REAL
398#define SDL_GetJoystickPlayerIndexForID SDL_GetJoystickPlayerIndexForID_REAL
399#define SDL_GetJoystickPowerInfo SDL_GetJoystickPowerInfo_REAL
400#define SDL_GetJoystickProduct SDL_GetJoystickProduct_REAL
401#define SDL_GetJoystickProductForID SDL_GetJoystickProductForID_REAL
402#define SDL_GetJoystickProductVersion SDL_GetJoystickProductVersion_REAL
403#define SDL_GetJoystickProductVersionForID SDL_GetJoystickProductVersionForID_REAL
404#define SDL_GetJoystickProperties SDL_GetJoystickProperties_REAL
405#define SDL_GetJoystickSerial SDL_GetJoystickSerial_REAL
406#define SDL_GetJoystickType SDL_GetJoystickType_REAL
407#define SDL_GetJoystickTypeForID SDL_GetJoystickTypeForID_REAL
408#define SDL_GetJoystickVendor SDL_GetJoystickVendor_REAL
409#define SDL_GetJoystickVendorForID SDL_GetJoystickVendorForID_REAL
410#define SDL_GetJoysticks SDL_GetJoysticks_REAL
411#define SDL_GetKeyFromName SDL_GetKeyFromName_REAL
412#define SDL_GetKeyFromScancode SDL_GetKeyFromScancode_REAL
413#define SDL_GetKeyName SDL_GetKeyName_REAL
414#define SDL_GetKeyboardFocus SDL_GetKeyboardFocus_REAL
415#define SDL_GetKeyboardNameForID SDL_GetKeyboardNameForID_REAL
416#define SDL_GetKeyboardState SDL_GetKeyboardState_REAL
417#define SDL_GetKeyboards SDL_GetKeyboards_REAL
418#define SDL_GetLogOutputFunction SDL_GetLogOutputFunction_REAL
419#define SDL_GetLogPriority SDL_GetLogPriority_REAL
420#define SDL_GetMasksForPixelFormat SDL_GetMasksForPixelFormat_REAL
421#define SDL_GetMaxHapticEffects SDL_GetMaxHapticEffects_REAL
422#define SDL_GetMaxHapticEffectsPlaying SDL_GetMaxHapticEffectsPlaying_REAL
423#define SDL_GetMemoryFunctions SDL_GetMemoryFunctions_REAL
424#define SDL_GetMice SDL_GetMice_REAL
425#define SDL_GetModState SDL_GetModState_REAL
426#define SDL_GetMouseFocus SDL_GetMouseFocus_REAL
427#define SDL_GetMouseNameForID SDL_GetMouseNameForID_REAL
428#define SDL_GetMouseState SDL_GetMouseState_REAL
429#define SDL_GetNaturalDisplayOrientation SDL_GetNaturalDisplayOrientation_REAL
430#define SDL_GetNumAllocations SDL_GetNumAllocations_REAL
431#define SDL_GetNumAudioDrivers SDL_GetNumAudioDrivers_REAL
432#define SDL_GetNumCameraDrivers SDL_GetNumCameraDrivers_REAL
433#define SDL_GetNumGPUDrivers SDL_GetNumGPUDrivers_REAL
434#define SDL_GetNumGamepadTouchpadFingers SDL_GetNumGamepadTouchpadFingers_REAL
435#define SDL_GetNumGamepadTouchpads SDL_GetNumGamepadTouchpads_REAL
436#define SDL_GetNumHapticAxes SDL_GetNumHapticAxes_REAL
437#define SDL_GetNumJoystickAxes SDL_GetNumJoystickAxes_REAL
438#define SDL_GetNumJoystickBalls SDL_GetNumJoystickBalls_REAL
439#define SDL_GetNumJoystickButtons SDL_GetNumJoystickButtons_REAL
440#define SDL_GetNumJoystickHats SDL_GetNumJoystickHats_REAL
441#define SDL_GetNumLogicalCPUCores SDL_GetNumLogicalCPUCores_REAL
442#define SDL_GetNumRenderDrivers SDL_GetNumRenderDrivers_REAL
443#define SDL_GetNumVideoDrivers SDL_GetNumVideoDrivers_REAL
444#define SDL_GetNumberProperty SDL_GetNumberProperty_REAL
445#define SDL_GetOriginalMemoryFunctions SDL_GetOriginalMemoryFunctions_REAL
446#define SDL_GetPathInfo SDL_GetPathInfo_REAL
447#define SDL_GetPerformanceCounter SDL_GetPerformanceCounter_REAL
448#define SDL_GetPerformanceFrequency SDL_GetPerformanceFrequency_REAL
449#define SDL_GetPixelFormatDetails SDL_GetPixelFormatDetails_REAL
450#define SDL_GetPixelFormatForMasks SDL_GetPixelFormatForMasks_REAL
451#define SDL_GetPixelFormatName SDL_GetPixelFormatName_REAL
452#define SDL_GetPlatform SDL_GetPlatform_REAL
453#define SDL_GetPointerProperty SDL_GetPointerProperty_REAL
454#define SDL_GetPowerInfo SDL_GetPowerInfo_REAL
455#define SDL_GetPrefPath SDL_GetPrefPath_REAL
456#define SDL_GetPreferredLocales SDL_GetPreferredLocales_REAL
457#define SDL_GetPrimaryDisplay SDL_GetPrimaryDisplay_REAL
458#define SDL_GetPrimarySelectionText SDL_GetPrimarySelectionText_REAL
459#define SDL_GetProcessInput SDL_GetProcessInput_REAL
460#define SDL_GetProcessOutput SDL_GetProcessOutput_REAL
461#define SDL_GetProcessProperties SDL_GetProcessProperties_REAL
462#define SDL_GetPropertyType SDL_GetPropertyType_REAL
463#define SDL_GetRGB SDL_GetRGB_REAL
464#define SDL_GetRGBA SDL_GetRGBA_REAL
465#define SDL_GetRealGamepadType SDL_GetRealGamepadType_REAL
466#define SDL_GetRealGamepadTypeForID SDL_GetRealGamepadTypeForID_REAL
467#define SDL_GetRectAndLineIntersection SDL_GetRectAndLineIntersection_REAL
468#define SDL_GetRectAndLineIntersectionFloat SDL_GetRectAndLineIntersectionFloat_REAL
469#define SDL_GetRectEnclosingPoints SDL_GetRectEnclosingPoints_REAL
470#define SDL_GetRectEnclosingPointsFloat SDL_GetRectEnclosingPointsFloat_REAL
471#define SDL_GetRectIntersection SDL_GetRectIntersection_REAL
472#define SDL_GetRectIntersectionFloat SDL_GetRectIntersectionFloat_REAL
473#define SDL_GetRectUnion SDL_GetRectUnion_REAL
474#define SDL_GetRectUnionFloat SDL_GetRectUnionFloat_REAL
475#define SDL_GetRelativeMouseState SDL_GetRelativeMouseState_REAL
476#define SDL_GetRenderClipRect SDL_GetRenderClipRect_REAL
477#define SDL_GetRenderColorScale SDL_GetRenderColorScale_REAL
478#define SDL_GetRenderDrawBlendMode SDL_GetRenderDrawBlendMode_REAL
479#define SDL_GetRenderDrawColor SDL_GetRenderDrawColor_REAL
480#define SDL_GetRenderDrawColorFloat SDL_GetRenderDrawColorFloat_REAL
481#define SDL_GetRenderDriver SDL_GetRenderDriver_REAL
482#define SDL_GetRenderLogicalPresentation SDL_GetRenderLogicalPresentation_REAL
483#define SDL_GetRenderLogicalPresentationRect SDL_GetRenderLogicalPresentationRect_REAL
484#define SDL_GetRenderMetalCommandEncoder SDL_GetRenderMetalCommandEncoder_REAL
485#define SDL_GetRenderMetalLayer SDL_GetRenderMetalLayer_REAL
486#define SDL_GetRenderOutputSize SDL_GetRenderOutputSize_REAL
487#define SDL_GetRenderSafeArea SDL_GetRenderSafeArea_REAL
488#define SDL_GetRenderScale SDL_GetRenderScale_REAL
489#define SDL_GetRenderTarget SDL_GetRenderTarget_REAL
490#define SDL_GetRenderVSync SDL_GetRenderVSync_REAL
491#define SDL_GetRenderViewport SDL_GetRenderViewport_REAL
492#define SDL_GetRenderWindow SDL_GetRenderWindow_REAL
493#define SDL_GetRenderer SDL_GetRenderer_REAL
494#define SDL_GetRendererFromTexture SDL_GetRendererFromTexture_REAL
495#define SDL_GetRendererName SDL_GetRendererName_REAL
496#define SDL_GetRendererProperties SDL_GetRendererProperties_REAL
497#define SDL_GetRevision SDL_GetRevision_REAL
498#define SDL_GetSIMDAlignment SDL_GetSIMDAlignment_REAL
499#define SDL_GetScancodeFromKey SDL_GetScancodeFromKey_REAL
500#define SDL_GetScancodeFromName SDL_GetScancodeFromName_REAL
501#define SDL_GetScancodeName SDL_GetScancodeName_REAL
502#define SDL_GetSemaphoreValue SDL_GetSemaphoreValue_REAL
503#define SDL_GetSensorData SDL_GetSensorData_REAL
504#define SDL_GetSensorFromID SDL_GetSensorFromID_REAL
505#define SDL_GetSensorID SDL_GetSensorID_REAL
506#define SDL_GetSensorName SDL_GetSensorName_REAL
507#define SDL_GetSensorNameForID SDL_GetSensorNameForID_REAL
508#define SDL_GetSensorNonPortableType SDL_GetSensorNonPortableType_REAL
509#define SDL_GetSensorNonPortableTypeForID SDL_GetSensorNonPortableTypeForID_REAL
510#define SDL_GetSensorProperties SDL_GetSensorProperties_REAL
511#define SDL_GetSensorType SDL_GetSensorType_REAL
512#define SDL_GetSensorTypeForID SDL_GetSensorTypeForID_REAL
513#define SDL_GetSensors SDL_GetSensors_REAL
514#define SDL_GetSilenceValueForFormat SDL_GetSilenceValueForFormat_REAL
515#define SDL_GetStorageFileSize SDL_GetStorageFileSize_REAL
516#define SDL_GetStoragePathInfo SDL_GetStoragePathInfo_REAL
517#define SDL_GetStorageSpaceRemaining SDL_GetStorageSpaceRemaining_REAL
518#define SDL_GetStringProperty SDL_GetStringProperty_REAL
519#define SDL_GetSurfaceAlphaMod SDL_GetSurfaceAlphaMod_REAL
520#define SDL_GetSurfaceBlendMode SDL_GetSurfaceBlendMode_REAL
521#define SDL_GetSurfaceClipRect SDL_GetSurfaceClipRect_REAL
522#define SDL_GetSurfaceColorKey SDL_GetSurfaceColorKey_REAL
523#define SDL_GetSurfaceColorMod SDL_GetSurfaceColorMod_REAL
524#define SDL_GetSurfaceColorspace SDL_GetSurfaceColorspace_REAL
525#define SDL_GetSurfaceImages SDL_GetSurfaceImages_REAL
526#define SDL_GetSurfacePalette SDL_GetSurfacePalette_REAL
527#define SDL_GetSurfaceProperties SDL_GetSurfaceProperties_REAL
528#define SDL_GetSystemRAM SDL_GetSystemRAM_REAL
529#define SDL_GetSystemTheme SDL_GetSystemTheme_REAL
530#define SDL_GetTLS SDL_GetTLS_REAL
531#define SDL_GetTextInputArea SDL_GetTextInputArea_REAL
532#define SDL_GetTextureAlphaMod SDL_GetTextureAlphaMod_REAL
533#define SDL_GetTextureAlphaModFloat SDL_GetTextureAlphaModFloat_REAL
534#define SDL_GetTextureBlendMode SDL_GetTextureBlendMode_REAL
535#define SDL_GetTextureColorMod SDL_GetTextureColorMod_REAL
536#define SDL_GetTextureColorModFloat SDL_GetTextureColorModFloat_REAL
537#define SDL_GetTextureProperties SDL_GetTextureProperties_REAL
538#define SDL_GetTextureScaleMode SDL_GetTextureScaleMode_REAL
539#define SDL_GetTextureSize SDL_GetTextureSize_REAL
540#define SDL_GetThreadID SDL_GetThreadID_REAL
541#define SDL_GetThreadName SDL_GetThreadName_REAL
542#define SDL_GetTicks SDL_GetTicks_REAL
543#define SDL_GetTicksNS SDL_GetTicksNS_REAL
544#define SDL_GetTouchDeviceName SDL_GetTouchDeviceName_REAL
545#define SDL_GetTouchDeviceType SDL_GetTouchDeviceType_REAL
546#define SDL_GetTouchDevices SDL_GetTouchDevices_REAL
547#define SDL_GetTouchFingers SDL_GetTouchFingers_REAL
548#define SDL_GetUserFolder SDL_GetUserFolder_REAL
549#define SDL_GetVersion SDL_GetVersion_REAL
550#define SDL_GetVideoDriver SDL_GetVideoDriver_REAL
551#define SDL_GetWindowAspectRatio SDL_GetWindowAspectRatio_REAL
552#define SDL_GetWindowBordersSize SDL_GetWindowBordersSize_REAL
553#define SDL_GetWindowDisplayScale SDL_GetWindowDisplayScale_REAL
554#define SDL_GetWindowFlags SDL_GetWindowFlags_REAL
555#define SDL_GetWindowFromEvent SDL_GetWindowFromEvent_REAL
556#define SDL_GetWindowFromID SDL_GetWindowFromID_REAL
557#define SDL_GetWindowFullscreenMode SDL_GetWindowFullscreenMode_REAL
558#define SDL_GetWindowICCProfile SDL_GetWindowICCProfile_REAL
559#define SDL_GetWindowID SDL_GetWindowID_REAL
560#define SDL_GetWindowKeyboardGrab SDL_GetWindowKeyboardGrab_REAL
561#define SDL_GetWindowMaximumSize SDL_GetWindowMaximumSize_REAL
562#define SDL_GetWindowMinimumSize SDL_GetWindowMinimumSize_REAL
563#define SDL_GetWindowMouseGrab SDL_GetWindowMouseGrab_REAL
564#define SDL_GetWindowMouseRect SDL_GetWindowMouseRect_REAL
565#define SDL_GetWindowOpacity SDL_GetWindowOpacity_REAL
566#define SDL_GetWindowParent SDL_GetWindowParent_REAL
567#define SDL_GetWindowPixelDensity SDL_GetWindowPixelDensity_REAL
568#define SDL_GetWindowPixelFormat SDL_GetWindowPixelFormat_REAL
569#define SDL_GetWindowPosition SDL_GetWindowPosition_REAL
570#define SDL_GetWindowProperties SDL_GetWindowProperties_REAL
571#define SDL_GetWindowRelativeMouseMode SDL_GetWindowRelativeMouseMode_REAL
572#define SDL_GetWindowSafeArea SDL_GetWindowSafeArea_REAL
573#define SDL_GetWindowSize SDL_GetWindowSize_REAL
574#define SDL_GetWindowSizeInPixels SDL_GetWindowSizeInPixels_REAL
575#define SDL_GetWindowSurface SDL_GetWindowSurface_REAL
576#define SDL_GetWindowSurfaceVSync SDL_GetWindowSurfaceVSync_REAL
577#define SDL_GetWindowTitle SDL_GetWindowTitle_REAL
578#define SDL_GetWindows SDL_GetWindows_REAL
579#define SDL_GlobDirectory SDL_GlobDirectory_REAL
580#define SDL_GlobStorageDirectory SDL_GlobStorageDirectory_REAL
581#define SDL_HapticEffectSupported SDL_HapticEffectSupported_REAL
582#define SDL_HapticRumbleSupported SDL_HapticRumbleSupported_REAL
583#define SDL_HasARMSIMD SDL_HasARMSIMD_REAL
584#define SDL_HasAVX SDL_HasAVX_REAL
585#define SDL_HasAVX2 SDL_HasAVX2_REAL
586#define SDL_HasAVX512F SDL_HasAVX512F_REAL
587#define SDL_HasAltiVec SDL_HasAltiVec_REAL
588#define SDL_HasClipboardData SDL_HasClipboardData_REAL
589#define SDL_HasClipboardText SDL_HasClipboardText_REAL
590#define SDL_HasEvent SDL_HasEvent_REAL
591#define SDL_HasEvents SDL_HasEvents_REAL
592#define SDL_HasGamepad SDL_HasGamepad_REAL
593#define SDL_HasJoystick SDL_HasJoystick_REAL
594#define SDL_HasKeyboard SDL_HasKeyboard_REAL
595#define SDL_HasLASX SDL_HasLASX_REAL
596#define SDL_HasLSX SDL_HasLSX_REAL
597#define SDL_HasMMX SDL_HasMMX_REAL
598#define SDL_HasMouse SDL_HasMouse_REAL
599#define SDL_HasNEON SDL_HasNEON_REAL
600#define SDL_HasPrimarySelectionText SDL_HasPrimarySelectionText_REAL
601#define SDL_HasProperty SDL_HasProperty_REAL
602#define SDL_HasRectIntersection SDL_HasRectIntersection_REAL
603#define SDL_HasRectIntersectionFloat SDL_HasRectIntersectionFloat_REAL
604#define SDL_HasSSE SDL_HasSSE_REAL
605#define SDL_HasSSE2 SDL_HasSSE2_REAL
606#define SDL_HasSSE3 SDL_HasSSE3_REAL
607#define SDL_HasSSE41 SDL_HasSSE41_REAL
608#define SDL_HasSSE42 SDL_HasSSE42_REAL
609#define SDL_HasScreenKeyboardSupport SDL_HasScreenKeyboardSupport_REAL
610#define SDL_HideCursor SDL_HideCursor_REAL
611#define SDL_HideWindow SDL_HideWindow_REAL
612#define SDL_IOFromConstMem SDL_IOFromConstMem_REAL
613#define SDL_IOFromDynamicMem SDL_IOFromDynamicMem_REAL
614#define SDL_IOFromFile SDL_IOFromFile_REAL
615#define SDL_IOFromMem SDL_IOFromMem_REAL
616#define SDL_IOprintf SDL_IOprintf_REAL
617#define SDL_IOvprintf SDL_IOvprintf_REAL
618#define SDL_Init SDL_Init_REAL
619#define SDL_InitHapticRumble SDL_InitHapticRumble_REAL
620#define SDL_InitSubSystem SDL_InitSubSystem_REAL
621#define SDL_InsertGPUDebugLabel SDL_InsertGPUDebugLabel_REAL
622#define SDL_IsChromebook SDL_IsChromebook_REAL
623#define SDL_IsDeXMode SDL_IsDeXMode_REAL
624#define SDL_IsGamepad SDL_IsGamepad_REAL
625#define SDL_IsJoystickHaptic SDL_IsJoystickHaptic_REAL
626#define SDL_IsJoystickVirtual SDL_IsJoystickVirtual_REAL
627#define SDL_IsMouseHaptic SDL_IsMouseHaptic_REAL
628#define SDL_IsTV SDL_IsTV_REAL
629#define SDL_IsTablet SDL_IsTablet_REAL
630#define SDL_JoystickConnected SDL_JoystickConnected_REAL
631#define SDL_JoystickEventsEnabled SDL_JoystickEventsEnabled_REAL
632#define SDL_KillProcess SDL_KillProcess_REAL
633#define SDL_LoadBMP SDL_LoadBMP_REAL
634#define SDL_LoadBMP_IO SDL_LoadBMP_IO_REAL
635#define SDL_LoadFile SDL_LoadFile_REAL
636#define SDL_LoadFile_IO SDL_LoadFile_IO_REAL
637#define SDL_LoadFunction SDL_LoadFunction_REAL
638#define SDL_LoadObject SDL_LoadObject_REAL
639#define SDL_LoadWAV SDL_LoadWAV_REAL
640#define SDL_LoadWAV_IO SDL_LoadWAV_IO_REAL
641#define SDL_LockAudioStream SDL_LockAudioStream_REAL
642#define SDL_LockJoysticks SDL_LockJoysticks_REAL
643#define SDL_LockMutex SDL_LockMutex_REAL
644#define SDL_LockProperties SDL_LockProperties_REAL
645#define SDL_LockRWLockForReading SDL_LockRWLockForReading_REAL
646#define SDL_LockRWLockForWriting SDL_LockRWLockForWriting_REAL
647#define SDL_LockSpinlock SDL_LockSpinlock_REAL
648#define SDL_LockSurface SDL_LockSurface_REAL
649#define SDL_LockTexture SDL_LockTexture_REAL
650#define SDL_LockTextureToSurface SDL_LockTextureToSurface_REAL
651#define SDL_Log SDL_Log_REAL
652#define SDL_LogCritical SDL_LogCritical_REAL
653#define SDL_LogDebug SDL_LogDebug_REAL
654#define SDL_LogError SDL_LogError_REAL
655#define SDL_LogInfo SDL_LogInfo_REAL
656#define SDL_LogMessage SDL_LogMessage_REAL
657#define SDL_LogMessageV SDL_LogMessageV_REAL
658#define SDL_LogTrace SDL_LogTrace_REAL
659#define SDL_LogVerbose SDL_LogVerbose_REAL
660#define SDL_LogWarn SDL_LogWarn_REAL
661#define SDL_MapGPUTransferBuffer SDL_MapGPUTransferBuffer_REAL
662#define SDL_MapRGB SDL_MapRGB_REAL
663#define SDL_MapRGBA SDL_MapRGBA_REAL
664#define SDL_MapSurfaceRGB SDL_MapSurfaceRGB_REAL
665#define SDL_MapSurfaceRGBA SDL_MapSurfaceRGBA_REAL
666#define SDL_MaximizeWindow SDL_MaximizeWindow_REAL
667#define SDL_MemoryBarrierAcquireFunction SDL_MemoryBarrierAcquireFunction_REAL
668#define SDL_MemoryBarrierReleaseFunction SDL_MemoryBarrierReleaseFunction_REAL
669#define SDL_Metal_CreateView SDL_Metal_CreateView_REAL
670#define SDL_Metal_DestroyView SDL_Metal_DestroyView_REAL
671#define SDL_Metal_GetLayer SDL_Metal_GetLayer_REAL
672#define SDL_MinimizeWindow SDL_MinimizeWindow_REAL
673#define SDL_MixAudio SDL_MixAudio_REAL
674#define SDL_OnApplicationDidChangeStatusBarOrientation SDL_OnApplicationDidChangeStatusBarOrientation_REAL
675#define SDL_OnApplicationDidEnterBackground SDL_OnApplicationDidEnterBackground_REAL
676#define SDL_OnApplicationDidEnterForeground SDL_OnApplicationDidEnterForeground_REAL
677#define SDL_OnApplicationDidReceiveMemoryWarning SDL_OnApplicationDidReceiveMemoryWarning_REAL
678#define SDL_OnApplicationWillEnterBackground SDL_OnApplicationWillEnterBackground_REAL
679#define SDL_OnApplicationWillEnterForeground SDL_OnApplicationWillEnterForeground_REAL
680#define SDL_OnApplicationWillTerminate SDL_OnApplicationWillTerminate_REAL
681#define SDL_OpenAudioDevice SDL_OpenAudioDevice_REAL
682#define SDL_OpenAudioDeviceStream SDL_OpenAudioDeviceStream_REAL
683#define SDL_OpenCamera SDL_OpenCamera_REAL
684#define SDL_OpenFileStorage SDL_OpenFileStorage_REAL
685#define SDL_OpenGamepad SDL_OpenGamepad_REAL
686#define SDL_OpenHaptic SDL_OpenHaptic_REAL
687#define SDL_OpenHapticFromJoystick SDL_OpenHapticFromJoystick_REAL
688#define SDL_OpenHapticFromMouse SDL_OpenHapticFromMouse_REAL
689#define SDL_OpenIO SDL_OpenIO_REAL
690#define SDL_OpenJoystick SDL_OpenJoystick_REAL
691#define SDL_OpenSensor SDL_OpenSensor_REAL
692#define SDL_OpenStorage SDL_OpenStorage_REAL
693#define SDL_OpenTitleStorage SDL_OpenTitleStorage_REAL
694#define SDL_OpenURL SDL_OpenURL_REAL
695#define SDL_OpenUserStorage SDL_OpenUserStorage_REAL
696#define SDL_OutOfMemory SDL_OutOfMemory_REAL
697#define SDL_PauseAudioDevice SDL_PauseAudioDevice_REAL
698#define SDL_PauseAudioStreamDevice SDL_PauseAudioStreamDevice_REAL
699#define SDL_PauseHaptic SDL_PauseHaptic_REAL
700#define SDL_PeepEvents SDL_PeepEvents_REAL
701#define SDL_PlayHapticRumble SDL_PlayHapticRumble_REAL
702#define SDL_PollEvent SDL_PollEvent_REAL
703#define SDL_PopGPUDebugGroup SDL_PopGPUDebugGroup_REAL
704#define SDL_PremultiplyAlpha SDL_PremultiplyAlpha_REAL
705#define SDL_PremultiplySurfaceAlpha SDL_PremultiplySurfaceAlpha_REAL
706#define SDL_PumpEvents SDL_PumpEvents_REAL
707#define SDL_PushEvent SDL_PushEvent_REAL
708#define SDL_PushGPUComputeUniformData SDL_PushGPUComputeUniformData_REAL
709#define SDL_PushGPUDebugGroup SDL_PushGPUDebugGroup_REAL
710#define SDL_PushGPUFragmentUniformData SDL_PushGPUFragmentUniformData_REAL
711#define SDL_PushGPUVertexUniformData SDL_PushGPUVertexUniformData_REAL
712#define SDL_PutAudioStreamData SDL_PutAudioStreamData_REAL
713#define SDL_QueryGPUFence SDL_QueryGPUFence_REAL
714#define SDL_Quit SDL_Quit_REAL
715#define SDL_QuitSubSystem SDL_QuitSubSystem_REAL
716#define SDL_RaiseWindow SDL_RaiseWindow_REAL
717#define SDL_ReadIO SDL_ReadIO_REAL
718#define SDL_ReadProcess SDL_ReadProcess_REAL
719#define SDL_ReadS16BE SDL_ReadS16BE_REAL
720#define SDL_ReadS16LE SDL_ReadS16LE_REAL
721#define SDL_ReadS32BE SDL_ReadS32BE_REAL
722#define SDL_ReadS32LE SDL_ReadS32LE_REAL
723#define SDL_ReadS64BE SDL_ReadS64BE_REAL
724#define SDL_ReadS64LE SDL_ReadS64LE_REAL
725#define SDL_ReadS8 SDL_ReadS8_REAL
726#define SDL_ReadStorageFile SDL_ReadStorageFile_REAL
727#define SDL_ReadSurfacePixel SDL_ReadSurfacePixel_REAL
728#define SDL_ReadSurfacePixelFloat SDL_ReadSurfacePixelFloat_REAL
729#define SDL_ReadU16BE SDL_ReadU16BE_REAL
730#define SDL_ReadU16LE SDL_ReadU16LE_REAL
731#define SDL_ReadU32BE SDL_ReadU32BE_REAL
732#define SDL_ReadU32LE SDL_ReadU32LE_REAL
733#define SDL_ReadU64BE SDL_ReadU64BE_REAL
734#define SDL_ReadU64LE SDL_ReadU64LE_REAL
735#define SDL_ReadU8 SDL_ReadU8_REAL
736#define SDL_RegisterApp SDL_RegisterApp_REAL
737#define SDL_RegisterEvents SDL_RegisterEvents_REAL
738#define SDL_ReleaseCameraFrame SDL_ReleaseCameraFrame_REAL
739#define SDL_ReleaseGPUBuffer SDL_ReleaseGPUBuffer_REAL
740#define SDL_ReleaseGPUComputePipeline SDL_ReleaseGPUComputePipeline_REAL
741#define SDL_ReleaseGPUFence SDL_ReleaseGPUFence_REAL
742#define SDL_ReleaseGPUGraphicsPipeline SDL_ReleaseGPUGraphicsPipeline_REAL
743#define SDL_ReleaseGPUSampler SDL_ReleaseGPUSampler_REAL
744#define SDL_ReleaseGPUShader SDL_ReleaseGPUShader_REAL
745#define SDL_ReleaseGPUTexture SDL_ReleaseGPUTexture_REAL
746#define SDL_ReleaseGPUTransferBuffer SDL_ReleaseGPUTransferBuffer_REAL
747#define SDL_ReleaseWindowFromGPUDevice SDL_ReleaseWindowFromGPUDevice_REAL
748#define SDL_ReloadGamepadMappings SDL_ReloadGamepadMappings_REAL
749#define SDL_RemoveEventWatch SDL_RemoveEventWatch_REAL
750#define SDL_RemoveHintCallback SDL_RemoveHintCallback_REAL
751#define SDL_RemovePath SDL_RemovePath_REAL
752#define SDL_RemoveStoragePath SDL_RemoveStoragePath_REAL
753#define SDL_RemoveSurfaceAlternateImages SDL_RemoveSurfaceAlternateImages_REAL
754#define SDL_RemoveTimer SDL_RemoveTimer_REAL
755#define SDL_RenamePath SDL_RenamePath_REAL
756#define SDL_RenameStoragePath SDL_RenameStoragePath_REAL
757#define SDL_RenderClear SDL_RenderClear_REAL
758#define SDL_RenderClipEnabled SDL_RenderClipEnabled_REAL
759#define SDL_RenderCoordinatesFromWindow SDL_RenderCoordinatesFromWindow_REAL
760#define SDL_RenderCoordinatesToWindow SDL_RenderCoordinatesToWindow_REAL
761#define SDL_RenderFillRect SDL_RenderFillRect_REAL
762#define SDL_RenderFillRects SDL_RenderFillRects_REAL
763#define SDL_RenderGeometry SDL_RenderGeometry_REAL
764#define SDL_RenderGeometryRaw SDL_RenderGeometryRaw_REAL
765#define SDL_RenderLine SDL_RenderLine_REAL
766#define SDL_RenderLines SDL_RenderLines_REAL
767#define SDL_RenderPoint SDL_RenderPoint_REAL
768#define SDL_RenderPoints SDL_RenderPoints_REAL
769#define SDL_RenderPresent SDL_RenderPresent_REAL
770#define SDL_RenderReadPixels SDL_RenderReadPixels_REAL
771#define SDL_RenderRect SDL_RenderRect_REAL
772#define SDL_RenderRects SDL_RenderRects_REAL
773#define SDL_RenderTexture SDL_RenderTexture_REAL
774#define SDL_RenderTexture9Grid SDL_RenderTexture9Grid_REAL
775#define SDL_RenderTextureRotated SDL_RenderTextureRotated_REAL
776#define SDL_RenderTextureTiled SDL_RenderTextureTiled_REAL
777#define SDL_RenderViewportSet SDL_RenderViewportSet_REAL
778#define SDL_ReportAssertion SDL_ReportAssertion_REAL
779#define SDL_RequestAndroidPermission SDL_RequestAndroidPermission_REAL
780#define SDL_ResetAssertionReport SDL_ResetAssertionReport_REAL
781#define SDL_ResetHint SDL_ResetHint_REAL
782#define SDL_ResetHints SDL_ResetHints_REAL
783#define SDL_ResetKeyboard SDL_ResetKeyboard_REAL
784#define SDL_ResetLogPriorities SDL_ResetLogPriorities_REAL
785#define SDL_RestoreWindow SDL_RestoreWindow_REAL
786#define SDL_ResumeAudioDevice SDL_ResumeAudioDevice_REAL
787#define SDL_ResumeAudioStreamDevice SDL_ResumeAudioStreamDevice_REAL
788#define SDL_ResumeHaptic SDL_ResumeHaptic_REAL
789#define SDL_RumbleGamepad SDL_RumbleGamepad_REAL
790#define SDL_RumbleGamepadTriggers SDL_RumbleGamepadTriggers_REAL
791#define SDL_RumbleJoystick SDL_RumbleJoystick_REAL
792#define SDL_RumbleJoystickTriggers SDL_RumbleJoystickTriggers_REAL
793#define SDL_RunApp SDL_RunApp_REAL
794#define SDL_RunHapticEffect SDL_RunHapticEffect_REAL
795#define SDL_SaveBMP SDL_SaveBMP_REAL
796#define SDL_SaveBMP_IO SDL_SaveBMP_IO_REAL
797#define SDL_ScaleSurface SDL_ScaleSurface_REAL
798#define SDL_ScreenKeyboardShown SDL_ScreenKeyboardShown_REAL
799#define SDL_ScreenSaverEnabled SDL_ScreenSaverEnabled_REAL
800#define SDL_SeekIO SDL_SeekIO_REAL
801#define SDL_SendAndroidBackButton SDL_SendAndroidBackButton_REAL
802#define SDL_SendAndroidMessage SDL_SendAndroidMessage_REAL
803#define SDL_SendGamepadEffect SDL_SendGamepadEffect_REAL
804#define SDL_SendJoystickEffect SDL_SendJoystickEffect_REAL
805#define SDL_SendJoystickVirtualSensorData SDL_SendJoystickVirtualSensorData_REAL
806#define SDL_SetAppMetadata SDL_SetAppMetadata_REAL
807#define SDL_SetAppMetadataProperty SDL_SetAppMetadataProperty_REAL
808#define SDL_SetAssertionHandler SDL_SetAssertionHandler_REAL
809#define SDL_SetAtomicInt SDL_SetAtomicInt_REAL
810#define SDL_SetAtomicPointer SDL_SetAtomicPointer_REAL
811#define SDL_SetAtomicU32 SDL_SetAtomicU32_REAL
812#define SDL_SetAudioDeviceGain SDL_SetAudioDeviceGain_REAL
813#define SDL_SetAudioPostmixCallback SDL_SetAudioPostmixCallback_REAL
814#define SDL_SetAudioStreamFormat SDL_SetAudioStreamFormat_REAL
815#define SDL_SetAudioStreamFrequencyRatio SDL_SetAudioStreamFrequencyRatio_REAL
816#define SDL_SetAudioStreamGain SDL_SetAudioStreamGain_REAL
817#define SDL_SetAudioStreamGetCallback SDL_SetAudioStreamGetCallback_REAL
818#define SDL_SetAudioStreamInputChannelMap SDL_SetAudioStreamInputChannelMap_REAL
819#define SDL_SetAudioStreamOutputChannelMap SDL_SetAudioStreamOutputChannelMap_REAL
820#define SDL_SetAudioStreamPutCallback SDL_SetAudioStreamPutCallback_REAL
821#define SDL_SetBooleanProperty SDL_SetBooleanProperty_REAL
822#define SDL_SetClipboardData SDL_SetClipboardData_REAL
823#define SDL_SetClipboardText SDL_SetClipboardText_REAL
824#define SDL_SetCurrentThreadPriority SDL_SetCurrentThreadPriority_REAL
825#define SDL_SetCursor SDL_SetCursor_REAL
826#define SDL_SetEnvironmentVariable SDL_SetEnvironmentVariable_REAL
827#define SDL_SetError SDL_SetError_REAL
828#define SDL_SetEventEnabled SDL_SetEventEnabled_REAL
829#define SDL_SetEventFilter SDL_SetEventFilter_REAL
830#define SDL_SetFloatProperty SDL_SetFloatProperty_REAL
831#define SDL_SetGPUBlendConstants SDL_SetGPUBlendConstants_REAL
832#define SDL_SetGPUBufferName SDL_SetGPUBufferName_REAL
833#define SDL_SetGPUScissor SDL_SetGPUScissor_REAL
834#define SDL_SetGPUStencilReference SDL_SetGPUStencilReference_REAL
835#define SDL_SetGPUSwapchainParameters SDL_SetGPUSwapchainParameters_REAL
836#define SDL_SetGPUTextureName SDL_SetGPUTextureName_REAL
837#define SDL_SetGPUViewport SDL_SetGPUViewport_REAL
838#define SDL_SetGamepadEventsEnabled SDL_SetGamepadEventsEnabled_REAL
839#define SDL_SetGamepadLED SDL_SetGamepadLED_REAL
840#define SDL_SetGamepadMapping SDL_SetGamepadMapping_REAL
841#define SDL_SetGamepadPlayerIndex SDL_SetGamepadPlayerIndex_REAL
842#define SDL_SetGamepadSensorEnabled SDL_SetGamepadSensorEnabled_REAL
843#define SDL_SetHapticAutocenter SDL_SetHapticAutocenter_REAL
844#define SDL_SetHapticGain SDL_SetHapticGain_REAL
845#define SDL_SetHint SDL_SetHint_REAL
846#define SDL_SetHintWithPriority SDL_SetHintWithPriority_REAL
847#define SDL_SetInitialized SDL_SetInitialized_REAL
848#define SDL_SetJoystickEventsEnabled SDL_SetJoystickEventsEnabled_REAL
849#define SDL_SetJoystickLED SDL_SetJoystickLED_REAL
850#define SDL_SetJoystickPlayerIndex SDL_SetJoystickPlayerIndex_REAL
851#define SDL_SetJoystickVirtualAxis SDL_SetJoystickVirtualAxis_REAL
852#define SDL_SetJoystickVirtualBall SDL_SetJoystickVirtualBall_REAL
853#define SDL_SetJoystickVirtualButton SDL_SetJoystickVirtualButton_REAL
854#define SDL_SetJoystickVirtualHat SDL_SetJoystickVirtualHat_REAL
855#define SDL_SetJoystickVirtualTouchpad SDL_SetJoystickVirtualTouchpad_REAL
856#define SDL_SetLinuxThreadPriority SDL_SetLinuxThreadPriority_REAL
857#define SDL_SetLinuxThreadPriorityAndPolicy SDL_SetLinuxThreadPriorityAndPolicy_REAL
858#define SDL_SetLogOutputFunction SDL_SetLogOutputFunction_REAL
859#define SDL_SetLogPriorities SDL_SetLogPriorities_REAL
860#define SDL_SetLogPriority SDL_SetLogPriority_REAL
861#define SDL_SetLogPriorityPrefix SDL_SetLogPriorityPrefix_REAL
862#define SDL_SetMainReady SDL_SetMainReady_REAL
863#define SDL_SetMemoryFunctions SDL_SetMemoryFunctions_REAL
864#define SDL_SetModState SDL_SetModState_REAL
865#define SDL_SetNumberProperty SDL_SetNumberProperty_REAL
866#define SDL_SetPaletteColors SDL_SetPaletteColors_REAL
867#define SDL_SetPointerProperty SDL_SetPointerProperty_REAL
868#define SDL_SetPointerPropertyWithCleanup SDL_SetPointerPropertyWithCleanup_REAL
869#define SDL_SetPrimarySelectionText SDL_SetPrimarySelectionText_REAL
870#define SDL_SetRenderClipRect SDL_SetRenderClipRect_REAL
871#define SDL_SetRenderColorScale SDL_SetRenderColorScale_REAL
872#define SDL_SetRenderDrawBlendMode SDL_SetRenderDrawBlendMode_REAL
873#define SDL_SetRenderDrawColor SDL_SetRenderDrawColor_REAL
874#define SDL_SetRenderDrawColorFloat SDL_SetRenderDrawColorFloat_REAL
875#define SDL_SetRenderLogicalPresentation SDL_SetRenderLogicalPresentation_REAL
876#define SDL_SetRenderScale SDL_SetRenderScale_REAL
877#define SDL_SetRenderTarget SDL_SetRenderTarget_REAL
878#define SDL_SetRenderVSync SDL_SetRenderVSync_REAL
879#define SDL_SetRenderViewport SDL_SetRenderViewport_REAL
880#define SDL_SetScancodeName SDL_SetScancodeName_REAL
881#define SDL_SetStringProperty SDL_SetStringProperty_REAL
882#define SDL_SetSurfaceAlphaMod SDL_SetSurfaceAlphaMod_REAL
883#define SDL_SetSurfaceBlendMode SDL_SetSurfaceBlendMode_REAL
884#define SDL_SetSurfaceClipRect SDL_SetSurfaceClipRect_REAL
885#define SDL_SetSurfaceColorKey SDL_SetSurfaceColorKey_REAL
886#define SDL_SetSurfaceColorMod SDL_SetSurfaceColorMod_REAL
887#define SDL_SetSurfaceColorspace SDL_SetSurfaceColorspace_REAL
888#define SDL_SetSurfacePalette SDL_SetSurfacePalette_REAL
889#define SDL_SetSurfaceRLE SDL_SetSurfaceRLE_REAL
890#define SDL_SetTLS SDL_SetTLS_REAL
891#define SDL_SetTextInputArea SDL_SetTextInputArea_REAL
892#define SDL_SetTextureAlphaMod SDL_SetTextureAlphaMod_REAL
893#define SDL_SetTextureAlphaModFloat SDL_SetTextureAlphaModFloat_REAL
894#define SDL_SetTextureBlendMode SDL_SetTextureBlendMode_REAL
895#define SDL_SetTextureColorMod SDL_SetTextureColorMod_REAL
896#define SDL_SetTextureColorModFloat SDL_SetTextureColorModFloat_REAL
897#define SDL_SetTextureScaleMode SDL_SetTextureScaleMode_REAL
898#define SDL_SetWindowAlwaysOnTop SDL_SetWindowAlwaysOnTop_REAL
899#define SDL_SetWindowAspectRatio SDL_SetWindowAspectRatio_REAL
900#define SDL_SetWindowBordered SDL_SetWindowBordered_REAL
901#define SDL_SetWindowFocusable SDL_SetWindowFocusable_REAL
902#define SDL_SetWindowFullscreen SDL_SetWindowFullscreen_REAL
903#define SDL_SetWindowFullscreenMode SDL_SetWindowFullscreenMode_REAL
904#define SDL_SetWindowHitTest SDL_SetWindowHitTest_REAL
905#define SDL_SetWindowIcon SDL_SetWindowIcon_REAL
906#define SDL_SetWindowKeyboardGrab SDL_SetWindowKeyboardGrab_REAL
907#define SDL_SetWindowMaximumSize SDL_SetWindowMaximumSize_REAL
908#define SDL_SetWindowMinimumSize SDL_SetWindowMinimumSize_REAL
909#define SDL_SetWindowModal SDL_SetWindowModal_REAL
910#define SDL_SetWindowMouseGrab SDL_SetWindowMouseGrab_REAL
911#define SDL_SetWindowMouseRect SDL_SetWindowMouseRect_REAL
912#define SDL_SetWindowOpacity SDL_SetWindowOpacity_REAL
913#define SDL_SetWindowParent SDL_SetWindowParent_REAL
914#define SDL_SetWindowPosition SDL_SetWindowPosition_REAL
915#define SDL_SetWindowRelativeMouseMode SDL_SetWindowRelativeMouseMode_REAL
916#define SDL_SetWindowResizable SDL_SetWindowResizable_REAL
917#define SDL_SetWindowShape SDL_SetWindowShape_REAL
918#define SDL_SetWindowSize SDL_SetWindowSize_REAL
919#define SDL_SetWindowSurfaceVSync SDL_SetWindowSurfaceVSync_REAL
920#define SDL_SetWindowTitle SDL_SetWindowTitle_REAL
921#define SDL_SetWindowsMessageHook SDL_SetWindowsMessageHook_REAL
922#define SDL_SetX11EventHook SDL_SetX11EventHook_REAL
923#define SDL_SetiOSAnimationCallback SDL_SetiOSAnimationCallback_REAL
924#define SDL_SetiOSEventPump SDL_SetiOSEventPump_REAL
925#define SDL_ShouldInit SDL_ShouldInit_REAL
926#define SDL_ShouldQuit SDL_ShouldQuit_REAL
927#define SDL_ShowAndroidToast SDL_ShowAndroidToast_REAL
928#define SDL_ShowCursor SDL_ShowCursor_REAL
929#define SDL_ShowMessageBox SDL_ShowMessageBox_REAL
930#define SDL_ShowOpenFileDialog SDL_ShowOpenFileDialog_REAL
931#define SDL_ShowOpenFolderDialog SDL_ShowOpenFolderDialog_REAL
932#define SDL_ShowSaveFileDialog SDL_ShowSaveFileDialog_REAL
933#define SDL_ShowSimpleMessageBox SDL_ShowSimpleMessageBox_REAL
934#define SDL_ShowWindow SDL_ShowWindow_REAL
935#define SDL_ShowWindowSystemMenu SDL_ShowWindowSystemMenu_REAL
936#define SDL_SignalCondition SDL_SignalCondition_REAL
937#define SDL_SignalSemaphore SDL_SignalSemaphore_REAL
938#define SDL_StartTextInput SDL_StartTextInput_REAL
939#define SDL_StartTextInputWithProperties SDL_StartTextInputWithProperties_REAL
940#define SDL_StepUTF8 SDL_StepUTF8_REAL
941#define SDL_StopHapticEffect SDL_StopHapticEffect_REAL
942#define SDL_StopHapticEffects SDL_StopHapticEffects_REAL
943#define SDL_StopHapticRumble SDL_StopHapticRumble_REAL
944#define SDL_StopTextInput SDL_StopTextInput_REAL
945#define SDL_StorageReady SDL_StorageReady_REAL
946#define SDL_StringToGUID SDL_StringToGUID_REAL
947#define SDL_SubmitGPUCommandBuffer SDL_SubmitGPUCommandBuffer_REAL
948#define SDL_SubmitGPUCommandBufferAndAcquireFence SDL_SubmitGPUCommandBufferAndAcquireFence_REAL
949#define SDL_SurfaceHasAlternateImages SDL_SurfaceHasAlternateImages_REAL
950#define SDL_SurfaceHasColorKey SDL_SurfaceHasColorKey_REAL
951#define SDL_SurfaceHasRLE SDL_SurfaceHasRLE_REAL
952#define SDL_SyncWindow SDL_SyncWindow_REAL
953#define SDL_TellIO SDL_TellIO_REAL
954#define SDL_TextInputActive SDL_TextInputActive_REAL
955#define SDL_TimeFromWindows SDL_TimeFromWindows_REAL
956#define SDL_TimeToDateTime SDL_TimeToDateTime_REAL
957#define SDL_TimeToWindows SDL_TimeToWindows_REAL
958#define SDL_TryLockMutex SDL_TryLockMutex_REAL
959#define SDL_TryLockRWLockForReading SDL_TryLockRWLockForReading_REAL
960#define SDL_TryLockRWLockForWriting SDL_TryLockRWLockForWriting_REAL
961#define SDL_TryLockSpinlock SDL_TryLockSpinlock_REAL
962#define SDL_TryWaitSemaphore SDL_TryWaitSemaphore_REAL
963#define SDL_UCS4ToUTF8 SDL_UCS4ToUTF8_REAL
964#define SDL_UnbindAudioStream SDL_UnbindAudioStream_REAL
965#define SDL_UnbindAudioStreams SDL_UnbindAudioStreams_REAL
966#define SDL_UnloadObject SDL_UnloadObject_REAL
967#define SDL_UnlockAudioStream SDL_UnlockAudioStream_REAL
968#define SDL_UnlockJoysticks SDL_UnlockJoysticks_REAL
969#define SDL_UnlockMutex SDL_UnlockMutex_REAL
970#define SDL_UnlockProperties SDL_UnlockProperties_REAL
971#define SDL_UnlockRWLock SDL_UnlockRWLock_REAL
972#define SDL_UnlockSpinlock SDL_UnlockSpinlock_REAL
973#define SDL_UnlockSurface SDL_UnlockSurface_REAL
974#define SDL_UnlockTexture SDL_UnlockTexture_REAL
975#define SDL_UnmapGPUTransferBuffer SDL_UnmapGPUTransferBuffer_REAL
976#define SDL_UnregisterApp SDL_UnregisterApp_REAL
977#define SDL_UnsetEnvironmentVariable SDL_UnsetEnvironmentVariable_REAL
978#define SDL_UpdateGamepads SDL_UpdateGamepads_REAL
979#define SDL_UpdateHapticEffect SDL_UpdateHapticEffect_REAL
980#define SDL_UpdateJoysticks SDL_UpdateJoysticks_REAL
981#define SDL_UpdateNVTexture SDL_UpdateNVTexture_REAL
982#define SDL_UpdateSensors SDL_UpdateSensors_REAL
983#define SDL_UpdateTexture SDL_UpdateTexture_REAL
984#define SDL_UpdateWindowSurface SDL_UpdateWindowSurface_REAL
985#define SDL_UpdateWindowSurfaceRects SDL_UpdateWindowSurfaceRects_REAL
986#define SDL_UpdateYUVTexture SDL_UpdateYUVTexture_REAL
987#define SDL_UploadToGPUBuffer SDL_UploadToGPUBuffer_REAL
988#define SDL_UploadToGPUTexture SDL_UploadToGPUTexture_REAL
989#define SDL_Vulkan_CreateSurface SDL_Vulkan_CreateSurface_REAL
990#define SDL_Vulkan_DestroySurface SDL_Vulkan_DestroySurface_REAL
991#define SDL_Vulkan_GetInstanceExtensions SDL_Vulkan_GetInstanceExtensions_REAL
992#define SDL_Vulkan_GetPresentationSupport SDL_Vulkan_GetPresentationSupport_REAL
993#define SDL_Vulkan_GetVkGetInstanceProcAddr SDL_Vulkan_GetVkGetInstanceProcAddr_REAL
994#define SDL_Vulkan_LoadLibrary SDL_Vulkan_LoadLibrary_REAL
995#define SDL_Vulkan_UnloadLibrary SDL_Vulkan_UnloadLibrary_REAL
996#define SDL_WaitCondition SDL_WaitCondition_REAL
997#define SDL_WaitConditionTimeout SDL_WaitConditionTimeout_REAL
998#define SDL_WaitEvent SDL_WaitEvent_REAL
999#define SDL_WaitEventTimeout SDL_WaitEventTimeout_REAL
1000#define SDL_WaitForGPUFences SDL_WaitForGPUFences_REAL
1001#define SDL_WaitForGPUIdle SDL_WaitForGPUIdle_REAL
1002#define SDL_WaitProcess SDL_WaitProcess_REAL
1003#define SDL_WaitSemaphore SDL_WaitSemaphore_REAL
1004#define SDL_WaitSemaphoreTimeout SDL_WaitSemaphoreTimeout_REAL
1005#define SDL_WaitThread SDL_WaitThread_REAL
1006#define SDL_WarpMouseGlobal SDL_WarpMouseGlobal_REAL
1007#define SDL_WarpMouseInWindow SDL_WarpMouseInWindow_REAL
1008#define SDL_WasInit SDL_WasInit_REAL
1009#define SDL_WindowHasSurface SDL_WindowHasSurface_REAL
1010#define SDL_WindowSupportsGPUPresentMode SDL_WindowSupportsGPUPresentMode_REAL
1011#define SDL_WindowSupportsGPUSwapchainComposition SDL_WindowSupportsGPUSwapchainComposition_REAL
1012#define SDL_WriteIO SDL_WriteIO_REAL
1013#define SDL_WriteS16BE SDL_WriteS16BE_REAL
1014#define SDL_WriteS16LE SDL_WriteS16LE_REAL
1015#define SDL_WriteS32BE SDL_WriteS32BE_REAL
1016#define SDL_WriteS32LE SDL_WriteS32LE_REAL
1017#define SDL_WriteS64BE SDL_WriteS64BE_REAL
1018#define SDL_WriteS64LE SDL_WriteS64LE_REAL
1019#define SDL_WriteS8 SDL_WriteS8_REAL
1020#define SDL_WriteStorageFile SDL_WriteStorageFile_REAL
1021#define SDL_WriteSurfacePixel SDL_WriteSurfacePixel_REAL
1022#define SDL_WriteSurfacePixelFloat SDL_WriteSurfacePixelFloat_REAL
1023#define SDL_WriteU16BE SDL_WriteU16BE_REAL
1024#define SDL_WriteU16LE SDL_WriteU16LE_REAL
1025#define SDL_WriteU32BE SDL_WriteU32BE_REAL
1026#define SDL_WriteU32LE SDL_WriteU32LE_REAL
1027#define SDL_WriteU64BE SDL_WriteU64BE_REAL
1028#define SDL_WriteU64LE SDL_WriteU64LE_REAL
1029#define SDL_WriteU8 SDL_WriteU8_REAL
1030#define SDL_abs SDL_abs_REAL
1031#define SDL_acos SDL_acos_REAL
1032#define SDL_acosf SDL_acosf_REAL
1033#define SDL_aligned_alloc SDL_aligned_alloc_REAL
1034#define SDL_aligned_free SDL_aligned_free_REAL
1035#define SDL_asin SDL_asin_REAL
1036#define SDL_asinf SDL_asinf_REAL
1037#define SDL_asprintf SDL_asprintf_REAL
1038#define SDL_atan SDL_atan_REAL
1039#define SDL_atan2 SDL_atan2_REAL
1040#define SDL_atan2f SDL_atan2f_REAL
1041#define SDL_atanf SDL_atanf_REAL
1042#define SDL_atof SDL_atof_REAL
1043#define SDL_atoi SDL_atoi_REAL
1044#define SDL_bsearch SDL_bsearch_REAL
1045#define SDL_bsearch_r SDL_bsearch_r_REAL
1046#define SDL_calloc SDL_calloc_REAL
1047#define SDL_ceil SDL_ceil_REAL
1048#define SDL_ceilf SDL_ceilf_REAL
1049#define SDL_copysign SDL_copysign_REAL
1050#define SDL_copysignf SDL_copysignf_REAL
1051#define SDL_cos SDL_cos_REAL
1052#define SDL_cosf SDL_cosf_REAL
1053#define SDL_crc16 SDL_crc16_REAL
1054#define SDL_crc32 SDL_crc32_REAL
1055#define SDL_exp SDL_exp_REAL
1056#define SDL_expf SDL_expf_REAL
1057#define SDL_fabs SDL_fabs_REAL
1058#define SDL_fabsf SDL_fabsf_REAL
1059#define SDL_floor SDL_floor_REAL
1060#define SDL_floorf SDL_floorf_REAL
1061#define SDL_fmod SDL_fmod_REAL
1062#define SDL_fmodf SDL_fmodf_REAL
1063#define SDL_free SDL_free_REAL
1064#define SDL_getenv SDL_getenv_REAL
1065#define SDL_getenv_unsafe SDL_getenv_unsafe_REAL
1066#define SDL_hid_ble_scan SDL_hid_ble_scan_REAL
1067#define SDL_hid_close SDL_hid_close_REAL
1068#define SDL_hid_device_change_count SDL_hid_device_change_count_REAL
1069#define SDL_hid_enumerate SDL_hid_enumerate_REAL
1070#define SDL_hid_exit SDL_hid_exit_REAL
1071#define SDL_hid_free_enumeration SDL_hid_free_enumeration_REAL
1072#define SDL_hid_get_device_info SDL_hid_get_device_info_REAL
1073#define SDL_hid_get_feature_report SDL_hid_get_feature_report_REAL
1074#define SDL_hid_get_indexed_string SDL_hid_get_indexed_string_REAL
1075#define SDL_hid_get_input_report SDL_hid_get_input_report_REAL
1076#define SDL_hid_get_manufacturer_string SDL_hid_get_manufacturer_string_REAL
1077#define SDL_hid_get_product_string SDL_hid_get_product_string_REAL
1078#define SDL_hid_get_report_descriptor SDL_hid_get_report_descriptor_REAL
1079#define SDL_hid_get_serial_number_string SDL_hid_get_serial_number_string_REAL
1080#define SDL_hid_init SDL_hid_init_REAL
1081#define SDL_hid_open SDL_hid_open_REAL
1082#define SDL_hid_open_path SDL_hid_open_path_REAL
1083#define SDL_hid_read SDL_hid_read_REAL
1084#define SDL_hid_read_timeout SDL_hid_read_timeout_REAL
1085#define SDL_hid_send_feature_report SDL_hid_send_feature_report_REAL
1086#define SDL_hid_set_nonblocking SDL_hid_set_nonblocking_REAL
1087#define SDL_hid_write SDL_hid_write_REAL
1088#define SDL_iconv SDL_iconv_REAL
1089#define SDL_iconv_close SDL_iconv_close_REAL
1090#define SDL_iconv_open SDL_iconv_open_REAL
1091#define SDL_iconv_string SDL_iconv_string_REAL
1092#define SDL_isalnum SDL_isalnum_REAL
1093#define SDL_isalpha SDL_isalpha_REAL
1094#define SDL_isblank SDL_isblank_REAL
1095#define SDL_iscntrl SDL_iscntrl_REAL
1096#define SDL_isdigit SDL_isdigit_REAL
1097#define SDL_isgraph SDL_isgraph_REAL
1098#define SDL_isinf SDL_isinf_REAL
1099#define SDL_isinff SDL_isinff_REAL
1100#define SDL_islower SDL_islower_REAL
1101#define SDL_isnan SDL_isnan_REAL
1102#define SDL_isnanf SDL_isnanf_REAL
1103#define SDL_isprint SDL_isprint_REAL
1104#define SDL_ispunct SDL_ispunct_REAL
1105#define SDL_isspace SDL_isspace_REAL
1106#define SDL_isupper SDL_isupper_REAL
1107#define SDL_isxdigit SDL_isxdigit_REAL
1108#define SDL_itoa SDL_itoa_REAL
1109#define SDL_lltoa SDL_lltoa_REAL
1110#define SDL_log SDL_log_REAL
1111#define SDL_log10 SDL_log10_REAL
1112#define SDL_log10f SDL_log10f_REAL
1113#define SDL_logf SDL_logf_REAL
1114#define SDL_lround SDL_lround_REAL
1115#define SDL_lroundf SDL_lroundf_REAL
1116#define SDL_ltoa SDL_ltoa_REAL
1117#define SDL_malloc SDL_malloc_REAL
1118#define SDL_memcmp SDL_memcmp_REAL
1119#define SDL_memcpy SDL_memcpy_REAL
1120#define SDL_memmove SDL_memmove_REAL
1121#define SDL_memset SDL_memset_REAL
1122#define SDL_memset4 SDL_memset4_REAL
1123#define SDL_modf SDL_modf_REAL
1124#define SDL_modff SDL_modff_REAL
1125#define SDL_murmur3_32 SDL_murmur3_32_REAL
1126#define SDL_pow SDL_pow_REAL
1127#define SDL_powf SDL_powf_REAL
1128#define SDL_qsort SDL_qsort_REAL
1129#define SDL_qsort_r SDL_qsort_r_REAL
1130#define SDL_rand SDL_rand_REAL
1131#define SDL_rand_bits SDL_rand_bits_REAL
1132#define SDL_rand_bits_r SDL_rand_bits_r_REAL
1133#define SDL_rand_r SDL_rand_r_REAL
1134#define SDL_randf SDL_randf_REAL
1135#define SDL_randf_r SDL_randf_r_REAL
1136#define SDL_realloc SDL_realloc_REAL
1137#define SDL_round SDL_round_REAL
1138#define SDL_roundf SDL_roundf_REAL
1139#define SDL_scalbn SDL_scalbn_REAL
1140#define SDL_scalbnf SDL_scalbnf_REAL
1141#define SDL_setenv_unsafe SDL_setenv_unsafe_REAL
1142#define SDL_sin SDL_sin_REAL
1143#define SDL_sinf SDL_sinf_REAL
1144#define SDL_snprintf SDL_snprintf_REAL
1145#define SDL_sqrt SDL_sqrt_REAL
1146#define SDL_sqrtf SDL_sqrtf_REAL
1147#define SDL_srand SDL_srand_REAL
1148#define SDL_sscanf SDL_sscanf_REAL
1149#define SDL_strcasecmp SDL_strcasecmp_REAL
1150#define SDL_strcasestr SDL_strcasestr_REAL
1151#define SDL_strchr SDL_strchr_REAL
1152#define SDL_strcmp SDL_strcmp_REAL
1153#define SDL_strdup SDL_strdup_REAL
1154#define SDL_strlcat SDL_strlcat_REAL
1155#define SDL_strlcpy SDL_strlcpy_REAL
1156#define SDL_strlen SDL_strlen_REAL
1157#define SDL_strlwr SDL_strlwr_REAL
1158#define SDL_strncasecmp SDL_strncasecmp_REAL
1159#define SDL_strncmp SDL_strncmp_REAL
1160#define SDL_strndup SDL_strndup_REAL
1161#define SDL_strnlen SDL_strnlen_REAL
1162#define SDL_strnstr SDL_strnstr_REAL
1163#define SDL_strpbrk SDL_strpbrk_REAL
1164#define SDL_strrchr SDL_strrchr_REAL
1165#define SDL_strrev SDL_strrev_REAL
1166#define SDL_strstr SDL_strstr_REAL
1167#define SDL_strtod SDL_strtod_REAL
1168#define SDL_strtok_r SDL_strtok_r_REAL
1169#define SDL_strtol SDL_strtol_REAL
1170#define SDL_strtoll SDL_strtoll_REAL
1171#define SDL_strtoul SDL_strtoul_REAL
1172#define SDL_strtoull SDL_strtoull_REAL
1173#define SDL_strupr SDL_strupr_REAL
1174#define SDL_swprintf SDL_swprintf_REAL
1175#define SDL_tan SDL_tan_REAL
1176#define SDL_tanf SDL_tanf_REAL
1177#define SDL_tolower SDL_tolower_REAL
1178#define SDL_toupper SDL_toupper_REAL
1179#define SDL_trunc SDL_trunc_REAL
1180#define SDL_truncf SDL_truncf_REAL
1181#define SDL_uitoa SDL_uitoa_REAL
1182#define SDL_ulltoa SDL_ulltoa_REAL
1183#define SDL_ultoa SDL_ultoa_REAL
1184#define SDL_unsetenv_unsafe SDL_unsetenv_unsafe_REAL
1185#define SDL_utf8strlcpy SDL_utf8strlcpy_REAL
1186#define SDL_utf8strlen SDL_utf8strlen_REAL
1187#define SDL_utf8strnlen SDL_utf8strnlen_REAL
1188#define SDL_vasprintf SDL_vasprintf_REAL
1189#define SDL_vsnprintf SDL_vsnprintf_REAL
1190#define SDL_vsscanf SDL_vsscanf_REAL
1191#define SDL_vswprintf SDL_vswprintf_REAL
1192#define SDL_wcscasecmp SDL_wcscasecmp_REAL
1193#define SDL_wcscmp SDL_wcscmp_REAL
1194#define SDL_wcsdup SDL_wcsdup_REAL
1195#define SDL_wcslcat SDL_wcslcat_REAL
1196#define SDL_wcslcpy SDL_wcslcpy_REAL
1197#define SDL_wcslen SDL_wcslen_REAL
1198#define SDL_wcsncasecmp SDL_wcsncasecmp_REAL
1199#define SDL_wcsncmp SDL_wcsncmp_REAL
1200#define SDL_wcsnlen SDL_wcsnlen_REAL
1201#define SDL_wcsnstr SDL_wcsnstr_REAL
1202#define SDL_wcsstr SDL_wcsstr_REAL
1203#define SDL_wcstol SDL_wcstol_REAL
1204#define SDL_StepBackUTF8 SDL_StepBackUTF8_REAL
1205#define SDL_DelayPrecise SDL_DelayPrecise_REAL
1206#define SDL_CalculateGPUTextureFormatSize SDL_CalculateGPUTextureFormatSize_REAL
1207#define SDL_SetErrorV SDL_SetErrorV_REAL
1208#define SDL_GetDefaultLogOutputFunction SDL_GetDefaultLogOutputFunction_REAL
1209#define SDL_RenderDebugText SDL_RenderDebugText_REAL
1210#define SDL_GetSandbox SDL_GetSandbox_REAL
1211#define SDL_CancelGPUCommandBuffer SDL_CancelGPUCommandBuffer_REAL
1212#define SDL_SaveFile_IO SDL_SaveFile_IO_REAL
1213#define SDL_SaveFile SDL_SaveFile_REAL
1214#define SDL_GetCurrentDirectory SDL_GetCurrentDirectory_REAL
1215#define SDL_IsAudioDevicePhysical SDL_IsAudioDevicePhysical_REAL
1216#define SDL_IsAudioDevicePlayback SDL_IsAudioDevicePlayback_REAL
1217#define SDL_AsyncIOFromFile SDL_AsyncIOFromFile_REAL
1218#define SDL_GetAsyncIOSize SDL_GetAsyncIOSize_REAL
1219#define SDL_ReadAsyncIO SDL_ReadAsyncIO_REAL
1220#define SDL_WriteAsyncIO SDL_WriteAsyncIO_REAL
1221#define SDL_CloseAsyncIO SDL_CloseAsyncIO_REAL
1222#define SDL_CreateAsyncIOQueue SDL_CreateAsyncIOQueue_REAL
1223#define SDL_DestroyAsyncIOQueue SDL_DestroyAsyncIOQueue_REAL
1224#define SDL_GetAsyncIOResult SDL_GetAsyncIOResult_REAL
1225#define SDL_WaitAsyncIOResult SDL_WaitAsyncIOResult_REAL
1226#define SDL_SignalAsyncIOQueue SDL_SignalAsyncIOQueue_REAL
1227#define SDL_LoadFileAsync SDL_LoadFileAsync_REAL
1228#define SDL_ShowFileDialogWithProperties SDL_ShowFileDialogWithProperties_REAL
1229#define SDL_IsMainThread SDL_IsMainThread_REAL
1230#define SDL_RunOnMainThread SDL_RunOnMainThread_REAL
1231#define SDL_SetGPUAllowedFramesInFlight SDL_SetGPUAllowedFramesInFlight_REAL
1232#define SDL_RenderTextureAffine SDL_RenderTextureAffine_REAL
1233#define SDL_WaitForGPUSwapchain SDL_WaitForGPUSwapchain_REAL
1234#define SDL_WaitAndAcquireGPUSwapchainTexture SDL_WaitAndAcquireGPUSwapchainTexture_REAL
1235#define SDL_RenderDebugTextFormat SDL_RenderDebugTextFormat_REAL
1236#define SDL_CreateTray SDL_CreateTray_REAL
1237#define SDL_SetTrayIcon SDL_SetTrayIcon_REAL
1238#define SDL_SetTrayTooltip SDL_SetTrayTooltip_REAL
1239#define SDL_CreateTrayMenu SDL_CreateTrayMenu_REAL
1240#define SDL_CreateTraySubmenu SDL_CreateTraySubmenu_REAL
1241#define SDL_GetTrayMenu SDL_GetTrayMenu_REAL
1242#define SDL_GetTraySubmenu SDL_GetTraySubmenu_REAL
1243#define SDL_GetTrayEntries SDL_GetTrayEntries_REAL
1244#define SDL_RemoveTrayEntry SDL_RemoveTrayEntry_REAL
1245#define SDL_InsertTrayEntryAt SDL_InsertTrayEntryAt_REAL
1246#define SDL_SetTrayEntryLabel SDL_SetTrayEntryLabel_REAL
1247#define SDL_GetTrayEntryLabel SDL_GetTrayEntryLabel_REAL
1248#define SDL_SetTrayEntryChecked SDL_SetTrayEntryChecked_REAL
1249#define SDL_GetTrayEntryChecked SDL_GetTrayEntryChecked_REAL
1250#define SDL_SetTrayEntryEnabled SDL_SetTrayEntryEnabled_REAL
1251#define SDL_GetTrayEntryEnabled SDL_GetTrayEntryEnabled_REAL
1252#define SDL_SetTrayEntryCallback SDL_SetTrayEntryCallback_REAL
1253#define SDL_DestroyTray SDL_DestroyTray_REAL
1254#define SDL_GetTrayEntryParent SDL_GetTrayEntryParent_REAL
1255#define SDL_GetTrayMenuParentEntry SDL_GetTrayMenuParentEntry_REAL
1256#define SDL_GetTrayMenuParentTray SDL_GetTrayMenuParentTray_REAL
1257#define SDL_GetThreadState SDL_GetThreadState_REAL
1258#define SDL_AudioStreamDevicePaused SDL_AudioStreamDevicePaused_REAL
1259#define SDL_ClickTrayEntry SDL_ClickTrayEntry_REAL
1260#define SDL_UpdateTrays SDL_UpdateTrays_REAL
1261#define SDL_StretchSurface SDL_StretchSurface_REAL
diff --git a/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_procs.h b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_procs.h
new file mode 100644
index 0000000..e86ac2a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_procs.h
@@ -0,0 +1,1269 @@
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
23/*
24 DO NOT EDIT THIS FILE BY HAND. It is autogenerated by gendynapi.py.
25 NEVER REARRANGE THIS FILE, THE ORDER IS ABI LAW.
26 Changing this file means bumping SDL_DYNAPI_VERSION. You can safely add
27 new items to the end of the file, though.
28 Also, this file gets included multiple times, don't add #pragma once, etc.
29*/
30
31// direct jump magic can use these, the rest needs special code.
32#ifndef SDL_DYNAPI_PROC_NO_VARARGS
33SDL_DYNAPI_PROC(size_t,SDL_IOprintf,(SDL_IOStream *a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),return)
34SDL_DYNAPI_PROC(void,SDL_Log,(SDL_PRINTF_FORMAT_STRING const char *a, ...),(a),)
35SDL_DYNAPI_PROC(void,SDL_LogCritical,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
36SDL_DYNAPI_PROC(void,SDL_LogDebug,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
37SDL_DYNAPI_PROC(void,SDL_LogError,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
38SDL_DYNAPI_PROC(void,SDL_LogInfo,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
39SDL_DYNAPI_PROC(void,SDL_LogMessage,(int a, SDL_LogPriority b, SDL_PRINTF_FORMAT_STRING const char *c, ...),(a,b,c),)
40SDL_DYNAPI_PROC(void,SDL_LogTrace,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
41SDL_DYNAPI_PROC(void,SDL_LogVerbose,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
42SDL_DYNAPI_PROC(void,SDL_LogWarn,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
43SDL_DYNAPI_PROC(bool,SDL_SetError,(SDL_PRINTF_FORMAT_STRING const char *a, ...),(a),return)
44SDL_DYNAPI_PROC(int,SDL_asprintf,(char **a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),return)
45SDL_DYNAPI_PROC(int,SDL_snprintf,(SDL_OUT_Z_CAP(b) char *a, size_t b, SDL_PRINTF_FORMAT_STRING const char *c, ...),(a,b,c),return)
46SDL_DYNAPI_PROC(int,SDL_sscanf,(const char *a, SDL_SCANF_FORMAT_STRING const char *b, ...),(a,b),return)
47SDL_DYNAPI_PROC(int,SDL_swprintf,(SDL_OUT_Z_CAP(b) wchar_t *a, size_t b, SDL_PRINTF_FORMAT_STRING const wchar_t *c, ...),(a,b,c),return)
48#endif
49
50// New API symbols are added at the end
51SDL_DYNAPI_PROC(SDL_Surface*,SDL_AcquireCameraFrame,(SDL_Camera *a, Uint64 *b),(a,b),return)
52SDL_DYNAPI_PROC(SDL_GPUCommandBuffer*,SDL_AcquireGPUCommandBuffer,(SDL_GPUDevice *a),(a),return)
53SDL_DYNAPI_PROC(bool,SDL_AcquireGPUSwapchainTexture,(SDL_GPUCommandBuffer *a, SDL_Window *b, SDL_GPUTexture **c, Uint32 *d, Uint32 *e),(a,b,c,d,e),return)
54SDL_DYNAPI_PROC(int,SDL_AddAtomicInt,(SDL_AtomicInt *a, int b),(a,b),return)
55SDL_DYNAPI_PROC(bool,SDL_AddEventWatch,(SDL_EventFilter a, void *b),(a,b),return)
56SDL_DYNAPI_PROC(int,SDL_AddGamepadMapping,(const char *a),(a),return)
57SDL_DYNAPI_PROC(int,SDL_AddGamepadMappingsFromFile,(const char *a),(a),return)
58SDL_DYNAPI_PROC(int,SDL_AddGamepadMappingsFromIO,(SDL_IOStream *a, bool b),(a,b),return)
59SDL_DYNAPI_PROC(bool,SDL_AddHintCallback,(const char *a, SDL_HintCallback b, void *c),(a,b,c),return)
60SDL_DYNAPI_PROC(bool,SDL_AddSurfaceAlternateImage,(SDL_Surface *a, SDL_Surface *b),(a,b),return)
61SDL_DYNAPI_PROC(SDL_TimerID,SDL_AddTimer,(Uint32 a, SDL_TimerCallback b, void *c),(a,b,c),return)
62SDL_DYNAPI_PROC(SDL_TimerID,SDL_AddTimerNS,(Uint64 a, SDL_NSTimerCallback b, void *c),(a,b,c),return)
63SDL_DYNAPI_PROC(bool,SDL_AddVulkanRenderSemaphores,(SDL_Renderer *a, Uint32 b, Sint64 c, Sint64 d),(a,b,c,d),return)
64SDL_DYNAPI_PROC(SDL_JoystickID,SDL_AttachVirtualJoystick,(const SDL_VirtualJoystickDesc *a),(a),return)
65SDL_DYNAPI_PROC(bool,SDL_AudioDevicePaused,(SDL_AudioDeviceID a),(a),return)
66SDL_DYNAPI_PROC(SDL_GPUComputePass*,SDL_BeginGPUComputePass,(SDL_GPUCommandBuffer *a, const SDL_GPUStorageTextureReadWriteBinding *b, Uint32 c, const SDL_GPUStorageBufferReadWriteBinding *d, Uint32 e),(a,b,c,d,e),return)
67SDL_DYNAPI_PROC(SDL_GPUCopyPass*,SDL_BeginGPUCopyPass,(SDL_GPUCommandBuffer *a),(a),return)
68SDL_DYNAPI_PROC(SDL_GPURenderPass*,SDL_BeginGPURenderPass,(SDL_GPUCommandBuffer *a, const SDL_GPUColorTargetInfo *b, Uint32 c, const SDL_GPUDepthStencilTargetInfo *d),(a,b,c,d),return)
69SDL_DYNAPI_PROC(bool,SDL_BindAudioStream,(SDL_AudioDeviceID a, SDL_AudioStream *b),(a,b),return)
70SDL_DYNAPI_PROC(bool,SDL_BindAudioStreams,(SDL_AudioDeviceID a, SDL_AudioStream * const *b, int c),(a,b,c),return)
71SDL_DYNAPI_PROC(void,SDL_BindGPUComputePipeline,(SDL_GPUComputePass *a, SDL_GPUComputePipeline *b),(a,b),)
72SDL_DYNAPI_PROC(void,SDL_BindGPUComputeSamplers,(SDL_GPUComputePass *a, Uint32 b, const SDL_GPUTextureSamplerBinding *c, Uint32 d),(a,b,c,d),)
73SDL_DYNAPI_PROC(void,SDL_BindGPUComputeStorageBuffers,(SDL_GPUComputePass *a, Uint32 b, SDL_GPUBuffer *const *c, Uint32 d),(a,b,c,d),)
74SDL_DYNAPI_PROC(void,SDL_BindGPUComputeStorageTextures,(SDL_GPUComputePass *a, Uint32 b, SDL_GPUTexture *const *c, Uint32 d),(a,b,c,d),)
75SDL_DYNAPI_PROC(void,SDL_BindGPUFragmentSamplers,(SDL_GPURenderPass *a, Uint32 b, const SDL_GPUTextureSamplerBinding *c, Uint32 d),(a,b,c,d),)
76SDL_DYNAPI_PROC(void,SDL_BindGPUFragmentStorageBuffers,(SDL_GPURenderPass *a, Uint32 b, SDL_GPUBuffer *const *c, Uint32 d),(a,b,c,d),)
77SDL_DYNAPI_PROC(void,SDL_BindGPUFragmentStorageTextures,(SDL_GPURenderPass *a, Uint32 b, SDL_GPUTexture *const *c, Uint32 d),(a,b,c,d),)
78SDL_DYNAPI_PROC(void,SDL_BindGPUGraphicsPipeline,(SDL_GPURenderPass *a, SDL_GPUGraphicsPipeline *b),(a,b),)
79SDL_DYNAPI_PROC(void,SDL_BindGPUIndexBuffer,(SDL_GPURenderPass *a, const SDL_GPUBufferBinding *b, SDL_GPUIndexElementSize c),(a,b,c),)
80SDL_DYNAPI_PROC(void,SDL_BindGPUVertexBuffers,(SDL_GPURenderPass *a, Uint32 b, const SDL_GPUBufferBinding *c, Uint32 d),(a,b,c,d),)
81SDL_DYNAPI_PROC(void,SDL_BindGPUVertexSamplers,(SDL_GPURenderPass *a, Uint32 b, const SDL_GPUTextureSamplerBinding *c, Uint32 d),(a,b,c,d),)
82SDL_DYNAPI_PROC(void,SDL_BindGPUVertexStorageBuffers,(SDL_GPURenderPass *a, Uint32 b, SDL_GPUBuffer *const *c, Uint32 d),(a,b,c,d),)
83SDL_DYNAPI_PROC(void,SDL_BindGPUVertexStorageTextures,(SDL_GPURenderPass *a, Uint32 b, SDL_GPUTexture *const *c, Uint32 d),(a,b,c,d),)
84SDL_DYNAPI_PROC(void,SDL_BlitGPUTexture,(SDL_GPUCommandBuffer *a, const SDL_GPUBlitInfo *b),(a,b),)
85SDL_DYNAPI_PROC(bool,SDL_BlitSurface,(SDL_Surface *a, const SDL_Rect *b, SDL_Surface *c, const SDL_Rect *d),(a,b,c,d),return)
86SDL_DYNAPI_PROC(bool,SDL_BlitSurface9Grid,(SDL_Surface *a, const SDL_Rect *b, int c, int d, int e, int f, float g, SDL_ScaleMode h, SDL_Surface *i, const SDL_Rect *j),(a,b,c,d,e,f,g,h,i,j),return)
87SDL_DYNAPI_PROC(bool,SDL_BlitSurfaceScaled,(SDL_Surface *a, const SDL_Rect *b, SDL_Surface *c, const SDL_Rect *d, SDL_ScaleMode e),(a,b,c,d,e),return)
88SDL_DYNAPI_PROC(bool,SDL_BlitSurfaceTiled,(SDL_Surface *a, const SDL_Rect *b, SDL_Surface *c, const SDL_Rect *d),(a,b,c,d),return)
89SDL_DYNAPI_PROC(bool,SDL_BlitSurfaceTiledWithScale,(SDL_Surface *a, const SDL_Rect *b, float c, SDL_ScaleMode d, SDL_Surface *e, const SDL_Rect *f),(a,b,c,d,e,f),return)
90SDL_DYNAPI_PROC(bool,SDL_BlitSurfaceUnchecked,(SDL_Surface *a, const SDL_Rect *b, SDL_Surface *c, const SDL_Rect *d),(a,b,c,d),return)
91SDL_DYNAPI_PROC(bool,SDL_BlitSurfaceUncheckedScaled,(SDL_Surface *a, const SDL_Rect *b, SDL_Surface *c, const SDL_Rect *d, SDL_ScaleMode e),(a,b,c,d,e),return)
92SDL_DYNAPI_PROC(void,SDL_BroadcastCondition,(SDL_Condition *a),(a),)
93SDL_DYNAPI_PROC(bool,SDL_CaptureMouse,(bool a),(a),return)
94SDL_DYNAPI_PROC(bool,SDL_ClaimWindowForGPUDevice,(SDL_GPUDevice *a, SDL_Window *b),(a,b),return)
95SDL_DYNAPI_PROC(void,SDL_CleanupTLS,(void),(),)
96SDL_DYNAPI_PROC(bool,SDL_ClearAudioStream,(SDL_AudioStream *a),(a),return)
97SDL_DYNAPI_PROC(bool,SDL_ClearClipboardData,(void),(),return)
98SDL_DYNAPI_PROC(bool,SDL_ClearComposition,(SDL_Window *a),(a),return)
99SDL_DYNAPI_PROC(bool,SDL_ClearError,(void),(),return)
100SDL_DYNAPI_PROC(bool,SDL_ClearProperty,(SDL_PropertiesID a, const char *b),(a,b),return)
101SDL_DYNAPI_PROC(bool,SDL_ClearSurface,(SDL_Surface *a, float b, float c, float d, float e),(a,b,c,d,e),return)
102SDL_DYNAPI_PROC(void,SDL_CloseAudioDevice,(SDL_AudioDeviceID a),(a),)
103SDL_DYNAPI_PROC(void,SDL_CloseCamera,(SDL_Camera *a),(a),)
104SDL_DYNAPI_PROC(void,SDL_CloseGamepad,(SDL_Gamepad *a),(a),)
105SDL_DYNAPI_PROC(void,SDL_CloseHaptic,(SDL_Haptic *a),(a),)
106SDL_DYNAPI_PROC(bool,SDL_CloseIO,(SDL_IOStream *a),(a),return)
107SDL_DYNAPI_PROC(void,SDL_CloseJoystick,(SDL_Joystick *a),(a),)
108SDL_DYNAPI_PROC(void,SDL_CloseSensor,(SDL_Sensor *a),(a),)
109SDL_DYNAPI_PROC(bool,SDL_CloseStorage,(SDL_Storage *a),(a),return)
110SDL_DYNAPI_PROC(bool,SDL_CompareAndSwapAtomicInt,(SDL_AtomicInt *a, int b, int c),(a,b,c),return)
111SDL_DYNAPI_PROC(bool,SDL_CompareAndSwapAtomicPointer,(void **a, void *b, void *c),(a,b,c),return)
112SDL_DYNAPI_PROC(bool,SDL_CompareAndSwapAtomicU32,(SDL_AtomicU32 *a, Uint32 b, Uint32 c),(a,b,c),return)
113SDL_DYNAPI_PROC(SDL_BlendMode,SDL_ComposeCustomBlendMode,(SDL_BlendFactor a, SDL_BlendFactor b, SDL_BlendOperation c, SDL_BlendFactor d, SDL_BlendFactor e, SDL_BlendOperation f),(a,b,c,d,e,f),return)
114SDL_DYNAPI_PROC(bool,SDL_ConvertAudioSamples,(const SDL_AudioSpec *a, const Uint8 *b, int c, const SDL_AudioSpec *d, Uint8 **e, int *f),(a,b,c,d,e,f),return)
115SDL_DYNAPI_PROC(bool,SDL_ConvertEventToRenderCoordinates,(SDL_Renderer *a, SDL_Event *b),(a,b),return)
116SDL_DYNAPI_PROC(bool,SDL_ConvertPixels,(int a, int b, SDL_PixelFormat c, const void *d, int e, SDL_PixelFormat f, void *g, int h),(a,b,c,d,e,f,g,h),return)
117SDL_DYNAPI_PROC(bool,SDL_ConvertPixelsAndColorspace,(int a, int b, SDL_PixelFormat c, SDL_Colorspace d, SDL_PropertiesID e, const void *f, int g, SDL_PixelFormat h, SDL_Colorspace i, SDL_PropertiesID j, void *k, int l),(a,b,c,d,e,f,g,h,i,j,k,l),return)
118SDL_DYNAPI_PROC(SDL_Surface*,SDL_ConvertSurface,(SDL_Surface *a, SDL_PixelFormat b),(a,b),return)
119SDL_DYNAPI_PROC(SDL_Surface*,SDL_ConvertSurfaceAndColorspace,(SDL_Surface *a, SDL_PixelFormat b, SDL_Palette *c, SDL_Colorspace d, SDL_PropertiesID e),(a,b,c,d,e),return)
120SDL_DYNAPI_PROC(bool,SDL_CopyFile,(const char *a, const char *b),(a,b),return)
121SDL_DYNAPI_PROC(void,SDL_CopyGPUBufferToBuffer,(SDL_GPUCopyPass *a, const SDL_GPUBufferLocation *b, const SDL_GPUBufferLocation *c, Uint32 d, bool e),(a,b,c,d,e),)
122SDL_DYNAPI_PROC(void,SDL_CopyGPUTextureToTexture,(SDL_GPUCopyPass *a, const SDL_GPUTextureLocation *b, const SDL_GPUTextureLocation *c, Uint32 d, Uint32 e, Uint32 f, bool g),(a,b,c,d,e,f,g),)
123SDL_DYNAPI_PROC(bool,SDL_CopyProperties,(SDL_PropertiesID a, SDL_PropertiesID b),(a,b),return)
124SDL_DYNAPI_PROC(bool,SDL_CopyStorageFile,(SDL_Storage *a, const char *b, const char *c),(a,b,c),return)
125SDL_DYNAPI_PROC(SDL_AudioStream*,SDL_CreateAudioStream,(const SDL_AudioSpec *a, const SDL_AudioSpec *b),(a,b),return)
126SDL_DYNAPI_PROC(SDL_Cursor*,SDL_CreateColorCursor,(SDL_Surface *a, int b, int c),(a,b,c),return)
127SDL_DYNAPI_PROC(SDL_Condition*,SDL_CreateCondition,(void),(),return)
128SDL_DYNAPI_PROC(SDL_Cursor*,SDL_CreateCursor,(const Uint8 *a, const Uint8 *b, int c, int d, int e, int f),(a,b,c,d,e,f),return)
129SDL_DYNAPI_PROC(bool,SDL_CreateDirectory,(const char *a),(a),return)
130SDL_DYNAPI_PROC(SDL_Environment*,SDL_CreateEnvironment,(bool a),(a),return)
131SDL_DYNAPI_PROC(SDL_GPUBuffer*,SDL_CreateGPUBuffer,(SDL_GPUDevice *a, const SDL_GPUBufferCreateInfo* b),(a,b),return)
132SDL_DYNAPI_PROC(SDL_GPUComputePipeline*,SDL_CreateGPUComputePipeline,(SDL_GPUDevice *a, const SDL_GPUComputePipelineCreateInfo *b),(a,b),return)
133SDL_DYNAPI_PROC(SDL_GPUDevice*,SDL_CreateGPUDevice,(SDL_GPUShaderFormat a, bool b, const char *c),(a,b,c),return)
134SDL_DYNAPI_PROC(SDL_GPUDevice*,SDL_CreateGPUDeviceWithProperties,(SDL_PropertiesID a),(a),return)
135SDL_DYNAPI_PROC(SDL_GPUGraphicsPipeline*,SDL_CreateGPUGraphicsPipeline,(SDL_GPUDevice *a, const SDL_GPUGraphicsPipelineCreateInfo *b),(a,b),return)
136SDL_DYNAPI_PROC(SDL_GPUSampler*,SDL_CreateGPUSampler,(SDL_GPUDevice *a, const SDL_GPUSamplerCreateInfo *b),(a,b),return)
137SDL_DYNAPI_PROC(SDL_GPUShader*,SDL_CreateGPUShader,(SDL_GPUDevice *a, const SDL_GPUShaderCreateInfo *b),(a,b),return)
138SDL_DYNAPI_PROC(SDL_GPUTexture*,SDL_CreateGPUTexture,(SDL_GPUDevice *a, const SDL_GPUTextureCreateInfo *b),(a,b),return)
139SDL_DYNAPI_PROC(SDL_GPUTransferBuffer*,SDL_CreateGPUTransferBuffer,(SDL_GPUDevice *a, const SDL_GPUTransferBufferCreateInfo *b),(a,b),return)
140SDL_DYNAPI_PROC(int,SDL_CreateHapticEffect,(SDL_Haptic *a, const SDL_HapticEffect *b),(a,b),return)
141SDL_DYNAPI_PROC(SDL_Mutex*,SDL_CreateMutex,(void),(),return)
142SDL_DYNAPI_PROC(SDL_Palette*,SDL_CreatePalette,(int a),(a),return)
143SDL_DYNAPI_PROC(SDL_Window*,SDL_CreatePopupWindow,(SDL_Window *a, int b, int c, int d, int e, SDL_WindowFlags f),(a,b,c,d,e,f),return)
144SDL_DYNAPI_PROC(SDL_Process*,SDL_CreateProcess,(const char * const *a, bool b),(a,b),return)
145SDL_DYNAPI_PROC(SDL_Process*,SDL_CreateProcessWithProperties,(SDL_PropertiesID a),(a),return)
146SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_CreateProperties,(void),(),return)
147SDL_DYNAPI_PROC(SDL_RWLock*,SDL_CreateRWLock,(void),(),return)
148SDL_DYNAPI_PROC(SDL_Renderer*,SDL_CreateRenderer,(SDL_Window *a, const char *b),(a,b),return)
149SDL_DYNAPI_PROC(SDL_Renderer*,SDL_CreateRendererWithProperties,(SDL_PropertiesID a),(a),return)
150SDL_DYNAPI_PROC(SDL_Semaphore*,SDL_CreateSemaphore,(Uint32 a),(a),return)
151SDL_DYNAPI_PROC(SDL_Renderer*,SDL_CreateSoftwareRenderer,(SDL_Surface *a),(a),return)
152SDL_DYNAPI_PROC(bool,SDL_CreateStorageDirectory,(SDL_Storage *a, const char *b),(a,b),return)
153SDL_DYNAPI_PROC(SDL_Surface*,SDL_CreateSurface,(int a, int b, SDL_PixelFormat c),(a,b,c),return)
154SDL_DYNAPI_PROC(SDL_Surface*,SDL_CreateSurfaceFrom,(int a, int b, SDL_PixelFormat c, void *d, int e),(a,b,c,d,e),return)
155SDL_DYNAPI_PROC(SDL_Palette*,SDL_CreateSurfacePalette,(SDL_Surface *a),(a),return)
156SDL_DYNAPI_PROC(SDL_Cursor*,SDL_CreateSystemCursor,(SDL_SystemCursor a),(a),return)
157SDL_DYNAPI_PROC(SDL_Texture*,SDL_CreateTexture,(SDL_Renderer *a, SDL_PixelFormat b, SDL_TextureAccess c, int d, int e),(a,b,c,d,e),return)
158SDL_DYNAPI_PROC(SDL_Texture*,SDL_CreateTextureFromSurface,(SDL_Renderer *a, SDL_Surface *b),(a,b),return)
159SDL_DYNAPI_PROC(SDL_Texture*,SDL_CreateTextureWithProperties,(SDL_Renderer *a, SDL_PropertiesID b),(a,b),return)
160SDL_DYNAPI_PROC(SDL_Thread*,SDL_CreateThreadRuntime,(SDL_ThreadFunction a, const char *b, void *c, SDL_FunctionPointer d, SDL_FunctionPointer e),(a,b,c,d,e),return)
161SDL_DYNAPI_PROC(SDL_Thread*,SDL_CreateThreadWithPropertiesRuntime,(SDL_PropertiesID a, SDL_FunctionPointer b, SDL_FunctionPointer c),(a,b,c),return)
162SDL_DYNAPI_PROC(SDL_Window*,SDL_CreateWindow,(const char *a, int b, int c, SDL_WindowFlags d),(a,b,c,d),return)
163SDL_DYNAPI_PROC(bool,SDL_CreateWindowAndRenderer,(const char *a, int b, int c, SDL_WindowFlags d, SDL_Window **e, SDL_Renderer **f),(a,b,c,d,e,f),return)
164SDL_DYNAPI_PROC(SDL_Window*,SDL_CreateWindowWithProperties,(SDL_PropertiesID a),(a),return)
165SDL_DYNAPI_PROC(bool,SDL_CursorVisible,(void),(),return)
166SDL_DYNAPI_PROC(bool,SDL_DateTimeToTime,(const SDL_DateTime *a, SDL_Time *b),(a,b),return)
167SDL_DYNAPI_PROC(void,SDL_Delay,(Uint32 a),(a),)
168SDL_DYNAPI_PROC(void,SDL_DelayNS,(Uint64 a),(a),)
169SDL_DYNAPI_PROC(void,SDL_DestroyAudioStream,(SDL_AudioStream *a),(a),)
170SDL_DYNAPI_PROC(void,SDL_DestroyCondition,(SDL_Condition *a),(a),)
171SDL_DYNAPI_PROC(void,SDL_DestroyCursor,(SDL_Cursor *a),(a),)
172SDL_DYNAPI_PROC(void,SDL_DestroyEnvironment,(SDL_Environment *a),(a),)
173SDL_DYNAPI_PROC(void,SDL_DestroyGPUDevice,(SDL_GPUDevice *a),(a),)
174SDL_DYNAPI_PROC(void,SDL_DestroyHapticEffect,(SDL_Haptic *a, int b),(a,b),)
175SDL_DYNAPI_PROC(void,SDL_DestroyMutex,(SDL_Mutex *a),(a),)
176SDL_DYNAPI_PROC(void,SDL_DestroyPalette,(SDL_Palette *a),(a),)
177SDL_DYNAPI_PROC(void,SDL_DestroyProcess,(SDL_Process *a),(a),)
178SDL_DYNAPI_PROC(void,SDL_DestroyProperties,(SDL_PropertiesID a),(a),)
179SDL_DYNAPI_PROC(void,SDL_DestroyRWLock,(SDL_RWLock *a),(a),)
180SDL_DYNAPI_PROC(void,SDL_DestroyRenderer,(SDL_Renderer *a),(a),)
181SDL_DYNAPI_PROC(void,SDL_DestroySemaphore,(SDL_Semaphore *a),(a),)
182SDL_DYNAPI_PROC(void,SDL_DestroySurface,(SDL_Surface *a),(a),)
183SDL_DYNAPI_PROC(void,SDL_DestroyTexture,(SDL_Texture *a),(a),)
184SDL_DYNAPI_PROC(void,SDL_DestroyWindow,(SDL_Window *a),(a),)
185SDL_DYNAPI_PROC(bool,SDL_DestroyWindowSurface,(SDL_Window *a),(a),return)
186SDL_DYNAPI_PROC(void,SDL_DetachThread,(SDL_Thread *a),(a),)
187SDL_DYNAPI_PROC(bool,SDL_DetachVirtualJoystick,(SDL_JoystickID a),(a),return)
188SDL_DYNAPI_PROC(bool,SDL_DisableScreenSaver,(void),(),return)
189SDL_DYNAPI_PROC(void,SDL_DispatchGPUCompute,(SDL_GPUComputePass *a, Uint32 b, Uint32 c, Uint32 d),(a,b,c,d),)
190SDL_DYNAPI_PROC(void,SDL_DispatchGPUComputeIndirect,(SDL_GPUComputePass *a, SDL_GPUBuffer *b, Uint32 c),(a,b,c),)
191SDL_DYNAPI_PROC(void,SDL_DownloadFromGPUBuffer,(SDL_GPUCopyPass *a, const SDL_GPUBufferRegion *b, const SDL_GPUTransferBufferLocation *c),(a,b,c),)
192SDL_DYNAPI_PROC(void,SDL_DownloadFromGPUTexture,(SDL_GPUCopyPass *a, const SDL_GPUTextureRegion *b, const SDL_GPUTextureTransferInfo *c),(a,b,c),)
193SDL_DYNAPI_PROC(void,SDL_DrawGPUIndexedPrimitives,(SDL_GPURenderPass *a, Uint32 b, Uint32 c, Uint32 d, Sint32 e, Uint32 f),(a,b,c,d,e,f),)
194SDL_DYNAPI_PROC(void,SDL_DrawGPUIndexedPrimitivesIndirect,(SDL_GPURenderPass *a, SDL_GPUBuffer *b, Uint32 c, Uint32 d),(a,b,c,d),)
195SDL_DYNAPI_PROC(void,SDL_DrawGPUPrimitives,(SDL_GPURenderPass *a, Uint32 b, Uint32 c, Uint32 d, Uint32 e),(a,b,c,d,e),)
196SDL_DYNAPI_PROC(void,SDL_DrawGPUPrimitivesIndirect,(SDL_GPURenderPass *a, SDL_GPUBuffer *b, Uint32 c, Uint32 d),(a,b,c,d),)
197SDL_DYNAPI_PROC(SDL_Surface*,SDL_DuplicateSurface,(SDL_Surface *a),(a),return)
198SDL_DYNAPI_PROC(SDL_EGLConfig,SDL_EGL_GetCurrentConfig,(void),(),return)
199SDL_DYNAPI_PROC(SDL_EGLDisplay,SDL_EGL_GetCurrentDisplay,(void),(),return)
200SDL_DYNAPI_PROC(SDL_FunctionPointer,SDL_EGL_GetProcAddress,(const char *a),(a),return)
201SDL_DYNAPI_PROC(SDL_EGLSurface,SDL_EGL_GetWindowSurface,(SDL_Window *a),(a),return)
202SDL_DYNAPI_PROC(void,SDL_EGL_SetAttributeCallbacks,(SDL_EGLAttribArrayCallback a, SDL_EGLIntArrayCallback b, SDL_EGLIntArrayCallback c, void *d),(a,b,c,d),)
203SDL_DYNAPI_PROC(bool,SDL_EnableScreenSaver,(void),(),return)
204SDL_DYNAPI_PROC(void,SDL_EndGPUComputePass,(SDL_GPUComputePass *a),(a),)
205SDL_DYNAPI_PROC(void,SDL_EndGPUCopyPass,(SDL_GPUCopyPass *a),(a),)
206SDL_DYNAPI_PROC(void,SDL_EndGPURenderPass,(SDL_GPURenderPass *a),(a),)
207SDL_DYNAPI_PROC(int,SDL_EnterAppMainCallbacks,(int a, char *b[], SDL_AppInit_func c, SDL_AppIterate_func d, SDL_AppEvent_func e, SDL_AppQuit_func f),(a,b,c,d,e,f),return)
208SDL_DYNAPI_PROC(bool,SDL_EnumerateDirectory,(const char *a, SDL_EnumerateDirectoryCallback b, void *c),(a,b,c),return)
209SDL_DYNAPI_PROC(bool,SDL_EnumerateProperties,(SDL_PropertiesID a, SDL_EnumeratePropertiesCallback b, void *c),(a,b,c),return)
210SDL_DYNAPI_PROC(bool,SDL_EnumerateStorageDirectory,(SDL_Storage *a, const char *b, SDL_EnumerateDirectoryCallback c, void *d),(a,b,c,d),return)
211SDL_DYNAPI_PROC(bool,SDL_EventEnabled,(Uint32 a),(a),return)
212SDL_DYNAPI_PROC(bool,SDL_FillSurfaceRect,(SDL_Surface *a, const SDL_Rect *b, Uint32 c),(a,b,c),return)
213SDL_DYNAPI_PROC(bool,SDL_FillSurfaceRects,(SDL_Surface *a, const SDL_Rect *b, int c, Uint32 d),(a,b,c,d),return)
214SDL_DYNAPI_PROC(void,SDL_FilterEvents,(SDL_EventFilter a, void *b),(a,b),)
215SDL_DYNAPI_PROC(bool,SDL_FlashWindow,(SDL_Window *a, SDL_FlashOperation b),(a,b),return)
216SDL_DYNAPI_PROC(bool,SDL_FlipSurface,(SDL_Surface *a, SDL_FlipMode b),(a,b),return)
217SDL_DYNAPI_PROC(bool,SDL_FlushAudioStream,(SDL_AudioStream *a),(a),return)
218SDL_DYNAPI_PROC(void,SDL_FlushEvent,(Uint32 a),(a),)
219SDL_DYNAPI_PROC(void,SDL_FlushEvents,(Uint32 a, Uint32 b),(a,b),)
220SDL_DYNAPI_PROC(bool,SDL_FlushIO,(SDL_IOStream *a),(a),return)
221SDL_DYNAPI_PROC(bool,SDL_FlushRenderer,(SDL_Renderer *a),(a),return)
222SDL_DYNAPI_PROC(void,SDL_GDKResumeGPU,(SDL_GPUDevice *a),(a),)
223SDL_DYNAPI_PROC(void,SDL_GDKSuspendComplete,(void),(),)
224SDL_DYNAPI_PROC(void,SDL_GDKSuspendGPU,(SDL_GPUDevice *a),(a),)
225SDL_DYNAPI_PROC(SDL_GLContext,SDL_GL_CreateContext,(SDL_Window *a),(a),return)
226SDL_DYNAPI_PROC(bool,SDL_GL_DestroyContext,(SDL_GLContext a),(a),return)
227SDL_DYNAPI_PROC(bool,SDL_GL_ExtensionSupported,(const char *a),(a),return)
228SDL_DYNAPI_PROC(bool,SDL_GL_GetAttribute,(SDL_GLAttr a, int *b),(a,b),return)
229SDL_DYNAPI_PROC(SDL_GLContext,SDL_GL_GetCurrentContext,(void),(),return)
230SDL_DYNAPI_PROC(SDL_Window*,SDL_GL_GetCurrentWindow,(void),(),return)
231SDL_DYNAPI_PROC(SDL_FunctionPointer,SDL_GL_GetProcAddress,(const char *a),(a),return)
232SDL_DYNAPI_PROC(bool,SDL_GL_GetSwapInterval,(int *a),(a),return)
233SDL_DYNAPI_PROC(bool,SDL_GL_LoadLibrary,(const char *a),(a),return)
234SDL_DYNAPI_PROC(bool,SDL_GL_MakeCurrent,(SDL_Window *a, SDL_GLContext b),(a,b),return)
235SDL_DYNAPI_PROC(void,SDL_GL_ResetAttributes,(void),(),)
236SDL_DYNAPI_PROC(bool,SDL_GL_SetAttribute,(SDL_GLAttr a, int b),(a,b),return)
237SDL_DYNAPI_PROC(bool,SDL_GL_SetSwapInterval,(int a),(a),return)
238SDL_DYNAPI_PROC(bool,SDL_GL_SwapWindow,(SDL_Window *a),(a),return)
239SDL_DYNAPI_PROC(void,SDL_GL_UnloadLibrary,(void),(),)
240SDL_DYNAPI_PROC(bool,SDL_GPUSupportsProperties,(SDL_PropertiesID a),(a),return)
241SDL_DYNAPI_PROC(bool,SDL_GPUSupportsShaderFormats,(SDL_GPUShaderFormat a, const char *b),(a,b),return)
242SDL_DYNAPI_PROC(Uint32,SDL_GPUTextureFormatTexelBlockSize,(SDL_GPUTextureFormat a),(a),return)
243SDL_DYNAPI_PROC(bool,SDL_GPUTextureSupportsFormat,(SDL_GPUDevice *a, SDL_GPUTextureFormat b, SDL_GPUTextureType c, SDL_GPUTextureUsageFlags d),(a,b,c,d),return)
244SDL_DYNAPI_PROC(bool,SDL_GPUTextureSupportsSampleCount,(SDL_GPUDevice *a, SDL_GPUTextureFormat b, SDL_GPUSampleCount c),(a,b,c),return)
245SDL_DYNAPI_PROC(void,SDL_GUIDToString,(SDL_GUID a, char *b, int c),(a,b,c),)
246SDL_DYNAPI_PROC(bool,SDL_GamepadConnected,(SDL_Gamepad *a),(a),return)
247SDL_DYNAPI_PROC(bool,SDL_GamepadEventsEnabled,(void),(),return)
248SDL_DYNAPI_PROC(bool,SDL_GamepadHasAxis,(SDL_Gamepad *a, SDL_GamepadAxis b),(a,b),return)
249SDL_DYNAPI_PROC(bool,SDL_GamepadHasButton,(SDL_Gamepad *a, SDL_GamepadButton b),(a,b),return)
250SDL_DYNAPI_PROC(bool,SDL_GamepadHasSensor,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
251SDL_DYNAPI_PROC(bool,SDL_GamepadSensorEnabled,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
252SDL_DYNAPI_PROC(void,SDL_GenerateMipmapsForGPUTexture,(SDL_GPUCommandBuffer *a, SDL_GPUTexture *b),(a,b),)
253SDL_DYNAPI_PROC(void*,SDL_GetAndroidActivity,(void),(),return)
254SDL_DYNAPI_PROC(const char*,SDL_GetAndroidCachePath,(void),(),return)
255SDL_DYNAPI_PROC(const char*,SDL_GetAndroidExternalStoragePath,(void),(),return)
256SDL_DYNAPI_PROC(Uint32,SDL_GetAndroidExternalStorageState,(void),(),return)
257SDL_DYNAPI_PROC(const char*,SDL_GetAndroidInternalStoragePath,(void),(),return)
258SDL_DYNAPI_PROC(void*,SDL_GetAndroidJNIEnv,(void),(),return)
259SDL_DYNAPI_PROC(int,SDL_GetAndroidSDKVersion,(void),(),return)
260SDL_DYNAPI_PROC(const char*,SDL_GetAppMetadataProperty,(const char *a),(a),return)
261SDL_DYNAPI_PROC(SDL_AssertionHandler,SDL_GetAssertionHandler,(void **a),(a),return)
262SDL_DYNAPI_PROC(const SDL_AssertData*,SDL_GetAssertionReport,(void),(),return)
263SDL_DYNAPI_PROC(int,SDL_GetAtomicInt,(SDL_AtomicInt *a),(a),return)
264SDL_DYNAPI_PROC(void*,SDL_GetAtomicPointer,(void **a),(a),return)
265SDL_DYNAPI_PROC(Uint32,SDL_GetAtomicU32,(SDL_AtomicU32 *a),(a),return)
266SDL_DYNAPI_PROC(int*,SDL_GetAudioDeviceChannelMap,(SDL_AudioDeviceID a, int *b),(a,b),return)
267SDL_DYNAPI_PROC(bool,SDL_GetAudioDeviceFormat,(SDL_AudioDeviceID a, SDL_AudioSpec *b, int *c),(a,b,c),return)
268SDL_DYNAPI_PROC(float,SDL_GetAudioDeviceGain,(SDL_AudioDeviceID a),(a),return)
269SDL_DYNAPI_PROC(const char*,SDL_GetAudioDeviceName,(SDL_AudioDeviceID a),(a),return)
270SDL_DYNAPI_PROC(const char*,SDL_GetAudioDriver,(int a),(a),return)
271SDL_DYNAPI_PROC(const char*,SDL_GetAudioFormatName,(SDL_AudioFormat a),(a),return)
272SDL_DYNAPI_PROC(SDL_AudioDeviceID*,SDL_GetAudioPlaybackDevices,(int *a),(a),return)
273SDL_DYNAPI_PROC(SDL_AudioDeviceID*,SDL_GetAudioRecordingDevices,(int *a),(a),return)
274SDL_DYNAPI_PROC(int,SDL_GetAudioStreamAvailable,(SDL_AudioStream *a),(a),return)
275SDL_DYNAPI_PROC(int,SDL_GetAudioStreamData,(SDL_AudioStream *a, void *b, int c),(a,b,c),return)
276SDL_DYNAPI_PROC(SDL_AudioDeviceID,SDL_GetAudioStreamDevice,(SDL_AudioStream *a),(a),return)
277SDL_DYNAPI_PROC(bool,SDL_GetAudioStreamFormat,(SDL_AudioStream *a, SDL_AudioSpec *b, SDL_AudioSpec *c),(a,b,c),return)
278SDL_DYNAPI_PROC(float,SDL_GetAudioStreamFrequencyRatio,(SDL_AudioStream *a),(a),return)
279SDL_DYNAPI_PROC(float,SDL_GetAudioStreamGain,(SDL_AudioStream *a),(a),return)
280SDL_DYNAPI_PROC(int*,SDL_GetAudioStreamInputChannelMap,(SDL_AudioStream *a, int *b),(a,b),return)
281SDL_DYNAPI_PROC(int*,SDL_GetAudioStreamOutputChannelMap,(SDL_AudioStream *a, int *b),(a,b),return)
282SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetAudioStreamProperties,(SDL_AudioStream *a),(a),return)
283SDL_DYNAPI_PROC(int,SDL_GetAudioStreamQueued,(SDL_AudioStream *a),(a),return)
284SDL_DYNAPI_PROC(const char*,SDL_GetBasePath,(void),(),return)
285SDL_DYNAPI_PROC(bool,SDL_GetBooleanProperty,(SDL_PropertiesID a, const char *b, bool c),(a,b,c),return)
286SDL_DYNAPI_PROC(int,SDL_GetCPUCacheLineSize,(void),(),return)
287SDL_DYNAPI_PROC(const char*,SDL_GetCameraDriver,(int a),(a),return)
288SDL_DYNAPI_PROC(bool,SDL_GetCameraFormat,(SDL_Camera *a, SDL_CameraSpec *b),(a,b),return)
289SDL_DYNAPI_PROC(SDL_CameraID,SDL_GetCameraID,(SDL_Camera *a),(a),return)
290SDL_DYNAPI_PROC(const char*,SDL_GetCameraName,(SDL_CameraID a),(a),return)
291SDL_DYNAPI_PROC(int,SDL_GetCameraPermissionState,(SDL_Camera *a),(a),return)
292SDL_DYNAPI_PROC(SDL_CameraPosition,SDL_GetCameraPosition,(SDL_CameraID a),(a),return)
293SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetCameraProperties,(SDL_Camera *a),(a),return)
294SDL_DYNAPI_PROC(SDL_CameraSpec**,SDL_GetCameraSupportedFormats,(SDL_CameraID a, int *b),(a,b),return)
295SDL_DYNAPI_PROC(SDL_CameraID*,SDL_GetCameras,(int *a),(a),return)
296SDL_DYNAPI_PROC(void*,SDL_GetClipboardData,(const char *a, size_t *b),(a,b),return)
297SDL_DYNAPI_PROC(char **,SDL_GetClipboardMimeTypes,(size_t *a),(a),return)
298SDL_DYNAPI_PROC(char*,SDL_GetClipboardText,(void),(),return)
299SDL_DYNAPI_PROC(bool,SDL_GetClosestFullscreenDisplayMode,(SDL_DisplayID a, int b, int c, float d, bool e, SDL_DisplayMode *f),(a,b,c,d,e,f),return)
300SDL_DYNAPI_PROC(const char*,SDL_GetCurrentAudioDriver,(void),(),return)
301SDL_DYNAPI_PROC(const char*,SDL_GetCurrentCameraDriver,(void),(),return)
302SDL_DYNAPI_PROC(const SDL_DisplayMode*,SDL_GetCurrentDisplayMode,(SDL_DisplayID a),(a),return)
303SDL_DYNAPI_PROC(SDL_DisplayOrientation,SDL_GetCurrentDisplayOrientation,(SDL_DisplayID a),(a),return)
304SDL_DYNAPI_PROC(bool,SDL_GetCurrentRenderOutputSize,(SDL_Renderer *a, int *b, int *c),(a,b,c),return)
305SDL_DYNAPI_PROC(SDL_ThreadID,SDL_GetCurrentThreadID,(void),(),return)
306SDL_DYNAPI_PROC(bool,SDL_GetCurrentTime,(SDL_Time *a),(a),return)
307SDL_DYNAPI_PROC(const char*,SDL_GetCurrentVideoDriver,(void),(),return)
308SDL_DYNAPI_PROC(SDL_Cursor*,SDL_GetCursor,(void),(),return)
309SDL_DYNAPI_PROC(bool,SDL_GetDXGIOutputInfo,(SDL_DisplayID a, int *b, int *c),(a,b,c),return)
310SDL_DYNAPI_PROC(bool,SDL_GetDateTimeLocalePreferences,(SDL_DateFormat *a, SDL_TimeFormat *b),(a,b),return)
311SDL_DYNAPI_PROC(int,SDL_GetDayOfWeek,(int a, int b, int c),(a,b,c),return)
312SDL_DYNAPI_PROC(int,SDL_GetDayOfYear,(int a, int b, int c),(a,b,c),return)
313SDL_DYNAPI_PROC(int,SDL_GetDaysInMonth,(int a, int b),(a,b),return)
314SDL_DYNAPI_PROC(SDL_AssertionHandler,SDL_GetDefaultAssertionHandler,(void),(),return)
315SDL_DYNAPI_PROC(SDL_Cursor*,SDL_GetDefaultCursor,(void),(),return)
316SDL_DYNAPI_PROC(const SDL_DisplayMode*,SDL_GetDesktopDisplayMode,(SDL_DisplayID a),(a),return)
317SDL_DYNAPI_PROC(int,SDL_GetDirect3D9AdapterIndex,(SDL_DisplayID a),(a),return)
318SDL_DYNAPI_PROC(bool,SDL_GetDisplayBounds,(SDL_DisplayID a, SDL_Rect *b),(a,b),return)
319SDL_DYNAPI_PROC(float,SDL_GetDisplayContentScale,(SDL_DisplayID a),(a),return)
320SDL_DYNAPI_PROC(SDL_DisplayID,SDL_GetDisplayForPoint,(const SDL_Point *a),(a),return)
321SDL_DYNAPI_PROC(SDL_DisplayID,SDL_GetDisplayForRect,(const SDL_Rect *a),(a),return)
322SDL_DYNAPI_PROC(SDL_DisplayID,SDL_GetDisplayForWindow,(SDL_Window *a),(a),return)
323SDL_DYNAPI_PROC(const char*,SDL_GetDisplayName,(SDL_DisplayID a),(a),return)
324SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetDisplayProperties,(SDL_DisplayID a),(a),return)
325SDL_DYNAPI_PROC(bool,SDL_GetDisplayUsableBounds,(SDL_DisplayID a, SDL_Rect *b),(a,b),return)
326SDL_DYNAPI_PROC(SDL_DisplayID*,SDL_GetDisplays,(int *a),(a),return)
327SDL_DYNAPI_PROC(SDL_Environment*,SDL_GetEnvironment,(void),(),return)
328SDL_DYNAPI_PROC(const char*,SDL_GetEnvironmentVariable,(SDL_Environment *a, const char *b),(a,b),return)
329SDL_DYNAPI_PROC(char**,SDL_GetEnvironmentVariables,(SDL_Environment *a),(a),return)
330SDL_DYNAPI_PROC(const char*,SDL_GetError,(void),(),return)
331SDL_DYNAPI_PROC(bool,SDL_GetEventFilter,(SDL_EventFilter *a, void **b),(a,b),return)
332SDL_DYNAPI_PROC(float,SDL_GetFloatProperty,(SDL_PropertiesID a, const char *b, float c),(a,b,c),return)
333SDL_DYNAPI_PROC(SDL_DisplayMode**,SDL_GetFullscreenDisplayModes,(SDL_DisplayID a, int *b),(a,b),return)
334SDL_DYNAPI_PROC(bool,SDL_GetGDKDefaultUser,(XUserHandle *a),(a),return)
335SDL_DYNAPI_PROC(bool,SDL_GetGDKTaskQueue,(XTaskQueueHandle *a),(a),return)
336SDL_DYNAPI_PROC(const char*,SDL_GetGPUDeviceDriver,(SDL_GPUDevice *a),(a),return)
337SDL_DYNAPI_PROC(const char*,SDL_GetGPUDriver,(int a),(a),return)
338SDL_DYNAPI_PROC(SDL_GPUShaderFormat,SDL_GetGPUShaderFormats,(SDL_GPUDevice *a),(a),return)
339SDL_DYNAPI_PROC(SDL_GPUTextureFormat,SDL_GetGPUSwapchainTextureFormat,(SDL_GPUDevice *a, SDL_Window *b),(a,b),return)
340SDL_DYNAPI_PROC(const char*,SDL_GetGamepadAppleSFSymbolsNameForAxis,(SDL_Gamepad *a, SDL_GamepadAxis b),(a,b),return)
341SDL_DYNAPI_PROC(const char*,SDL_GetGamepadAppleSFSymbolsNameForButton,(SDL_Gamepad *a, SDL_GamepadButton b),(a,b),return)
342SDL_DYNAPI_PROC(Sint16,SDL_GetGamepadAxis,(SDL_Gamepad *a, SDL_GamepadAxis b),(a,b),return)
343SDL_DYNAPI_PROC(SDL_GamepadAxis,SDL_GetGamepadAxisFromString,(const char *a),(a),return)
344SDL_DYNAPI_PROC(SDL_GamepadBinding**,SDL_GetGamepadBindings,(SDL_Gamepad *a, int *b),(a,b),return)
345SDL_DYNAPI_PROC(bool,SDL_GetGamepadButton,(SDL_Gamepad *a, SDL_GamepadButton b),(a,b),return)
346SDL_DYNAPI_PROC(SDL_GamepadButton,SDL_GetGamepadButtonFromString,(const char *a),(a),return)
347SDL_DYNAPI_PROC(SDL_GamepadButtonLabel,SDL_GetGamepadButtonLabel,(SDL_Gamepad *a, SDL_GamepadButton b),(a,b),return)
348SDL_DYNAPI_PROC(SDL_GamepadButtonLabel,SDL_GetGamepadButtonLabelForType,(SDL_GamepadType a, SDL_GamepadButton b),(a,b),return)
349SDL_DYNAPI_PROC(SDL_JoystickConnectionState,SDL_GetGamepadConnectionState,(SDL_Gamepad *a),(a),return)
350SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadFirmwareVersion,(SDL_Gamepad *a),(a),return)
351SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_GetGamepadFromID,(SDL_JoystickID a),(a),return)
352SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_GetGamepadFromPlayerIndex,(int a),(a),return)
353SDL_DYNAPI_PROC(SDL_GUID,SDL_GetGamepadGUIDForID,(SDL_JoystickID a),(a),return)
354SDL_DYNAPI_PROC(SDL_JoystickID,SDL_GetGamepadID,(SDL_Gamepad *a),(a),return)
355SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetGamepadJoystick,(SDL_Gamepad *a),(a),return)
356SDL_DYNAPI_PROC(char*,SDL_GetGamepadMapping,(SDL_Gamepad *a),(a),return)
357SDL_DYNAPI_PROC(char*,SDL_GetGamepadMappingForGUID,(SDL_GUID a),(a),return)
358SDL_DYNAPI_PROC(char*,SDL_GetGamepadMappingForID,(SDL_JoystickID a),(a),return)
359SDL_DYNAPI_PROC(char **,SDL_GetGamepadMappings,(int *a),(a),return)
360SDL_DYNAPI_PROC(const char*,SDL_GetGamepadName,(SDL_Gamepad *a),(a),return)
361SDL_DYNAPI_PROC(const char*,SDL_GetGamepadNameForID,(SDL_JoystickID a),(a),return)
362SDL_DYNAPI_PROC(const char*,SDL_GetGamepadPath,(SDL_Gamepad *a),(a),return)
363SDL_DYNAPI_PROC(const char*,SDL_GetGamepadPathForID,(SDL_JoystickID a),(a),return)
364SDL_DYNAPI_PROC(int,SDL_GetGamepadPlayerIndex,(SDL_Gamepad *a),(a),return)
365SDL_DYNAPI_PROC(int,SDL_GetGamepadPlayerIndexForID,(SDL_JoystickID a),(a),return)
366SDL_DYNAPI_PROC(SDL_PowerState,SDL_GetGamepadPowerInfo,(SDL_Gamepad *a, int *b),(a,b),return)
367SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProduct,(SDL_Gamepad *a),(a),return)
368SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProductForID,(SDL_JoystickID a),(a),return)
369SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProductVersion,(SDL_Gamepad *a),(a),return)
370SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProductVersionForID,(SDL_JoystickID a),(a),return)
371SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetGamepadProperties,(SDL_Gamepad *a),(a),return)
372SDL_DYNAPI_PROC(bool,SDL_GetGamepadSensorData,(SDL_Gamepad *a, SDL_SensorType b, float *c, int d),(a,b,c,d),return)
373SDL_DYNAPI_PROC(float,SDL_GetGamepadSensorDataRate,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
374SDL_DYNAPI_PROC(const char*,SDL_GetGamepadSerial,(SDL_Gamepad *a),(a),return)
375SDL_DYNAPI_PROC(Uint64,SDL_GetGamepadSteamHandle,(SDL_Gamepad *a),(a),return)
376SDL_DYNAPI_PROC(const char*,SDL_GetGamepadStringForAxis,(SDL_GamepadAxis a),(a),return)
377SDL_DYNAPI_PROC(const char*,SDL_GetGamepadStringForButton,(SDL_GamepadButton a),(a),return)
378SDL_DYNAPI_PROC(const char*,SDL_GetGamepadStringForType,(SDL_GamepadType a),(a),return)
379SDL_DYNAPI_PROC(bool,SDL_GetGamepadTouchpadFinger,(SDL_Gamepad *a, int b, int c, bool *d, float *e, float *f, float *g),(a,b,c,d,e,f,g),return)
380SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadType,(SDL_Gamepad *a),(a),return)
381SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadTypeForID,(SDL_JoystickID a),(a),return)
382SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadTypeFromString,(const char *a),(a),return)
383SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadVendor,(SDL_Gamepad *a),(a),return)
384SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadVendorForID,(SDL_JoystickID a),(a),return)
385SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetGamepads,(int *a),(a),return)
386SDL_DYNAPI_PROC(SDL_MouseButtonFlags,SDL_GetGlobalMouseState,(float *a, float *b),(a,b),return)
387SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetGlobalProperties,(void),(),return)
388SDL_DYNAPI_PROC(SDL_Window*,SDL_GetGrabbedWindow,(void),(),return)
389SDL_DYNAPI_PROC(bool,SDL_GetHapticEffectStatus,(SDL_Haptic *a, int b),(a,b),return)
390SDL_DYNAPI_PROC(Uint32,SDL_GetHapticFeatures,(SDL_Haptic *a),(a),return)
391SDL_DYNAPI_PROC(SDL_Haptic*,SDL_GetHapticFromID,(SDL_HapticID a),(a),return)
392SDL_DYNAPI_PROC(SDL_HapticID,SDL_GetHapticID,(SDL_Haptic *a),(a),return)
393SDL_DYNAPI_PROC(const char*,SDL_GetHapticName,(SDL_Haptic *a),(a),return)
394SDL_DYNAPI_PROC(const char*,SDL_GetHapticNameForID,(SDL_HapticID a),(a),return)
395SDL_DYNAPI_PROC(SDL_HapticID*,SDL_GetHaptics,(int *a),(a),return)
396SDL_DYNAPI_PROC(const char*,SDL_GetHint,(const char *a),(a),return)
397SDL_DYNAPI_PROC(bool,SDL_GetHintBoolean,(const char *a, bool b),(a,b),return)
398SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetIOProperties,(SDL_IOStream *a),(a),return)
399SDL_DYNAPI_PROC(Sint64,SDL_GetIOSize,(SDL_IOStream *a),(a),return)
400SDL_DYNAPI_PROC(SDL_IOStatus,SDL_GetIOStatus,(SDL_IOStream *a),(a),return)
401SDL_DYNAPI_PROC(Sint16,SDL_GetJoystickAxis,(SDL_Joystick *a, int b),(a,b),return)
402SDL_DYNAPI_PROC(bool,SDL_GetJoystickAxisInitialState,(SDL_Joystick *a, int b, Sint16 *c),(a,b,c),return)
403SDL_DYNAPI_PROC(bool,SDL_GetJoystickBall,(SDL_Joystick *a, int b, int *c, int *d),(a,b,c,d),return)
404SDL_DYNAPI_PROC(bool,SDL_GetJoystickButton,(SDL_Joystick *a, int b),(a,b),return)
405SDL_DYNAPI_PROC(SDL_JoystickConnectionState,SDL_GetJoystickConnectionState,(SDL_Joystick *a),(a),return)
406SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickFirmwareVersion,(SDL_Joystick *a),(a),return)
407SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetJoystickFromID,(SDL_JoystickID a),(a),return)
408SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetJoystickFromPlayerIndex,(int a),(a),return)
409SDL_DYNAPI_PROC(SDL_GUID,SDL_GetJoystickGUID,(SDL_Joystick *a),(a),return)
410SDL_DYNAPI_PROC(SDL_GUID,SDL_GetJoystickGUIDForID,(SDL_JoystickID a),(a),return)
411SDL_DYNAPI_PROC(void,SDL_GetJoystickGUIDInfo,(SDL_GUID a, Uint16 *b, Uint16 *c, Uint16 *d, Uint16 *e),(a,b,c,d,e),)
412SDL_DYNAPI_PROC(Uint8,SDL_GetJoystickHat,(SDL_Joystick *a, int b),(a,b),return)
413SDL_DYNAPI_PROC(SDL_JoystickID,SDL_GetJoystickID,(SDL_Joystick *a),(a),return)
414SDL_DYNAPI_PROC(const char*,SDL_GetJoystickName,(SDL_Joystick *a),(a),return)
415SDL_DYNAPI_PROC(const char*,SDL_GetJoystickNameForID,(SDL_JoystickID a),(a),return)
416SDL_DYNAPI_PROC(const char*,SDL_GetJoystickPath,(SDL_Joystick *a),(a),return)
417SDL_DYNAPI_PROC(const char*,SDL_GetJoystickPathForID,(SDL_JoystickID a),(a),return)
418SDL_DYNAPI_PROC(int,SDL_GetJoystickPlayerIndex,(SDL_Joystick *a),(a),return)
419SDL_DYNAPI_PROC(int,SDL_GetJoystickPlayerIndexForID,(SDL_JoystickID a),(a),return)
420SDL_DYNAPI_PROC(SDL_PowerState,SDL_GetJoystickPowerInfo,(SDL_Joystick *a, int *b),(a,b),return)
421SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProduct,(SDL_Joystick *a),(a),return)
422SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProductForID,(SDL_JoystickID a),(a),return)
423SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProductVersion,(SDL_Joystick *a),(a),return)
424SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProductVersionForID,(SDL_JoystickID a),(a),return)
425SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetJoystickProperties,(SDL_Joystick *a),(a),return)
426SDL_DYNAPI_PROC(const char*,SDL_GetJoystickSerial,(SDL_Joystick *a),(a),return)
427SDL_DYNAPI_PROC(SDL_JoystickType,SDL_GetJoystickType,(SDL_Joystick *a),(a),return)
428SDL_DYNAPI_PROC(SDL_JoystickType,SDL_GetJoystickTypeForID,(SDL_JoystickID a),(a),return)
429SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickVendor,(SDL_Joystick *a),(a),return)
430SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickVendorForID,(SDL_JoystickID a),(a),return)
431SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetJoysticks,(int *a),(a),return)
432SDL_DYNAPI_PROC(SDL_Keycode,SDL_GetKeyFromName,(const char *a),(a),return)
433SDL_DYNAPI_PROC(SDL_Keycode,SDL_GetKeyFromScancode,(SDL_Scancode a, SDL_Keymod b, bool c),(a,b,c),return)
434SDL_DYNAPI_PROC(const char*,SDL_GetKeyName,(SDL_Keycode a),(a),return)
435SDL_DYNAPI_PROC(SDL_Window*,SDL_GetKeyboardFocus,(void),(),return)
436SDL_DYNAPI_PROC(const char*,SDL_GetKeyboardNameForID,(SDL_KeyboardID a),(a),return)
437SDL_DYNAPI_PROC(const bool*,SDL_GetKeyboardState,(int *a),(a),return)
438SDL_DYNAPI_PROC(SDL_KeyboardID*,SDL_GetKeyboards,(int *a),(a),return)
439SDL_DYNAPI_PROC(void,SDL_GetLogOutputFunction,(SDL_LogOutputFunction *a, void **b),(a,b),)
440SDL_DYNAPI_PROC(SDL_LogPriority,SDL_GetLogPriority,(int a),(a),return)
441SDL_DYNAPI_PROC(bool,SDL_GetMasksForPixelFormat,(SDL_PixelFormat a, int *b, Uint32 *c, Uint32 *d, Uint32 *e, Uint32 *f),(a,b,c,d,e,f),return)
442SDL_DYNAPI_PROC(int,SDL_GetMaxHapticEffects,(SDL_Haptic *a),(a),return)
443SDL_DYNAPI_PROC(int,SDL_GetMaxHapticEffectsPlaying,(SDL_Haptic *a),(a),return)
444SDL_DYNAPI_PROC(void,SDL_GetMemoryFunctions,(SDL_malloc_func *a, SDL_calloc_func *b, SDL_realloc_func *c, SDL_free_func *d),(a,b,c,d),)
445SDL_DYNAPI_PROC(SDL_MouseID*,SDL_GetMice,(int *a),(a),return)
446SDL_DYNAPI_PROC(SDL_Keymod,SDL_GetModState,(void),(),return)
447SDL_DYNAPI_PROC(SDL_Window*,SDL_GetMouseFocus,(void),(),return)
448SDL_DYNAPI_PROC(const char*,SDL_GetMouseNameForID,(SDL_MouseID a),(a),return)
449SDL_DYNAPI_PROC(SDL_MouseButtonFlags,SDL_GetMouseState,(float *a, float *b),(a,b),return)
450SDL_DYNAPI_PROC(SDL_DisplayOrientation,SDL_GetNaturalDisplayOrientation,(SDL_DisplayID a),(a),return)
451SDL_DYNAPI_PROC(int,SDL_GetNumAllocations,(void),(),return)
452SDL_DYNAPI_PROC(int,SDL_GetNumAudioDrivers,(void),(),return)
453SDL_DYNAPI_PROC(int,SDL_GetNumCameraDrivers,(void),(),return)
454SDL_DYNAPI_PROC(int,SDL_GetNumGPUDrivers,(void),(),return)
455SDL_DYNAPI_PROC(int,SDL_GetNumGamepadTouchpadFingers,(SDL_Gamepad *a, int b),(a,b),return)
456SDL_DYNAPI_PROC(int,SDL_GetNumGamepadTouchpads,(SDL_Gamepad *a),(a),return)
457SDL_DYNAPI_PROC(int,SDL_GetNumHapticAxes,(SDL_Haptic *a),(a),return)
458SDL_DYNAPI_PROC(int,SDL_GetNumJoystickAxes,(SDL_Joystick *a),(a),return)
459SDL_DYNAPI_PROC(int,SDL_GetNumJoystickBalls,(SDL_Joystick *a),(a),return)
460SDL_DYNAPI_PROC(int,SDL_GetNumJoystickButtons,(SDL_Joystick *a),(a),return)
461SDL_DYNAPI_PROC(int,SDL_GetNumJoystickHats,(SDL_Joystick *a),(a),return)
462SDL_DYNAPI_PROC(int,SDL_GetNumLogicalCPUCores,(void),(),return)
463SDL_DYNAPI_PROC(int,SDL_GetNumRenderDrivers,(void),(),return)
464SDL_DYNAPI_PROC(int,SDL_GetNumVideoDrivers,(void),(),return)
465SDL_DYNAPI_PROC(Sint64,SDL_GetNumberProperty,(SDL_PropertiesID a, const char *b, Sint64 c),(a,b,c),return)
466SDL_DYNAPI_PROC(void,SDL_GetOriginalMemoryFunctions,(SDL_malloc_func *a, SDL_calloc_func *b, SDL_realloc_func *c, SDL_free_func *d),(a,b,c,d),)
467SDL_DYNAPI_PROC(bool,SDL_GetPathInfo,(const char *a, SDL_PathInfo *b),(a,b),return)
468SDL_DYNAPI_PROC(Uint64,SDL_GetPerformanceCounter,(void),(),return)
469SDL_DYNAPI_PROC(Uint64,SDL_GetPerformanceFrequency,(void),(),return)
470SDL_DYNAPI_PROC(const SDL_PixelFormatDetails*,SDL_GetPixelFormatDetails,(SDL_PixelFormat a),(a),return)
471SDL_DYNAPI_PROC(SDL_PixelFormat,SDL_GetPixelFormatForMasks,(int a, Uint32 b, Uint32 c, Uint32 d, Uint32 e),(a,b,c,d,e),return)
472SDL_DYNAPI_PROC(const char*,SDL_GetPixelFormatName,(SDL_PixelFormat a),(a),return)
473SDL_DYNAPI_PROC(const char*,SDL_GetPlatform,(void),(),return)
474SDL_DYNAPI_PROC(void*,SDL_GetPointerProperty,(SDL_PropertiesID a, const char *b, void *c),(a,b,c),return)
475SDL_DYNAPI_PROC(SDL_PowerState,SDL_GetPowerInfo,(int *a, int *b),(a,b),return)
476SDL_DYNAPI_PROC(char*,SDL_GetPrefPath,(const char *a, const char *b),(a,b),return)
477SDL_DYNAPI_PROC(SDL_Locale**,SDL_GetPreferredLocales,(int *a),(a),return)
478SDL_DYNAPI_PROC(SDL_DisplayID,SDL_GetPrimaryDisplay,(void),(),return)
479SDL_DYNAPI_PROC(char*,SDL_GetPrimarySelectionText,(void),(),return)
480SDL_DYNAPI_PROC(SDL_IOStream*,SDL_GetProcessInput,(SDL_Process *a),(a),return)
481SDL_DYNAPI_PROC(SDL_IOStream*,SDL_GetProcessOutput,(SDL_Process *a),(a),return)
482SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetProcessProperties,(SDL_Process *a),(a),return)
483SDL_DYNAPI_PROC(SDL_PropertyType,SDL_GetPropertyType,(SDL_PropertiesID a, const char *b),(a,b),return)
484SDL_DYNAPI_PROC(void,SDL_GetRGB,(Uint32 a, const SDL_PixelFormatDetails *b, const SDL_Palette *c, Uint8 *d, Uint8 *e, Uint8 *f),(a,b,c,d,e,f),)
485SDL_DYNAPI_PROC(void,SDL_GetRGBA,(Uint32 a, const SDL_PixelFormatDetails *b, const SDL_Palette *c, Uint8 *d, Uint8 *e, Uint8 *f, Uint8 *g),(a,b,c,d,e,f,g),)
486SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetRealGamepadType,(SDL_Gamepad *a),(a),return)
487SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetRealGamepadTypeForID,(SDL_JoystickID a),(a),return)
488SDL_DYNAPI_PROC(bool,SDL_GetRectAndLineIntersection,(const SDL_Rect *a, int *b, int *c, int *d, int *e),(a,b,c,d,e),return)
489SDL_DYNAPI_PROC(bool,SDL_GetRectAndLineIntersectionFloat,(const SDL_FRect *a, float *b, float *c, float *d, float *e),(a,b,c,d,e),return)
490SDL_DYNAPI_PROC(bool,SDL_GetRectEnclosingPoints,(const SDL_Point *a, int b, const SDL_Rect *c, SDL_Rect *d),(a,b,c,d),return)
491SDL_DYNAPI_PROC(bool,SDL_GetRectEnclosingPointsFloat,(const SDL_FPoint *a, int b, const SDL_FRect *c, SDL_FRect *d),(a,b,c,d),return)
492SDL_DYNAPI_PROC(bool,SDL_GetRectIntersection,(const SDL_Rect *a, const SDL_Rect *b, SDL_Rect *c),(a,b,c),return)
493SDL_DYNAPI_PROC(bool,SDL_GetRectIntersectionFloat,(const SDL_FRect *a, const SDL_FRect *b, SDL_FRect *c),(a,b,c),return)
494SDL_DYNAPI_PROC(bool,SDL_GetRectUnion,(const SDL_Rect *a, const SDL_Rect *b, SDL_Rect *c),(a,b,c),return)
495SDL_DYNAPI_PROC(bool,SDL_GetRectUnionFloat,(const SDL_FRect *a, const SDL_FRect *b, SDL_FRect *c),(a,b,c),return)
496SDL_DYNAPI_PROC(SDL_MouseButtonFlags,SDL_GetRelativeMouseState,(float *a, float *b),(a,b),return)
497SDL_DYNAPI_PROC(bool,SDL_GetRenderClipRect,(SDL_Renderer *a, SDL_Rect *b),(a,b),return)
498SDL_DYNAPI_PROC(bool,SDL_GetRenderColorScale,(SDL_Renderer *a, float *b),(a,b),return)
499SDL_DYNAPI_PROC(bool,SDL_GetRenderDrawBlendMode,(SDL_Renderer *a, SDL_BlendMode *b),(a,b),return)
500SDL_DYNAPI_PROC(bool,SDL_GetRenderDrawColor,(SDL_Renderer *a, Uint8 *b, Uint8 *c, Uint8 *d, Uint8 *e),(a,b,c,d,e),return)
501SDL_DYNAPI_PROC(bool,SDL_GetRenderDrawColorFloat,(SDL_Renderer *a, float *b, float *c, float *d, float *e),(a,b,c,d,e),return)
502SDL_DYNAPI_PROC(const char*,SDL_GetRenderDriver,(int a),(a),return)
503SDL_DYNAPI_PROC(bool,SDL_GetRenderLogicalPresentation,(SDL_Renderer *a, int *b, int *c, SDL_RendererLogicalPresentation *d),(a,b,c,d),return)
504SDL_DYNAPI_PROC(bool,SDL_GetRenderLogicalPresentationRect,(SDL_Renderer *a, SDL_FRect *b),(a,b),return)
505SDL_DYNAPI_PROC(void*,SDL_GetRenderMetalCommandEncoder,(SDL_Renderer *a),(a),return)
506SDL_DYNAPI_PROC(void*,SDL_GetRenderMetalLayer,(SDL_Renderer *a),(a),return)
507SDL_DYNAPI_PROC(bool,SDL_GetRenderOutputSize,(SDL_Renderer *a, int *b, int *c),(a,b,c),return)
508SDL_DYNAPI_PROC(bool,SDL_GetRenderSafeArea,(SDL_Renderer *a, SDL_Rect *b),(a,b),return)
509SDL_DYNAPI_PROC(bool,SDL_GetRenderScale,(SDL_Renderer *a, float *b, float *c),(a,b,c),return)
510SDL_DYNAPI_PROC(SDL_Texture*,SDL_GetRenderTarget,(SDL_Renderer *a),(a),return)
511SDL_DYNAPI_PROC(bool,SDL_GetRenderVSync,(SDL_Renderer *a, int *b),(a,b),return)
512SDL_DYNAPI_PROC(bool,SDL_GetRenderViewport,(SDL_Renderer *a, SDL_Rect *b),(a,b),return)
513SDL_DYNAPI_PROC(SDL_Window*,SDL_GetRenderWindow,(SDL_Renderer *a),(a),return)
514SDL_DYNAPI_PROC(SDL_Renderer*,SDL_GetRenderer,(SDL_Window *a),(a),return)
515SDL_DYNAPI_PROC(SDL_Renderer*,SDL_GetRendererFromTexture,(SDL_Texture *a),(a),return)
516SDL_DYNAPI_PROC(const char *,SDL_GetRendererName,(SDL_Renderer *a),(a),return)
517SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetRendererProperties,(SDL_Renderer *a),(a),return)
518SDL_DYNAPI_PROC(const char*,SDL_GetRevision,(void),(),return)
519SDL_DYNAPI_PROC(size_t,SDL_GetSIMDAlignment,(void),(),return)
520SDL_DYNAPI_PROC(SDL_Scancode,SDL_GetScancodeFromKey,(SDL_Keycode a, SDL_Keymod *b),(a,b),return)
521SDL_DYNAPI_PROC(SDL_Scancode,SDL_GetScancodeFromName,(const char *a),(a),return)
522SDL_DYNAPI_PROC(const char*,SDL_GetScancodeName,(SDL_Scancode a),(a),return)
523SDL_DYNAPI_PROC(Uint32,SDL_GetSemaphoreValue,(SDL_Semaphore *a),(a),return)
524SDL_DYNAPI_PROC(bool,SDL_GetSensorData,(SDL_Sensor *a, float *b, int c),(a,b,c),return)
525SDL_DYNAPI_PROC(SDL_Sensor*,SDL_GetSensorFromID,(SDL_SensorID a),(a),return)
526SDL_DYNAPI_PROC(SDL_SensorID,SDL_GetSensorID,(SDL_Sensor *a),(a),return)
527SDL_DYNAPI_PROC(const char*,SDL_GetSensorName,(SDL_Sensor *a),(a),return)
528SDL_DYNAPI_PROC(const char*,SDL_GetSensorNameForID,(SDL_SensorID a),(a),return)
529SDL_DYNAPI_PROC(int,SDL_GetSensorNonPortableType,(SDL_Sensor *a),(a),return)
530SDL_DYNAPI_PROC(int,SDL_GetSensorNonPortableTypeForID,(SDL_SensorID a),(a),return)
531SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetSensorProperties,(SDL_Sensor *a),(a),return)
532SDL_DYNAPI_PROC(SDL_SensorType,SDL_GetSensorType,(SDL_Sensor *a),(a),return)
533SDL_DYNAPI_PROC(SDL_SensorType,SDL_GetSensorTypeForID,(SDL_SensorID a),(a),return)
534SDL_DYNAPI_PROC(SDL_SensorID*,SDL_GetSensors,(int *a),(a),return)
535SDL_DYNAPI_PROC(int,SDL_GetSilenceValueForFormat,(SDL_AudioFormat a),(a),return)
536SDL_DYNAPI_PROC(bool,SDL_GetStorageFileSize,(SDL_Storage *a, const char *b, Uint64 *c),(a,b,c),return)
537SDL_DYNAPI_PROC(bool,SDL_GetStoragePathInfo,(SDL_Storage *a, const char *b, SDL_PathInfo *c),(a,b,c),return)
538SDL_DYNAPI_PROC(Uint64,SDL_GetStorageSpaceRemaining,(SDL_Storage *a),(a),return)
539SDL_DYNAPI_PROC(const char*,SDL_GetStringProperty,(SDL_PropertiesID a, const char *b, const char *c),(a,b,c),return)
540SDL_DYNAPI_PROC(bool,SDL_GetSurfaceAlphaMod,(SDL_Surface *a, Uint8 *b),(a,b),return)
541SDL_DYNAPI_PROC(bool,SDL_GetSurfaceBlendMode,(SDL_Surface *a, SDL_BlendMode *b),(a,b),return)
542SDL_DYNAPI_PROC(bool,SDL_GetSurfaceClipRect,(SDL_Surface *a, SDL_Rect *b),(a,b),return)
543SDL_DYNAPI_PROC(bool,SDL_GetSurfaceColorKey,(SDL_Surface *a, Uint32 *b),(a,b),return)
544SDL_DYNAPI_PROC(bool,SDL_GetSurfaceColorMod,(SDL_Surface *a, Uint8 *b, Uint8 *c, Uint8 *d),(a,b,c,d),return)
545SDL_DYNAPI_PROC(SDL_Colorspace,SDL_GetSurfaceColorspace,(SDL_Surface *a),(a),return)
546SDL_DYNAPI_PROC(SDL_Surface**,SDL_GetSurfaceImages,(SDL_Surface *a, int *b),(a,b),return)
547SDL_DYNAPI_PROC(SDL_Palette*,SDL_GetSurfacePalette,(SDL_Surface *a),(a),return)
548SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetSurfaceProperties,(SDL_Surface *a),(a),return)
549SDL_DYNAPI_PROC(int,SDL_GetSystemRAM,(void),(),return)
550SDL_DYNAPI_PROC(SDL_SystemTheme,SDL_GetSystemTheme,(void),(),return)
551SDL_DYNAPI_PROC(void*,SDL_GetTLS,(SDL_TLSID *a),(a),return)
552SDL_DYNAPI_PROC(bool,SDL_GetTextInputArea,(SDL_Window *a, SDL_Rect *b, int *c),(a,b,c),return)
553SDL_DYNAPI_PROC(bool,SDL_GetTextureAlphaMod,(SDL_Texture *a, Uint8 *b),(a,b),return)
554SDL_DYNAPI_PROC(bool,SDL_GetTextureAlphaModFloat,(SDL_Texture *a, float *b),(a,b),return)
555SDL_DYNAPI_PROC(bool,SDL_GetTextureBlendMode,(SDL_Texture *a, SDL_BlendMode *b),(a,b),return)
556SDL_DYNAPI_PROC(bool,SDL_GetTextureColorMod,(SDL_Texture *a, Uint8 *b, Uint8 *c, Uint8 *d),(a,b,c,d),return)
557SDL_DYNAPI_PROC(bool,SDL_GetTextureColorModFloat,(SDL_Texture *a, float *b, float *c, float *d),(a,b,c,d),return)
558SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetTextureProperties,(SDL_Texture *a),(a),return)
559SDL_DYNAPI_PROC(bool,SDL_GetTextureScaleMode,(SDL_Texture *a, SDL_ScaleMode *b),(a,b),return)
560SDL_DYNAPI_PROC(bool,SDL_GetTextureSize,(SDL_Texture *a, float *b, float *c),(a,b,c),return)
561SDL_DYNAPI_PROC(SDL_ThreadID,SDL_GetThreadID,(SDL_Thread *a),(a),return)
562SDL_DYNAPI_PROC(const char*,SDL_GetThreadName,(SDL_Thread *a),(a),return)
563SDL_DYNAPI_PROC(Uint64,SDL_GetTicks,(void),(),return)
564SDL_DYNAPI_PROC(Uint64,SDL_GetTicksNS,(void),(),return)
565SDL_DYNAPI_PROC(const char*,SDL_GetTouchDeviceName,(SDL_TouchID a),(a),return)
566SDL_DYNAPI_PROC(SDL_TouchDeviceType,SDL_GetTouchDeviceType,(SDL_TouchID a),(a),return)
567SDL_DYNAPI_PROC(SDL_TouchID*,SDL_GetTouchDevices,(int *a),(a),return)
568SDL_DYNAPI_PROC(SDL_Finger**,SDL_GetTouchFingers,(SDL_TouchID a, int *b),(a,b),return)
569SDL_DYNAPI_PROC(const char*,SDL_GetUserFolder,(SDL_Folder a),(a),return)
570SDL_DYNAPI_PROC(int,SDL_GetVersion,(void),(),return)
571SDL_DYNAPI_PROC(const char*,SDL_GetVideoDriver,(int a),(a),return)
572SDL_DYNAPI_PROC(bool,SDL_GetWindowAspectRatio,(SDL_Window *a, float *b, float *c),(a,b,c),return)
573SDL_DYNAPI_PROC(bool,SDL_GetWindowBordersSize,(SDL_Window *a, int *b, int *c, int *d, int *e),(a,b,c,d,e),return)
574SDL_DYNAPI_PROC(float,SDL_GetWindowDisplayScale,(SDL_Window *a),(a),return)
575SDL_DYNAPI_PROC(SDL_WindowFlags,SDL_GetWindowFlags,(SDL_Window *a),(a),return)
576SDL_DYNAPI_PROC(SDL_Window*,SDL_GetWindowFromEvent,(const SDL_Event *a),(a),return)
577SDL_DYNAPI_PROC(SDL_Window*,SDL_GetWindowFromID,(SDL_WindowID a),(a),return)
578SDL_DYNAPI_PROC(const SDL_DisplayMode*,SDL_GetWindowFullscreenMode,(SDL_Window *a),(a),return)
579SDL_DYNAPI_PROC(void*,SDL_GetWindowICCProfile,(SDL_Window *a, size_t *b),(a,b),return)
580SDL_DYNAPI_PROC(SDL_WindowID,SDL_GetWindowID,(SDL_Window *a),(a),return)
581SDL_DYNAPI_PROC(bool,SDL_GetWindowKeyboardGrab,(SDL_Window *a),(a),return)
582SDL_DYNAPI_PROC(bool,SDL_GetWindowMaximumSize,(SDL_Window *a, int *b, int *c),(a,b,c),return)
583SDL_DYNAPI_PROC(bool,SDL_GetWindowMinimumSize,(SDL_Window *a, int *b, int *c),(a,b,c),return)
584SDL_DYNAPI_PROC(bool,SDL_GetWindowMouseGrab,(SDL_Window *a),(a),return)
585SDL_DYNAPI_PROC(const SDL_Rect*,SDL_GetWindowMouseRect,(SDL_Window *a),(a),return)
586SDL_DYNAPI_PROC(float,SDL_GetWindowOpacity,(SDL_Window *a),(a),return)
587SDL_DYNAPI_PROC(SDL_Window*,SDL_GetWindowParent,(SDL_Window *a),(a),return)
588SDL_DYNAPI_PROC(float,SDL_GetWindowPixelDensity,(SDL_Window *a),(a),return)
589SDL_DYNAPI_PROC(SDL_PixelFormat,SDL_GetWindowPixelFormat,(SDL_Window *a),(a),return)
590SDL_DYNAPI_PROC(bool,SDL_GetWindowPosition,(SDL_Window *a, int *b, int *c),(a,b,c),return)
591SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetWindowProperties,(SDL_Window *a),(a),return)
592SDL_DYNAPI_PROC(bool,SDL_GetWindowRelativeMouseMode,(SDL_Window *a),(a),return)
593SDL_DYNAPI_PROC(bool,SDL_GetWindowSafeArea,(SDL_Window *a, SDL_Rect *b),(a,b),return)
594SDL_DYNAPI_PROC(bool,SDL_GetWindowSize,(SDL_Window *a, int *b, int *c),(a,b,c),return)
595SDL_DYNAPI_PROC(bool,SDL_GetWindowSizeInPixels,(SDL_Window *a, int *b, int *c),(a,b,c),return)
596SDL_DYNAPI_PROC(SDL_Surface*,SDL_GetWindowSurface,(SDL_Window *a),(a),return)
597SDL_DYNAPI_PROC(bool,SDL_GetWindowSurfaceVSync,(SDL_Window *a, int *b),(a,b),return)
598SDL_DYNAPI_PROC(const char*,SDL_GetWindowTitle,(SDL_Window *a),(a),return)
599SDL_DYNAPI_PROC(SDL_Window**,SDL_GetWindows,(int *a),(a),return)
600SDL_DYNAPI_PROC(char **,SDL_GlobDirectory,(const char *a, const char *b, SDL_GlobFlags c, int *d),(a,b,c,d),return)
601SDL_DYNAPI_PROC(char **,SDL_GlobStorageDirectory,(SDL_Storage *a, const char *b, const char *c, SDL_GlobFlags d, int *e),(a,b,c,d,e),return)
602SDL_DYNAPI_PROC(bool,SDL_HapticEffectSupported,(SDL_Haptic *a, const SDL_HapticEffect *b),(a,b),return)
603SDL_DYNAPI_PROC(bool,SDL_HapticRumbleSupported,(SDL_Haptic *a),(a),return)
604SDL_DYNAPI_PROC(bool,SDL_HasARMSIMD,(void),(),return)
605SDL_DYNAPI_PROC(bool,SDL_HasAVX,(void),(),return)
606SDL_DYNAPI_PROC(bool,SDL_HasAVX2,(void),(),return)
607SDL_DYNAPI_PROC(bool,SDL_HasAVX512F,(void),(),return)
608SDL_DYNAPI_PROC(bool,SDL_HasAltiVec,(void),(),return)
609SDL_DYNAPI_PROC(bool,SDL_HasClipboardData,(const char *a),(a),return)
610SDL_DYNAPI_PROC(bool,SDL_HasClipboardText,(void),(),return)
611SDL_DYNAPI_PROC(bool,SDL_HasEvent,(Uint32 a),(a),return)
612SDL_DYNAPI_PROC(bool,SDL_HasEvents,(Uint32 a, Uint32 b),(a,b),return)
613SDL_DYNAPI_PROC(bool,SDL_HasGamepad,(void),(),return)
614SDL_DYNAPI_PROC(bool,SDL_HasJoystick,(void),(),return)
615SDL_DYNAPI_PROC(bool,SDL_HasKeyboard,(void),(),return)
616SDL_DYNAPI_PROC(bool,SDL_HasLASX,(void),(),return)
617SDL_DYNAPI_PROC(bool,SDL_HasLSX,(void),(),return)
618SDL_DYNAPI_PROC(bool,SDL_HasMMX,(void),(),return)
619SDL_DYNAPI_PROC(bool,SDL_HasMouse,(void),(),return)
620SDL_DYNAPI_PROC(bool,SDL_HasNEON,(void),(),return)
621SDL_DYNAPI_PROC(bool,SDL_HasPrimarySelectionText,(void),(),return)
622SDL_DYNAPI_PROC(bool,SDL_HasProperty,(SDL_PropertiesID a, const char *b),(a,b),return)
623SDL_DYNAPI_PROC(bool,SDL_HasRectIntersection,(const SDL_Rect *a, const SDL_Rect *b),(a,b),return)
624SDL_DYNAPI_PROC(bool,SDL_HasRectIntersectionFloat,(const SDL_FRect *a, const SDL_FRect *b),(a,b),return)
625SDL_DYNAPI_PROC(bool,SDL_HasSSE,(void),(),return)
626SDL_DYNAPI_PROC(bool,SDL_HasSSE2,(void),(),return)
627SDL_DYNAPI_PROC(bool,SDL_HasSSE3,(void),(),return)
628SDL_DYNAPI_PROC(bool,SDL_HasSSE41,(void),(),return)
629SDL_DYNAPI_PROC(bool,SDL_HasSSE42,(void),(),return)
630SDL_DYNAPI_PROC(bool,SDL_HasScreenKeyboardSupport,(void),(),return)
631SDL_DYNAPI_PROC(bool,SDL_HideCursor,(void),(),return)
632SDL_DYNAPI_PROC(bool,SDL_HideWindow,(SDL_Window *a),(a),return)
633SDL_DYNAPI_PROC(SDL_IOStream*,SDL_IOFromConstMem,(const void *a, size_t b),(a,b),return)
634SDL_DYNAPI_PROC(SDL_IOStream*,SDL_IOFromDynamicMem,(void),(),return)
635SDL_DYNAPI_PROC(SDL_IOStream*,SDL_IOFromFile,(const char *a, const char *b),(a,b),return)
636SDL_DYNAPI_PROC(SDL_IOStream*,SDL_IOFromMem,(void *a, size_t b),(a,b),return)
637SDL_DYNAPI_PROC(size_t,SDL_IOvprintf,(SDL_IOStream *a, SDL_PRINTF_FORMAT_STRING const char *b, va_list c),(a,b,c),return)
638SDL_DYNAPI_PROC(bool,SDL_Init,(SDL_InitFlags a),(a),return)
639SDL_DYNAPI_PROC(bool,SDL_InitHapticRumble,(SDL_Haptic *a),(a),return)
640SDL_DYNAPI_PROC(bool,SDL_InitSubSystem,(SDL_InitFlags a),(a),return)
641SDL_DYNAPI_PROC(void,SDL_InsertGPUDebugLabel,(SDL_GPUCommandBuffer *a, const char *b),(a,b),)
642SDL_DYNAPI_PROC(bool,SDL_IsChromebook,(void),(),return)
643SDL_DYNAPI_PROC(bool,SDL_IsDeXMode,(void),(),return)
644SDL_DYNAPI_PROC(bool,SDL_IsGamepad,(SDL_JoystickID a),(a),return)
645SDL_DYNAPI_PROC(bool,SDL_IsJoystickHaptic,(SDL_Joystick *a),(a),return)
646SDL_DYNAPI_PROC(bool,SDL_IsJoystickVirtual,(SDL_JoystickID a),(a),return)
647SDL_DYNAPI_PROC(bool,SDL_IsMouseHaptic,(void),(),return)
648SDL_DYNAPI_PROC(bool,SDL_IsTV,(void),(),return)
649SDL_DYNAPI_PROC(bool,SDL_IsTablet,(void),(),return)
650SDL_DYNAPI_PROC(bool,SDL_JoystickConnected,(SDL_Joystick *a),(a),return)
651SDL_DYNAPI_PROC(bool,SDL_JoystickEventsEnabled,(void),(),return)
652SDL_DYNAPI_PROC(bool,SDL_KillProcess,(SDL_Process *a, bool b),(a,b),return)
653SDL_DYNAPI_PROC(SDL_Surface*,SDL_LoadBMP,(const char *a),(a),return)
654SDL_DYNAPI_PROC(SDL_Surface*,SDL_LoadBMP_IO,(SDL_IOStream *a, bool b),(a,b),return)
655SDL_DYNAPI_PROC(void*,SDL_LoadFile,(const char *a, size_t *b),(a,b),return)
656SDL_DYNAPI_PROC(void*,SDL_LoadFile_IO,(SDL_IOStream *a, size_t *b, bool c),(a,b,c),return)
657SDL_DYNAPI_PROC(SDL_FunctionPointer,SDL_LoadFunction,(SDL_SharedObject *a, const char *b),(a,b),return)
658SDL_DYNAPI_PROC(SDL_SharedObject*,SDL_LoadObject,(const char *a),(a),return)
659SDL_DYNAPI_PROC(bool,SDL_LoadWAV,(const char *a, SDL_AudioSpec *b, Uint8 **c, Uint32 *d),(a,b,c,d),return)
660SDL_DYNAPI_PROC(bool,SDL_LoadWAV_IO,(SDL_IOStream *a, bool b, SDL_AudioSpec *c, Uint8 **d, Uint32 *e),(a,b,c,d,e),return)
661SDL_DYNAPI_PROC(bool,SDL_LockAudioStream,(SDL_AudioStream *a),(a),return)
662SDL_DYNAPI_PROC(void,SDL_LockJoysticks,(void),(),)
663SDL_DYNAPI_PROC(void,SDL_LockMutex,(SDL_Mutex *a),(a),)
664SDL_DYNAPI_PROC(bool,SDL_LockProperties,(SDL_PropertiesID a),(a),return)
665SDL_DYNAPI_PROC(void,SDL_LockRWLockForReading,(SDL_RWLock *a),(a),)
666SDL_DYNAPI_PROC(void,SDL_LockRWLockForWriting,(SDL_RWLock *a),(a),)
667SDL_DYNAPI_PROC(void,SDL_LockSpinlock,(SDL_SpinLock *a),(a),)
668SDL_DYNAPI_PROC(bool,SDL_LockSurface,(SDL_Surface *a),(a),return)
669SDL_DYNAPI_PROC(bool,SDL_LockTexture,(SDL_Texture *a, const SDL_Rect *b, void **c, int *d),(a,b,c,d),return)
670SDL_DYNAPI_PROC(bool,SDL_LockTextureToSurface,(SDL_Texture *a, const SDL_Rect *b, SDL_Surface **c),(a,b,c),return)
671SDL_DYNAPI_PROC(void,SDL_LogMessageV,(int a, SDL_LogPriority b, SDL_PRINTF_FORMAT_STRING const char *c, va_list d),(a,b,c,d),)
672SDL_DYNAPI_PROC(void*,SDL_MapGPUTransferBuffer,(SDL_GPUDevice *a, SDL_GPUTransferBuffer *b, bool c),(a,b,c),return)
673SDL_DYNAPI_PROC(Uint32,SDL_MapRGB,(const SDL_PixelFormatDetails *a, const SDL_Palette *b, Uint8 c, Uint8 d, Uint8 e),(a,b,c,d,e),return)
674SDL_DYNAPI_PROC(Uint32,SDL_MapRGBA,(const SDL_PixelFormatDetails *a, const SDL_Palette *b, Uint8 c, Uint8 d, Uint8 e, Uint8 f),(a,b,c,d,e,f),return)
675SDL_DYNAPI_PROC(Uint32,SDL_MapSurfaceRGB,(SDL_Surface *a, Uint8 b, Uint8 c, Uint8 d),(a,b,c,d),return)
676SDL_DYNAPI_PROC(Uint32,SDL_MapSurfaceRGBA,(SDL_Surface *a, Uint8 b, Uint8 c, Uint8 d, Uint8 e),(a,b,c,d,e),return)
677SDL_DYNAPI_PROC(bool,SDL_MaximizeWindow,(SDL_Window *a),(a),return)
678SDL_DYNAPI_PROC(void,SDL_MemoryBarrierAcquireFunction,(void),(),)
679SDL_DYNAPI_PROC(void,SDL_MemoryBarrierReleaseFunction,(void),(),)
680SDL_DYNAPI_PROC(SDL_MetalView,SDL_Metal_CreateView,(SDL_Window *a),(a),return)
681SDL_DYNAPI_PROC(void,SDL_Metal_DestroyView,(SDL_MetalView a),(a),)
682SDL_DYNAPI_PROC(void*,SDL_Metal_GetLayer,(SDL_MetalView a),(a),return)
683SDL_DYNAPI_PROC(bool,SDL_MinimizeWindow,(SDL_Window *a),(a),return)
684SDL_DYNAPI_PROC(bool,SDL_MixAudio,(Uint8 *a, const Uint8 *b, SDL_AudioFormat c, Uint32 d, float e),(a,b,c,d,e),return)
685SDL_DYNAPI_PROC(void,SDL_OnApplicationDidChangeStatusBarOrientation,(void),(),)
686SDL_DYNAPI_PROC(void,SDL_OnApplicationDidEnterBackground,(void),(),)
687SDL_DYNAPI_PROC(void,SDL_OnApplicationDidEnterForeground,(void),(),)
688SDL_DYNAPI_PROC(void,SDL_OnApplicationDidReceiveMemoryWarning,(void),(),)
689SDL_DYNAPI_PROC(void,SDL_OnApplicationWillEnterBackground,(void),(),)
690SDL_DYNAPI_PROC(void,SDL_OnApplicationWillEnterForeground,(void),(),)
691SDL_DYNAPI_PROC(void,SDL_OnApplicationWillTerminate,(void),(),)
692SDL_DYNAPI_PROC(SDL_AudioDeviceID,SDL_OpenAudioDevice,(SDL_AudioDeviceID a, const SDL_AudioSpec *b),(a,b),return)
693SDL_DYNAPI_PROC(SDL_AudioStream*,SDL_OpenAudioDeviceStream,(SDL_AudioDeviceID a, const SDL_AudioSpec *b, SDL_AudioStreamCallback c, void *d),(a,b,c,d),return)
694SDL_DYNAPI_PROC(SDL_Camera*,SDL_OpenCamera,(SDL_CameraID a, const SDL_CameraSpec *b),(a,b),return)
695SDL_DYNAPI_PROC(SDL_Storage*,SDL_OpenFileStorage,(const char *a),(a),return)
696SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_OpenGamepad,(SDL_JoystickID a),(a),return)
697SDL_DYNAPI_PROC(SDL_Haptic*,SDL_OpenHaptic,(SDL_HapticID a),(a),return)
698SDL_DYNAPI_PROC(SDL_Haptic*,SDL_OpenHapticFromJoystick,(SDL_Joystick *a),(a),return)
699SDL_DYNAPI_PROC(SDL_Haptic*,SDL_OpenHapticFromMouse,(void),(),return)
700SDL_DYNAPI_PROC(SDL_IOStream*,SDL_OpenIO,(const SDL_IOStreamInterface *a, void *b),(a,b),return)
701SDL_DYNAPI_PROC(SDL_Joystick*,SDL_OpenJoystick,(SDL_JoystickID a),(a),return)
702SDL_DYNAPI_PROC(SDL_Sensor*,SDL_OpenSensor,(SDL_SensorID a),(a),return)
703SDL_DYNAPI_PROC(SDL_Storage*,SDL_OpenStorage,(const SDL_StorageInterface *a, void *b),(a,b),return)
704SDL_DYNAPI_PROC(SDL_Storage*,SDL_OpenTitleStorage,(const char *a, SDL_PropertiesID b),(a,b),return)
705SDL_DYNAPI_PROC(bool,SDL_OpenURL,(const char *a),(a),return)
706SDL_DYNAPI_PROC(SDL_Storage*,SDL_OpenUserStorage,(const char *a, const char *b, SDL_PropertiesID c),(a,b,c),return)
707SDL_DYNAPI_PROC(bool,SDL_OutOfMemory,(void),(),return)
708SDL_DYNAPI_PROC(bool,SDL_PauseAudioDevice,(SDL_AudioDeviceID a),(a),return)
709SDL_DYNAPI_PROC(bool,SDL_PauseAudioStreamDevice,(SDL_AudioStream *a),(a),return)
710SDL_DYNAPI_PROC(bool,SDL_PauseHaptic,(SDL_Haptic *a),(a),return)
711SDL_DYNAPI_PROC(int,SDL_PeepEvents,(SDL_Event *a, int b, SDL_EventAction c, Uint32 d, Uint32 e),(a,b,c,d,e),return)
712SDL_DYNAPI_PROC(bool,SDL_PlayHapticRumble,(SDL_Haptic *a, float b, Uint32 c),(a,b,c),return)
713SDL_DYNAPI_PROC(bool,SDL_PollEvent,(SDL_Event *a),(a),return)
714SDL_DYNAPI_PROC(void,SDL_PopGPUDebugGroup,(SDL_GPUCommandBuffer *a),(a),)
715SDL_DYNAPI_PROC(bool,SDL_PremultiplyAlpha,(int a, int b, SDL_PixelFormat c, const void *d, int e, SDL_PixelFormat f, void *g, int h, bool i),(a,b,c,d,e,f,g,h,i),return)
716SDL_DYNAPI_PROC(bool,SDL_PremultiplySurfaceAlpha,(SDL_Surface *a, bool b),(a,b),return)
717SDL_DYNAPI_PROC(void,SDL_PumpEvents,(void),(),)
718SDL_DYNAPI_PROC(bool,SDL_PushEvent,(SDL_Event *a),(a),return)
719SDL_DYNAPI_PROC(void,SDL_PushGPUComputeUniformData,(SDL_GPUCommandBuffer *a, Uint32 b, const void *c, Uint32 d),(a,b,c,d),)
720SDL_DYNAPI_PROC(void,SDL_PushGPUDebugGroup,(SDL_GPUCommandBuffer *a, const char *b),(a,b),)
721SDL_DYNAPI_PROC(void,SDL_PushGPUFragmentUniformData,(SDL_GPUCommandBuffer *a, Uint32 b, const void *c, Uint32 d),(a,b,c,d),)
722SDL_DYNAPI_PROC(void,SDL_PushGPUVertexUniformData,(SDL_GPUCommandBuffer *a, Uint32 b, const void *c, Uint32 d),(a,b,c,d),)
723SDL_DYNAPI_PROC(bool,SDL_PutAudioStreamData,(SDL_AudioStream *a, const void *b, int c),(a,b,c),return)
724SDL_DYNAPI_PROC(bool,SDL_QueryGPUFence,(SDL_GPUDevice *a, SDL_GPUFence *b),(a,b),return)
725SDL_DYNAPI_PROC(void,SDL_Quit,(void),(),)
726SDL_DYNAPI_PROC(void,SDL_QuitSubSystem,(SDL_InitFlags a),(a),)
727SDL_DYNAPI_PROC(bool,SDL_RaiseWindow,(SDL_Window *a),(a),return)
728SDL_DYNAPI_PROC(size_t,SDL_ReadIO,(SDL_IOStream *a, void *b, size_t c),(a,b,c),return)
729SDL_DYNAPI_PROC(void*,SDL_ReadProcess,(SDL_Process *a, size_t *b, int *c),(a,b,c),return)
730SDL_DYNAPI_PROC(bool,SDL_ReadS16BE,(SDL_IOStream *a, Sint16 *b),(a,b),return)
731SDL_DYNAPI_PROC(bool,SDL_ReadS16LE,(SDL_IOStream *a, Sint16 *b),(a,b),return)
732SDL_DYNAPI_PROC(bool,SDL_ReadS32BE,(SDL_IOStream *a, Sint32 *b),(a,b),return)
733SDL_DYNAPI_PROC(bool,SDL_ReadS32LE,(SDL_IOStream *a, Sint32 *b),(a,b),return)
734SDL_DYNAPI_PROC(bool,SDL_ReadS64BE,(SDL_IOStream *a, Sint64 *b),(a,b),return)
735SDL_DYNAPI_PROC(bool,SDL_ReadS64LE,(SDL_IOStream *a, Sint64 *b),(a,b),return)
736SDL_DYNAPI_PROC(bool,SDL_ReadS8,(SDL_IOStream *a, Sint8 *b),(a,b),return)
737SDL_DYNAPI_PROC(bool,SDL_ReadStorageFile,(SDL_Storage *a, const char *b, void *c, Uint64 d),(a,b,c,d),return)
738SDL_DYNAPI_PROC(bool,SDL_ReadSurfacePixel,(SDL_Surface *a, int b, int c, Uint8 *d, Uint8 *e, Uint8 *f, Uint8 *g),(a,b,c,d,e,f,g),return)
739SDL_DYNAPI_PROC(bool,SDL_ReadSurfacePixelFloat,(SDL_Surface *a, int b, int c, float *d, float *e, float *f, float *g),(a,b,c,d,e,f,g),return)
740SDL_DYNAPI_PROC(bool,SDL_ReadU16BE,(SDL_IOStream *a, Uint16 *b),(a,b),return)
741SDL_DYNAPI_PROC(bool,SDL_ReadU16LE,(SDL_IOStream *a, Uint16 *b),(a,b),return)
742SDL_DYNAPI_PROC(bool,SDL_ReadU32BE,(SDL_IOStream *a, Uint32 *b),(a,b),return)
743SDL_DYNAPI_PROC(bool,SDL_ReadU32LE,(SDL_IOStream *a, Uint32 *b),(a,b),return)
744SDL_DYNAPI_PROC(bool,SDL_ReadU64BE,(SDL_IOStream *a, Uint64 *b),(a,b),return)
745SDL_DYNAPI_PROC(bool,SDL_ReadU64LE,(SDL_IOStream *a, Uint64 *b),(a,b),return)
746SDL_DYNAPI_PROC(bool,SDL_ReadU8,(SDL_IOStream *a, Uint8 *b),(a,b),return)
747SDL_DYNAPI_PROC(bool,SDL_RegisterApp,(const char *a, Uint32 b, void *c),(a,b,c),return)
748SDL_DYNAPI_PROC(Uint32,SDL_RegisterEvents,(int a),(a),return)
749SDL_DYNAPI_PROC(void,SDL_ReleaseCameraFrame,(SDL_Camera *a, SDL_Surface *b),(a,b),)
750SDL_DYNAPI_PROC(void,SDL_ReleaseGPUBuffer,(SDL_GPUDevice *a, SDL_GPUBuffer *b),(a,b),)
751SDL_DYNAPI_PROC(void,SDL_ReleaseGPUComputePipeline,(SDL_GPUDevice *a, SDL_GPUComputePipeline *b),(a,b),)
752SDL_DYNAPI_PROC(void,SDL_ReleaseGPUFence,(SDL_GPUDevice *a, SDL_GPUFence *b),(a,b),)
753SDL_DYNAPI_PROC(void,SDL_ReleaseGPUGraphicsPipeline,(SDL_GPUDevice *a, SDL_GPUGraphicsPipeline *b),(a,b),)
754SDL_DYNAPI_PROC(void,SDL_ReleaseGPUSampler,(SDL_GPUDevice *a, SDL_GPUSampler *b),(a,b),)
755SDL_DYNAPI_PROC(void,SDL_ReleaseGPUShader,(SDL_GPUDevice *a, SDL_GPUShader *b),(a,b),)
756SDL_DYNAPI_PROC(void,SDL_ReleaseGPUTexture,(SDL_GPUDevice *a, SDL_GPUTexture *b),(a,b),)
757SDL_DYNAPI_PROC(void,SDL_ReleaseGPUTransferBuffer,(SDL_GPUDevice *a, SDL_GPUTransferBuffer *b),(a,b),)
758SDL_DYNAPI_PROC(void,SDL_ReleaseWindowFromGPUDevice,(SDL_GPUDevice *a, SDL_Window *b),(a,b),)
759SDL_DYNAPI_PROC(bool,SDL_ReloadGamepadMappings,(void),(),return)
760SDL_DYNAPI_PROC(void,SDL_RemoveEventWatch,(SDL_EventFilter a, void *b),(a,b),)
761SDL_DYNAPI_PROC(void,SDL_RemoveHintCallback,(const char *a, SDL_HintCallback b, void *c),(a,b,c),)
762SDL_DYNAPI_PROC(bool,SDL_RemovePath,(const char *a),(a),return)
763SDL_DYNAPI_PROC(bool,SDL_RemoveStoragePath,(SDL_Storage *a, const char *b),(a,b),return)
764SDL_DYNAPI_PROC(void,SDL_RemoveSurfaceAlternateImages,(SDL_Surface *a),(a),)
765SDL_DYNAPI_PROC(bool,SDL_RemoveTimer,(SDL_TimerID a),(a),return)
766SDL_DYNAPI_PROC(bool,SDL_RenamePath,(const char *a, const char *b),(a,b),return)
767SDL_DYNAPI_PROC(bool,SDL_RenameStoragePath,(SDL_Storage *a, const char *b, const char *c),(a,b,c),return)
768SDL_DYNAPI_PROC(bool,SDL_RenderClear,(SDL_Renderer *a),(a),return)
769SDL_DYNAPI_PROC(bool,SDL_RenderClipEnabled,(SDL_Renderer *a),(a),return)
770SDL_DYNAPI_PROC(bool,SDL_RenderCoordinatesFromWindow,(SDL_Renderer *a, float b, float c, float *d, float *e),(a,b,c,d,e),return)
771SDL_DYNAPI_PROC(bool,SDL_RenderCoordinatesToWindow,(SDL_Renderer *a, float b, float c, float *d, float *e),(a,b,c,d,e),return)
772SDL_DYNAPI_PROC(bool,SDL_RenderFillRect,(SDL_Renderer *a, const SDL_FRect *b),(a,b),return)
773SDL_DYNAPI_PROC(bool,SDL_RenderFillRects,(SDL_Renderer *a, const SDL_FRect *b, int c),(a,b,c),return)
774SDL_DYNAPI_PROC(bool,SDL_RenderGeometry,(SDL_Renderer *a, SDL_Texture *b, const SDL_Vertex *c, int d, const int *e, int f),(a,b,c,d,e,f),return)
775SDL_DYNAPI_PROC(bool,SDL_RenderGeometryRaw,(SDL_Renderer *a, SDL_Texture *b, const float *c, int d, const SDL_FColor *e, int f, const float *g, int h, int i, const void *j, int k, int l),(a,b,c,d,e,f,g,h,i,j,k,l),return)
776SDL_DYNAPI_PROC(bool,SDL_RenderLine,(SDL_Renderer *a, float b, float c, float d, float e),(a,b,c,d,e),return)
777SDL_DYNAPI_PROC(bool,SDL_RenderLines,(SDL_Renderer *a, const SDL_FPoint *b, int c),(a,b,c),return)
778SDL_DYNAPI_PROC(bool,SDL_RenderPoint,(SDL_Renderer *a, float b, float c),(a,b,c),return)
779SDL_DYNAPI_PROC(bool,SDL_RenderPoints,(SDL_Renderer *a, const SDL_FPoint *b, int c),(a,b,c),return)
780SDL_DYNAPI_PROC(bool,SDL_RenderPresent,(SDL_Renderer *a),(a),return)
781SDL_DYNAPI_PROC(SDL_Surface*,SDL_RenderReadPixels,(SDL_Renderer *a, const SDL_Rect *b),(a,b),return)
782SDL_DYNAPI_PROC(bool,SDL_RenderRect,(SDL_Renderer *a, const SDL_FRect *b),(a,b),return)
783SDL_DYNAPI_PROC(bool,SDL_RenderRects,(SDL_Renderer *a, const SDL_FRect *b, int c),(a,b,c),return)
784SDL_DYNAPI_PROC(bool,SDL_RenderTexture,(SDL_Renderer *a, SDL_Texture *b, const SDL_FRect *c, const SDL_FRect *d),(a,b,c,d),return)
785SDL_DYNAPI_PROC(bool,SDL_RenderTexture9Grid,(SDL_Renderer *a, SDL_Texture *b, const SDL_FRect *c, float d, float e, float f, float g, float h, const SDL_FRect *i),(a,b,c,d,e,f,g,h,i),return)
786SDL_DYNAPI_PROC(bool,SDL_RenderTextureRotated,(SDL_Renderer *a, SDL_Texture *b, const SDL_FRect *c, const SDL_FRect *d, double e, const SDL_FPoint *f, SDL_FlipMode g),(a,b,c,d,e,f,g),return)
787SDL_DYNAPI_PROC(bool,SDL_RenderTextureTiled,(SDL_Renderer *a, SDL_Texture *b, const SDL_FRect *c, float d, const SDL_FRect *e),(a,b,c,d,e),return)
788SDL_DYNAPI_PROC(bool,SDL_RenderViewportSet,(SDL_Renderer *a),(a),return)
789SDL_DYNAPI_PROC(SDL_AssertState,SDL_ReportAssertion,(SDL_AssertData *a, const char *b, const char *c, int d),(a,b,c,d),return)
790SDL_DYNAPI_PROC(bool,SDL_RequestAndroidPermission,(const char *a, SDL_RequestAndroidPermissionCallback b, void *c),(a,b,c),return)
791SDL_DYNAPI_PROC(void,SDL_ResetAssertionReport,(void),(),)
792SDL_DYNAPI_PROC(bool,SDL_ResetHint,(const char *a),(a),return)
793SDL_DYNAPI_PROC(void,SDL_ResetHints,(void),(),)
794SDL_DYNAPI_PROC(void,SDL_ResetKeyboard,(void),(),)
795SDL_DYNAPI_PROC(void,SDL_ResetLogPriorities,(void),(),)
796SDL_DYNAPI_PROC(bool,SDL_RestoreWindow,(SDL_Window *a),(a),return)
797SDL_DYNAPI_PROC(bool,SDL_ResumeAudioDevice,(SDL_AudioDeviceID a),(a),return)
798SDL_DYNAPI_PROC(bool,SDL_ResumeAudioStreamDevice,(SDL_AudioStream *a),(a),return)
799SDL_DYNAPI_PROC(bool,SDL_ResumeHaptic,(SDL_Haptic *a),(a),return)
800SDL_DYNAPI_PROC(bool,SDL_RumbleGamepad,(SDL_Gamepad *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
801SDL_DYNAPI_PROC(bool,SDL_RumbleGamepadTriggers,(SDL_Gamepad *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
802SDL_DYNAPI_PROC(bool,SDL_RumbleJoystick,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
803SDL_DYNAPI_PROC(bool,SDL_RumbleJoystickTriggers,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
804SDL_DYNAPI_PROC(int,SDL_RunApp,(int a, char *b[], SDL_main_func c, void *d),(a,b,c,d),return)
805SDL_DYNAPI_PROC(bool,SDL_RunHapticEffect,(SDL_Haptic *a, int b, Uint32 c),(a,b,c),return)
806SDL_DYNAPI_PROC(bool,SDL_SaveBMP,(SDL_Surface *a, const char *b),(a,b),return)
807SDL_DYNAPI_PROC(bool,SDL_SaveBMP_IO,(SDL_Surface *a, SDL_IOStream *b, bool c),(a,b,c),return)
808SDL_DYNAPI_PROC(SDL_Surface*,SDL_ScaleSurface,(SDL_Surface *a, int b, int c, SDL_ScaleMode d),(a,b,c,d),return)
809SDL_DYNAPI_PROC(bool,SDL_ScreenKeyboardShown,(SDL_Window *a),(a),return)
810SDL_DYNAPI_PROC(bool,SDL_ScreenSaverEnabled,(void),(),return)
811SDL_DYNAPI_PROC(Sint64,SDL_SeekIO,(SDL_IOStream *a, Sint64 b, SDL_IOWhence c),(a,b,c),return)
812SDL_DYNAPI_PROC(void,SDL_SendAndroidBackButton,(void),(),)
813SDL_DYNAPI_PROC(bool,SDL_SendAndroidMessage,(Uint32 a, int b),(a,b),return)
814SDL_DYNAPI_PROC(bool,SDL_SendGamepadEffect,(SDL_Gamepad *a, const void *b, int c),(a,b,c),return)
815SDL_DYNAPI_PROC(bool,SDL_SendJoystickEffect,(SDL_Joystick *a, const void *b, int c),(a,b,c),return)
816SDL_DYNAPI_PROC(bool,SDL_SendJoystickVirtualSensorData,(SDL_Joystick *a, SDL_SensorType b, Uint64 c, const float *d, int e),(a,b,c,d,e),return)
817SDL_DYNAPI_PROC(bool,SDL_SetAppMetadata,(const char *a, const char *b, const char *c),(a,b,c),return)
818SDL_DYNAPI_PROC(bool,SDL_SetAppMetadataProperty,(const char *a, const char *b),(a,b),return)
819SDL_DYNAPI_PROC(void,SDL_SetAssertionHandler,(SDL_AssertionHandler a, void *b),(a,b),)
820SDL_DYNAPI_PROC(int,SDL_SetAtomicInt,(SDL_AtomicInt *a, int b),(a,b),return)
821SDL_DYNAPI_PROC(void*,SDL_SetAtomicPointer,(void **a, void *b),(a,b),return)
822SDL_DYNAPI_PROC(Uint32,SDL_SetAtomicU32,(SDL_AtomicU32 *a, Uint32 b),(a,b),return)
823SDL_DYNAPI_PROC(bool,SDL_SetAudioDeviceGain,(SDL_AudioDeviceID a, float b),(a,b),return)
824SDL_DYNAPI_PROC(bool,SDL_SetAudioPostmixCallback,(SDL_AudioDeviceID a, SDL_AudioPostmixCallback b, void *c),(a,b,c),return)
825SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamFormat,(SDL_AudioStream *a, const SDL_AudioSpec *b, const SDL_AudioSpec *c),(a,b,c),return)
826SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamFrequencyRatio,(SDL_AudioStream *a, float b),(a,b),return)
827SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamGain,(SDL_AudioStream *a, float b),(a,b),return)
828SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamGetCallback,(SDL_AudioStream *a, SDL_AudioStreamCallback b, void *c),(a,b,c),return)
829SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamInputChannelMap,(SDL_AudioStream *a, const int *b, int c),(a,b,c),return)
830SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamOutputChannelMap,(SDL_AudioStream *a, const int *b, int c),(a,b,c),return)
831SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamPutCallback,(SDL_AudioStream *a, SDL_AudioStreamCallback b, void *c),(a,b,c),return)
832SDL_DYNAPI_PROC(bool,SDL_SetBooleanProperty,(SDL_PropertiesID a, const char *b, bool c),(a,b,c),return)
833SDL_DYNAPI_PROC(bool,SDL_SetClipboardData,(SDL_ClipboardDataCallback a, SDL_ClipboardCleanupCallback b, void *c, const char **d, size_t e),(a,b,c,d,e),return)
834SDL_DYNAPI_PROC(bool,SDL_SetClipboardText,(const char *a),(a),return)
835SDL_DYNAPI_PROC(bool,SDL_SetCurrentThreadPriority,(SDL_ThreadPriority a),(a),return)
836SDL_DYNAPI_PROC(bool,SDL_SetCursor,(SDL_Cursor *a),(a),return)
837SDL_DYNAPI_PROC(bool,SDL_SetEnvironmentVariable,(SDL_Environment *a, const char *b, const char *c, bool d),(a,b,c,d),return)
838SDL_DYNAPI_PROC(void,SDL_SetEventEnabled,(Uint32 a, bool b),(a,b),)
839SDL_DYNAPI_PROC(void,SDL_SetEventFilter,(SDL_EventFilter a, void *b),(a,b),)
840SDL_DYNAPI_PROC(bool,SDL_SetFloatProperty,(SDL_PropertiesID a, const char *b, float c),(a,b,c),return)
841SDL_DYNAPI_PROC(void,SDL_SetGPUBlendConstants,(SDL_GPURenderPass *a, SDL_FColor b),(a,b),)
842SDL_DYNAPI_PROC(void,SDL_SetGPUBufferName,(SDL_GPUDevice *a, SDL_GPUBuffer *b, const char *c),(a,b,c),)
843SDL_DYNAPI_PROC(void,SDL_SetGPUScissor,(SDL_GPURenderPass *a, const SDL_Rect *b),(a,b),)
844SDL_DYNAPI_PROC(void,SDL_SetGPUStencilReference,(SDL_GPURenderPass *a, Uint8 b),(a,b),)
845SDL_DYNAPI_PROC(bool,SDL_SetGPUSwapchainParameters,(SDL_GPUDevice *a, SDL_Window *b, SDL_GPUSwapchainComposition c, SDL_GPUPresentMode d),(a,b,c,d),return)
846SDL_DYNAPI_PROC(void,SDL_SetGPUTextureName,(SDL_GPUDevice *a, SDL_GPUTexture *b, const char *c),(a,b,c),)
847SDL_DYNAPI_PROC(void,SDL_SetGPUViewport,(SDL_GPURenderPass *a, const SDL_GPUViewport *b),(a,b),)
848SDL_DYNAPI_PROC(void,SDL_SetGamepadEventsEnabled,(bool a),(a),)
849SDL_DYNAPI_PROC(bool,SDL_SetGamepadLED,(SDL_Gamepad *a, Uint8 b, Uint8 c, Uint8 d),(a,b,c,d),return)
850SDL_DYNAPI_PROC(bool,SDL_SetGamepadMapping,(SDL_JoystickID a, const char *b),(a,b),return)
851SDL_DYNAPI_PROC(bool,SDL_SetGamepadPlayerIndex,(SDL_Gamepad *a, int b),(a,b),return)
852SDL_DYNAPI_PROC(bool,SDL_SetGamepadSensorEnabled,(SDL_Gamepad *a, SDL_SensorType b, bool c),(a,b,c),return)
853SDL_DYNAPI_PROC(bool,SDL_SetHapticAutocenter,(SDL_Haptic *a, int b),(a,b),return)
854SDL_DYNAPI_PROC(bool,SDL_SetHapticGain,(SDL_Haptic *a, int b),(a,b),return)
855SDL_DYNAPI_PROC(bool,SDL_SetHint,(const char *a, const char *b),(a,b),return)
856SDL_DYNAPI_PROC(bool,SDL_SetHintWithPriority,(const char *a, const char *b, SDL_HintPriority c),(a,b,c),return)
857SDL_DYNAPI_PROC(void,SDL_SetInitialized,(SDL_InitState *a, bool b),(a,b),)
858SDL_DYNAPI_PROC(void,SDL_SetJoystickEventsEnabled,(bool a),(a),)
859SDL_DYNAPI_PROC(bool,SDL_SetJoystickLED,(SDL_Joystick *a, Uint8 b, Uint8 c, Uint8 d),(a,b,c,d),return)
860SDL_DYNAPI_PROC(bool,SDL_SetJoystickPlayerIndex,(SDL_Joystick *a, int b),(a,b),return)
861SDL_DYNAPI_PROC(bool,SDL_SetJoystickVirtualAxis,(SDL_Joystick *a, int b, Sint16 c),(a,b,c),return)
862SDL_DYNAPI_PROC(bool,SDL_SetJoystickVirtualBall,(SDL_Joystick *a, int b, Sint16 c, Sint16 d),(a,b,c,d),return)
863SDL_DYNAPI_PROC(bool,SDL_SetJoystickVirtualButton,(SDL_Joystick *a, int b, bool c),(a,b,c),return)
864SDL_DYNAPI_PROC(bool,SDL_SetJoystickVirtualHat,(SDL_Joystick *a, int b, Uint8 c),(a,b,c),return)
865SDL_DYNAPI_PROC(bool,SDL_SetJoystickVirtualTouchpad,(SDL_Joystick *a, int b, int c, bool d, float e, float f, float g),(a,b,c,d,e,f,g),return)
866SDL_DYNAPI_PROC(bool,SDL_SetLinuxThreadPriority,(Sint64 a, int b),(a,b),return)
867SDL_DYNAPI_PROC(bool,SDL_SetLinuxThreadPriorityAndPolicy,(Sint64 a, int b, int c),(a,b,c),return)
868SDL_DYNAPI_PROC(void,SDL_SetLogOutputFunction,(SDL_LogOutputFunction a, void *b),(a,b),)
869SDL_DYNAPI_PROC(void,SDL_SetLogPriorities,(SDL_LogPriority a),(a),)
870SDL_DYNAPI_PROC(void,SDL_SetLogPriority,(int a, SDL_LogPriority b),(a,b),)
871SDL_DYNAPI_PROC(bool,SDL_SetLogPriorityPrefix,(SDL_LogPriority a, const char *b),(a,b),return)
872SDL_DYNAPI_PROC(void,SDL_SetMainReady,(void),(),)
873SDL_DYNAPI_PROC(bool,SDL_SetMemoryFunctions,(SDL_malloc_func a, SDL_calloc_func b, SDL_realloc_func c, SDL_free_func d),(a,b,c,d),return)
874SDL_DYNAPI_PROC(void,SDL_SetModState,(SDL_Keymod a),(a),)
875SDL_DYNAPI_PROC(bool,SDL_SetNumberProperty,(SDL_PropertiesID a, const char *b, Sint64 c),(a,b,c),return)
876SDL_DYNAPI_PROC(bool,SDL_SetPaletteColors,(SDL_Palette *a, const SDL_Color *b, int c, int d),(a,b,c,d),return)
877SDL_DYNAPI_PROC(bool,SDL_SetPointerProperty,(SDL_PropertiesID a, const char *b, void *c),(a,b,c),return)
878SDL_DYNAPI_PROC(bool,SDL_SetPointerPropertyWithCleanup,(SDL_PropertiesID a, const char *b, void *c, SDL_CleanupPropertyCallback d, void *e),(a,b,c,d,e),return)
879SDL_DYNAPI_PROC(bool,SDL_SetPrimarySelectionText,(const char *a),(a),return)
880SDL_DYNAPI_PROC(bool,SDL_SetRenderClipRect,(SDL_Renderer *a, const SDL_Rect *b),(a,b),return)
881SDL_DYNAPI_PROC(bool,SDL_SetRenderColorScale,(SDL_Renderer *a, float b),(a,b),return)
882SDL_DYNAPI_PROC(bool,SDL_SetRenderDrawBlendMode,(SDL_Renderer *a, SDL_BlendMode b),(a,b),return)
883SDL_DYNAPI_PROC(bool,SDL_SetRenderDrawColor,(SDL_Renderer *a, Uint8 b, Uint8 c, Uint8 d, Uint8 e),(a,b,c,d,e),return)
884SDL_DYNAPI_PROC(bool,SDL_SetRenderDrawColorFloat,(SDL_Renderer *a, float b, float c, float d, float e),(a,b,c,d,e),return)
885SDL_DYNAPI_PROC(bool,SDL_SetRenderLogicalPresentation,(SDL_Renderer *a, int b, int c, SDL_RendererLogicalPresentation d),(a,b,c,d),return)
886SDL_DYNAPI_PROC(bool,SDL_SetRenderScale,(SDL_Renderer *a, float b, float c),(a,b,c),return)
887SDL_DYNAPI_PROC(bool,SDL_SetRenderTarget,(SDL_Renderer *a, SDL_Texture *b),(a,b),return)
888SDL_DYNAPI_PROC(bool,SDL_SetRenderVSync,(SDL_Renderer *a, int b),(a,b),return)
889SDL_DYNAPI_PROC(bool,SDL_SetRenderViewport,(SDL_Renderer *a, const SDL_Rect *b),(a,b),return)
890SDL_DYNAPI_PROC(bool,SDL_SetScancodeName,(SDL_Scancode a, const char *b),(a,b),return)
891SDL_DYNAPI_PROC(bool,SDL_SetStringProperty,(SDL_PropertiesID a, const char *b, const char *c),(a,b,c),return)
892SDL_DYNAPI_PROC(bool,SDL_SetSurfaceAlphaMod,(SDL_Surface *a, Uint8 b),(a,b),return)
893SDL_DYNAPI_PROC(bool,SDL_SetSurfaceBlendMode,(SDL_Surface *a, SDL_BlendMode b),(a,b),return)
894SDL_DYNAPI_PROC(bool,SDL_SetSurfaceClipRect,(SDL_Surface *a, const SDL_Rect *b),(a,b),return)
895SDL_DYNAPI_PROC(bool,SDL_SetSurfaceColorKey,(SDL_Surface *a, bool b, Uint32 c),(a,b,c),return)
896SDL_DYNAPI_PROC(bool,SDL_SetSurfaceColorMod,(SDL_Surface *a, Uint8 b, Uint8 c, Uint8 d),(a,b,c,d),return)
897SDL_DYNAPI_PROC(bool,SDL_SetSurfaceColorspace,(SDL_Surface *a, SDL_Colorspace b),(a,b),return)
898SDL_DYNAPI_PROC(bool,SDL_SetSurfacePalette,(SDL_Surface *a, SDL_Palette *b),(a,b),return)
899SDL_DYNAPI_PROC(bool,SDL_SetSurfaceRLE,(SDL_Surface *a, bool b),(a,b),return)
900SDL_DYNAPI_PROC(bool,SDL_SetTLS,(SDL_TLSID *a, const void *b, SDL_TLSDestructorCallback c),(a,b,c),return)
901SDL_DYNAPI_PROC(bool,SDL_SetTextInputArea,(SDL_Window *a, const SDL_Rect *b, int c),(a,b,c),return)
902SDL_DYNAPI_PROC(bool,SDL_SetTextureAlphaMod,(SDL_Texture *a, Uint8 b),(a,b),return)
903SDL_DYNAPI_PROC(bool,SDL_SetTextureAlphaModFloat,(SDL_Texture *a, float b),(a,b),return)
904SDL_DYNAPI_PROC(bool,SDL_SetTextureBlendMode,(SDL_Texture *a, SDL_BlendMode b),(a,b),return)
905SDL_DYNAPI_PROC(bool,SDL_SetTextureColorMod,(SDL_Texture *a, Uint8 b, Uint8 c, Uint8 d),(a,b,c,d),return)
906SDL_DYNAPI_PROC(bool,SDL_SetTextureColorModFloat,(SDL_Texture *a, float b, float c, float d),(a,b,c,d),return)
907SDL_DYNAPI_PROC(bool,SDL_SetTextureScaleMode,(SDL_Texture *a, SDL_ScaleMode b),(a,b),return)
908SDL_DYNAPI_PROC(bool,SDL_SetWindowAlwaysOnTop,(SDL_Window *a, bool b),(a,b),return)
909SDL_DYNAPI_PROC(bool,SDL_SetWindowAspectRatio,(SDL_Window *a, float b, float c),(a,b,c),return)
910SDL_DYNAPI_PROC(bool,SDL_SetWindowBordered,(SDL_Window *a, bool b),(a,b),return)
911SDL_DYNAPI_PROC(bool,SDL_SetWindowFocusable,(SDL_Window *a, bool b),(a,b),return)
912SDL_DYNAPI_PROC(bool,SDL_SetWindowFullscreen,(SDL_Window *a, bool b),(a,b),return)
913SDL_DYNAPI_PROC(bool,SDL_SetWindowFullscreenMode,(SDL_Window *a, const SDL_DisplayMode *b),(a,b),return)
914SDL_DYNAPI_PROC(bool,SDL_SetWindowHitTest,(SDL_Window *a, SDL_HitTest b, void *c),(a,b,c),return)
915SDL_DYNAPI_PROC(bool,SDL_SetWindowIcon,(SDL_Window *a, SDL_Surface *b),(a,b),return)
916SDL_DYNAPI_PROC(bool,SDL_SetWindowKeyboardGrab,(SDL_Window *a, bool b),(a,b),return)
917SDL_DYNAPI_PROC(bool,SDL_SetWindowMaximumSize,(SDL_Window *a, int b, int c),(a,b,c),return)
918SDL_DYNAPI_PROC(bool,SDL_SetWindowMinimumSize,(SDL_Window *a, int b, int c),(a,b,c),return)
919SDL_DYNAPI_PROC(bool,SDL_SetWindowModal,(SDL_Window *a, bool b),(a,b),return)
920SDL_DYNAPI_PROC(bool,SDL_SetWindowMouseGrab,(SDL_Window *a, bool b),(a,b),return)
921SDL_DYNAPI_PROC(bool,SDL_SetWindowMouseRect,(SDL_Window *a, const SDL_Rect *b),(a,b),return)
922SDL_DYNAPI_PROC(bool,SDL_SetWindowOpacity,(SDL_Window *a, float b),(a,b),return)
923SDL_DYNAPI_PROC(bool,SDL_SetWindowParent,(SDL_Window *a, SDL_Window *b),(a,b),return)
924SDL_DYNAPI_PROC(bool,SDL_SetWindowPosition,(SDL_Window *a, int b, int c),(a,b,c),return)
925SDL_DYNAPI_PROC(bool,SDL_SetWindowRelativeMouseMode,(SDL_Window *a, bool b),(a,b),return)
926SDL_DYNAPI_PROC(bool,SDL_SetWindowResizable,(SDL_Window *a, bool b),(a,b),return)
927SDL_DYNAPI_PROC(bool,SDL_SetWindowShape,(SDL_Window *a, SDL_Surface *b),(a,b),return)
928SDL_DYNAPI_PROC(bool,SDL_SetWindowSize,(SDL_Window *a, int b, int c),(a,b,c),return)
929SDL_DYNAPI_PROC(bool,SDL_SetWindowSurfaceVSync,(SDL_Window *a, int b),(a,b),return)
930SDL_DYNAPI_PROC(bool,SDL_SetWindowTitle,(SDL_Window *a, const char *b),(a,b),return)
931SDL_DYNAPI_PROC(void,SDL_SetWindowsMessageHook,(SDL_WindowsMessageHook a, void *b),(a,b),)
932SDL_DYNAPI_PROC(void,SDL_SetX11EventHook,(SDL_X11EventHook a, void *b),(a,b),)
933SDL_DYNAPI_PROC(bool,SDL_SetiOSAnimationCallback,(SDL_Window *a, int b, SDL_iOSAnimationCallback c, void *d),(a,b,c,d),return)
934SDL_DYNAPI_PROC(void,SDL_SetiOSEventPump,(bool a),(a),)
935SDL_DYNAPI_PROC(bool,SDL_ShouldInit,(SDL_InitState *a),(a),return)
936SDL_DYNAPI_PROC(bool,SDL_ShouldQuit,(SDL_InitState *a),(a),return)
937SDL_DYNAPI_PROC(bool,SDL_ShowAndroidToast,(const char *a, int b, int c, int d, int e),(a,b,c,d,e),return)
938SDL_DYNAPI_PROC(bool,SDL_ShowCursor,(void),(),return)
939SDL_DYNAPI_PROC(bool,SDL_ShowMessageBox,(const SDL_MessageBoxData *a, int *b),(a,b),return)
940SDL_DYNAPI_PROC(void,SDL_ShowOpenFileDialog,(SDL_DialogFileCallback a, void *b, SDL_Window *c, const SDL_DialogFileFilter *d, int e, const char *f, bool g),(a,b,c,d,e,f,g),)
941SDL_DYNAPI_PROC(void,SDL_ShowOpenFolderDialog,(SDL_DialogFileCallback a, void *b, SDL_Window *c, const char *d, bool e),(a,b,c,d,e),)
942SDL_DYNAPI_PROC(void,SDL_ShowSaveFileDialog,(SDL_DialogFileCallback a, void *b, SDL_Window *c, const SDL_DialogFileFilter *d, int e, const char *f),(a,b,c,d,e,f),)
943SDL_DYNAPI_PROC(bool,SDL_ShowSimpleMessageBox,(SDL_MessageBoxFlags a, const char *b, const char *c, SDL_Window *d),(a,b,c,d),return)
944SDL_DYNAPI_PROC(bool,SDL_ShowWindow,(SDL_Window *a),(a),return)
945SDL_DYNAPI_PROC(bool,SDL_ShowWindowSystemMenu,(SDL_Window *a, int b, int c),(a,b,c),return)
946SDL_DYNAPI_PROC(void,SDL_SignalCondition,(SDL_Condition *a),(a),)
947SDL_DYNAPI_PROC(void,SDL_SignalSemaphore,(SDL_Semaphore *a),(a),)
948SDL_DYNAPI_PROC(bool,SDL_StartTextInput,(SDL_Window *a),(a),return)
949SDL_DYNAPI_PROC(bool,SDL_StartTextInputWithProperties,(SDL_Window *a, SDL_PropertiesID b),(a,b),return)
950SDL_DYNAPI_PROC(Uint32,SDL_StepUTF8,(const char **a, size_t *b),(a,b),return)
951SDL_DYNAPI_PROC(bool,SDL_StopHapticEffect,(SDL_Haptic *a, int b),(a,b),return)
952SDL_DYNAPI_PROC(bool,SDL_StopHapticEffects,(SDL_Haptic *a),(a),return)
953SDL_DYNAPI_PROC(bool,SDL_StopHapticRumble,(SDL_Haptic *a),(a),return)
954SDL_DYNAPI_PROC(bool,SDL_StopTextInput,(SDL_Window *a),(a),return)
955SDL_DYNAPI_PROC(bool,SDL_StorageReady,(SDL_Storage *a),(a),return)
956SDL_DYNAPI_PROC(SDL_GUID,SDL_StringToGUID,(const char *a),(a),return)
957SDL_DYNAPI_PROC(bool,SDL_SubmitGPUCommandBuffer,(SDL_GPUCommandBuffer *a),(a),return)
958SDL_DYNAPI_PROC(SDL_GPUFence*,SDL_SubmitGPUCommandBufferAndAcquireFence,(SDL_GPUCommandBuffer *a),(a),return)
959SDL_DYNAPI_PROC(bool,SDL_SurfaceHasAlternateImages,(SDL_Surface *a),(a),return)
960SDL_DYNAPI_PROC(bool,SDL_SurfaceHasColorKey,(SDL_Surface *a),(a),return)
961SDL_DYNAPI_PROC(bool,SDL_SurfaceHasRLE,(SDL_Surface *a),(a),return)
962SDL_DYNAPI_PROC(bool,SDL_SyncWindow,(SDL_Window *a),(a),return)
963SDL_DYNAPI_PROC(Sint64,SDL_TellIO,(SDL_IOStream *a),(a),return)
964SDL_DYNAPI_PROC(bool,SDL_TextInputActive,(SDL_Window *a),(a),return)
965SDL_DYNAPI_PROC(SDL_Time,SDL_TimeFromWindows,(Uint32 a, Uint32 b),(a,b),return)
966SDL_DYNAPI_PROC(bool,SDL_TimeToDateTime,(SDL_Time a, SDL_DateTime *b, bool c),(a,b,c),return)
967SDL_DYNAPI_PROC(void,SDL_TimeToWindows,(SDL_Time a, Uint32 *b, Uint32 *c),(a,b,c),)
968SDL_DYNAPI_PROC(bool,SDL_TryLockMutex,(SDL_Mutex *a),(a),return)
969SDL_DYNAPI_PROC(bool,SDL_TryLockRWLockForReading,(SDL_RWLock *a),(a),return)
970SDL_DYNAPI_PROC(bool,SDL_TryLockRWLockForWriting,(SDL_RWLock *a),(a),return)
971SDL_DYNAPI_PROC(bool,SDL_TryLockSpinlock,(SDL_SpinLock *a),(a),return)
972SDL_DYNAPI_PROC(bool,SDL_TryWaitSemaphore,(SDL_Semaphore *a),(a),return)
973SDL_DYNAPI_PROC(char*,SDL_UCS4ToUTF8,(Uint32 a, char *b),(a,b),return)
974SDL_DYNAPI_PROC(void,SDL_UnbindAudioStream,(SDL_AudioStream *a),(a),)
975SDL_DYNAPI_PROC(void,SDL_UnbindAudioStreams,(SDL_AudioStream * const *a, int b),(a,b),)
976SDL_DYNAPI_PROC(void,SDL_UnloadObject,(SDL_SharedObject *a),(a),)
977SDL_DYNAPI_PROC(bool,SDL_UnlockAudioStream,(SDL_AudioStream *a),(a),return)
978SDL_DYNAPI_PROC(void,SDL_UnlockJoysticks,(void),(),)
979SDL_DYNAPI_PROC(void,SDL_UnlockMutex,(SDL_Mutex *a),(a),)
980SDL_DYNAPI_PROC(void,SDL_UnlockProperties,(SDL_PropertiesID a),(a),)
981SDL_DYNAPI_PROC(void,SDL_UnlockRWLock,(SDL_RWLock *a),(a),)
982SDL_DYNAPI_PROC(void,SDL_UnlockSpinlock,(SDL_SpinLock *a),(a),)
983SDL_DYNAPI_PROC(void,SDL_UnlockSurface,(SDL_Surface *a),(a),)
984SDL_DYNAPI_PROC(void,SDL_UnlockTexture,(SDL_Texture *a),(a),)
985SDL_DYNAPI_PROC(void,SDL_UnmapGPUTransferBuffer,(SDL_GPUDevice *a, SDL_GPUTransferBuffer *b),(a,b),)
986SDL_DYNAPI_PROC(void,SDL_UnregisterApp,(void),(),)
987SDL_DYNAPI_PROC(bool,SDL_UnsetEnvironmentVariable,(SDL_Environment *a, const char *b),(a,b),return)
988SDL_DYNAPI_PROC(void,SDL_UpdateGamepads,(void),(),)
989SDL_DYNAPI_PROC(bool,SDL_UpdateHapticEffect,(SDL_Haptic *a, int b, const SDL_HapticEffect *c),(a,b,c),return)
990SDL_DYNAPI_PROC(void,SDL_UpdateJoysticks,(void),(),)
991SDL_DYNAPI_PROC(bool,SDL_UpdateNVTexture,(SDL_Texture *a, const SDL_Rect *b, const Uint8 *c, int d, const Uint8 *e, int f),(a,b,c,d,e,f),return)
992SDL_DYNAPI_PROC(void,SDL_UpdateSensors,(void),(),)
993SDL_DYNAPI_PROC(bool,SDL_UpdateTexture,(SDL_Texture *a, const SDL_Rect *b, const void *c, int d),(a,b,c,d),return)
994SDL_DYNAPI_PROC(bool,SDL_UpdateWindowSurface,(SDL_Window *a),(a),return)
995SDL_DYNAPI_PROC(bool,SDL_UpdateWindowSurfaceRects,(SDL_Window *a, const SDL_Rect *b, int c),(a,b,c),return)
996SDL_DYNAPI_PROC(bool,SDL_UpdateYUVTexture,(SDL_Texture *a, const SDL_Rect *b, const Uint8 *c, int d, const Uint8 *e, int f, const Uint8 *g, int h),(a,b,c,d,e,f,g,h),return)
997SDL_DYNAPI_PROC(void,SDL_UploadToGPUBuffer,(SDL_GPUCopyPass *a, const SDL_GPUTransferBufferLocation *b, const SDL_GPUBufferRegion *c, bool d),(a,b,c,d),)
998SDL_DYNAPI_PROC(void,SDL_UploadToGPUTexture,(SDL_GPUCopyPass *a, const SDL_GPUTextureTransferInfo *b, const SDL_GPUTextureRegion *c, bool d),(a,b,c,d),)
999SDL_DYNAPI_PROC(bool,SDL_Vulkan_CreateSurface,(SDL_Window *a, VkInstance b, const struct VkAllocationCallbacks *c, VkSurfaceKHR *d),(a,b,c,d),return)
1000SDL_DYNAPI_PROC(void,SDL_Vulkan_DestroySurface,(VkInstance a, VkSurfaceKHR b, const struct VkAllocationCallbacks *c),(a,b,c),)
1001SDL_DYNAPI_PROC(char const* const*,SDL_Vulkan_GetInstanceExtensions,(Uint32 *a),(a),return)
1002SDL_DYNAPI_PROC(bool,SDL_Vulkan_GetPresentationSupport,(VkInstance a, VkPhysicalDevice b, Uint32 c),(a,b,c),return)
1003SDL_DYNAPI_PROC(SDL_FunctionPointer,SDL_Vulkan_GetVkGetInstanceProcAddr,(void),(),return)
1004SDL_DYNAPI_PROC(bool,SDL_Vulkan_LoadLibrary,(const char *a),(a),return)
1005SDL_DYNAPI_PROC(void,SDL_Vulkan_UnloadLibrary,(void),(),)
1006SDL_DYNAPI_PROC(void,SDL_WaitCondition,(SDL_Condition *a, SDL_Mutex *b),(a,b),)
1007SDL_DYNAPI_PROC(bool,SDL_WaitConditionTimeout,(SDL_Condition *a, SDL_Mutex *b, Sint32 c),(a,b,c),return)
1008SDL_DYNAPI_PROC(bool,SDL_WaitEvent,(SDL_Event *a),(a),return)
1009SDL_DYNAPI_PROC(bool,SDL_WaitEventTimeout,(SDL_Event *a, Sint32 b),(a,b),return)
1010SDL_DYNAPI_PROC(bool,SDL_WaitForGPUFences,(SDL_GPUDevice *a, bool b, SDL_GPUFence *const *c, Uint32 d),(a,b,c,d),return)
1011SDL_DYNAPI_PROC(bool,SDL_WaitForGPUIdle,(SDL_GPUDevice *a),(a),return)
1012SDL_DYNAPI_PROC(bool,SDL_WaitProcess,(SDL_Process *a, bool b, int *c),(a,b,c),return)
1013SDL_DYNAPI_PROC(void,SDL_WaitSemaphore,(SDL_Semaphore *a),(a),)
1014SDL_DYNAPI_PROC(bool,SDL_WaitSemaphoreTimeout,(SDL_Semaphore *a, Sint32 b),(a,b),return)
1015SDL_DYNAPI_PROC(void,SDL_WaitThread,(SDL_Thread *a, int *b),(a,b),)
1016SDL_DYNAPI_PROC(bool,SDL_WarpMouseGlobal,(float a, float b),(a,b),return)
1017SDL_DYNAPI_PROC(void,SDL_WarpMouseInWindow,(SDL_Window *a, float b, float c),(a,b,c),)
1018SDL_DYNAPI_PROC(SDL_InitFlags,SDL_WasInit,(SDL_InitFlags a),(a),return)
1019SDL_DYNAPI_PROC(bool,SDL_WindowHasSurface,(SDL_Window *a),(a),return)
1020SDL_DYNAPI_PROC(bool,SDL_WindowSupportsGPUPresentMode,(SDL_GPUDevice *a, SDL_Window *b, SDL_GPUPresentMode c),(a,b,c),return)
1021SDL_DYNAPI_PROC(bool,SDL_WindowSupportsGPUSwapchainComposition,(SDL_GPUDevice *a, SDL_Window *b, SDL_GPUSwapchainComposition c),(a,b,c),return)
1022SDL_DYNAPI_PROC(size_t,SDL_WriteIO,(SDL_IOStream *a, const void *b, size_t c),(a,b,c),return)
1023SDL_DYNAPI_PROC(bool,SDL_WriteS16BE,(SDL_IOStream *a, Sint16 b),(a,b),return)
1024SDL_DYNAPI_PROC(bool,SDL_WriteS16LE,(SDL_IOStream *a, Sint16 b),(a,b),return)
1025SDL_DYNAPI_PROC(bool,SDL_WriteS32BE,(SDL_IOStream *a, Sint32 b),(a,b),return)
1026SDL_DYNAPI_PROC(bool,SDL_WriteS32LE,(SDL_IOStream *a, Sint32 b),(a,b),return)
1027SDL_DYNAPI_PROC(bool,SDL_WriteS64BE,(SDL_IOStream *a, Sint64 b),(a,b),return)
1028SDL_DYNAPI_PROC(bool,SDL_WriteS64LE,(SDL_IOStream *a, Sint64 b),(a,b),return)
1029SDL_DYNAPI_PROC(bool,SDL_WriteS8,(SDL_IOStream *a, Sint8 b),(a,b),return)
1030SDL_DYNAPI_PROC(bool,SDL_WriteStorageFile,(SDL_Storage *a, const char *b, const void *c, Uint64 d),(a,b,c,d),return)
1031SDL_DYNAPI_PROC(bool,SDL_WriteSurfacePixel,(SDL_Surface *a, int b, int c, Uint8 d, Uint8 e, Uint8 f, Uint8 g),(a,b,c,d,e,f,g),return)
1032SDL_DYNAPI_PROC(bool,SDL_WriteSurfacePixelFloat,(SDL_Surface *a, int b, int c, float d, float e, float f, float g),(a,b,c,d,e,f,g),return)
1033SDL_DYNAPI_PROC(bool,SDL_WriteU16BE,(SDL_IOStream *a, Uint16 b),(a,b),return)
1034SDL_DYNAPI_PROC(bool,SDL_WriteU16LE,(SDL_IOStream *a, Uint16 b),(a,b),return)
1035SDL_DYNAPI_PROC(bool,SDL_WriteU32BE,(SDL_IOStream *a, Uint32 b),(a,b),return)
1036SDL_DYNAPI_PROC(bool,SDL_WriteU32LE,(SDL_IOStream *a, Uint32 b),(a,b),return)
1037SDL_DYNAPI_PROC(bool,SDL_WriteU64BE,(SDL_IOStream *a, Uint64 b),(a,b),return)
1038SDL_DYNAPI_PROC(bool,SDL_WriteU64LE,(SDL_IOStream *a, Uint64 b),(a,b),return)
1039SDL_DYNAPI_PROC(bool,SDL_WriteU8,(SDL_IOStream *a, Uint8 b),(a,b),return)
1040SDL_DYNAPI_PROC(int,SDL_abs,(int a),(a),return)
1041SDL_DYNAPI_PROC(double,SDL_acos,(double a),(a),return)
1042SDL_DYNAPI_PROC(float,SDL_acosf,(float a),(a),return)
1043SDL_DYNAPI_PROC(void*,SDL_aligned_alloc,(size_t a, size_t b),(a,b),return)
1044SDL_DYNAPI_PROC(void,SDL_aligned_free,(void *a),(a),)
1045SDL_DYNAPI_PROC(double,SDL_asin,(double a),(a),return)
1046SDL_DYNAPI_PROC(float,SDL_asinf,(float a),(a),return)
1047SDL_DYNAPI_PROC(double,SDL_atan,(double a),(a),return)
1048SDL_DYNAPI_PROC(double,SDL_atan2,(double a, double b),(a,b),return)
1049SDL_DYNAPI_PROC(float,SDL_atan2f,(float a, float b),(a,b),return)
1050SDL_DYNAPI_PROC(float,SDL_atanf,(float a),(a),return)
1051SDL_DYNAPI_PROC(double,SDL_atof,(const char *a),(a),return)
1052SDL_DYNAPI_PROC(int,SDL_atoi,(const char *a),(a),return)
1053SDL_DYNAPI_PROC(void*,SDL_bsearch,(const void *a, const void *b, size_t c, size_t d, SDL_CompareCallback e),(a,b,c,d,e),return)
1054SDL_DYNAPI_PROC(void*,SDL_bsearch_r,(const void *a, const void *b, size_t c, size_t d, SDL_CompareCallback_r e, void *f),(a,b,c,d,e,f),return)
1055SDL_DYNAPI_PROC(void*,SDL_calloc,(size_t a, size_t b),(a,b),return)
1056SDL_DYNAPI_PROC(double,SDL_ceil,(double a),(a),return)
1057SDL_DYNAPI_PROC(float,SDL_ceilf,(float a),(a),return)
1058SDL_DYNAPI_PROC(double,SDL_copysign,(double a, double b),(a,b),return)
1059SDL_DYNAPI_PROC(float,SDL_copysignf,(float a, float b),(a,b),return)
1060SDL_DYNAPI_PROC(double,SDL_cos,(double a),(a),return)
1061SDL_DYNAPI_PROC(float,SDL_cosf,(float a),(a),return)
1062SDL_DYNAPI_PROC(Uint16,SDL_crc16,(Uint16 a, const void *b, size_t c),(a,b,c),return)
1063SDL_DYNAPI_PROC(Uint32,SDL_crc32,(Uint32 a, const void *b, size_t c),(a,b,c),return)
1064SDL_DYNAPI_PROC(double,SDL_exp,(double a),(a),return)
1065SDL_DYNAPI_PROC(float,SDL_expf,(float a),(a),return)
1066SDL_DYNAPI_PROC(double,SDL_fabs,(double a),(a),return)
1067SDL_DYNAPI_PROC(float,SDL_fabsf,(float a),(a),return)
1068SDL_DYNAPI_PROC(double,SDL_floor,(double a),(a),return)
1069SDL_DYNAPI_PROC(float,SDL_floorf,(float a),(a),return)
1070SDL_DYNAPI_PROC(double,SDL_fmod,(double a, double b),(a,b),return)
1071SDL_DYNAPI_PROC(float,SDL_fmodf,(float a, float b),(a,b),return)
1072SDL_DYNAPI_PROC(void,SDL_free,(void *a),(a),)
1073SDL_DYNAPI_PROC(const char*,SDL_getenv,(const char *a),(a),return)
1074SDL_DYNAPI_PROC(const char*,SDL_getenv_unsafe,(const char *a),(a),return)
1075SDL_DYNAPI_PROC(void,SDL_hid_ble_scan,(bool a),(a),)
1076SDL_DYNAPI_PROC(int,SDL_hid_close,(SDL_hid_device *a),(a),return)
1077SDL_DYNAPI_PROC(Uint32,SDL_hid_device_change_count,(void),(),return)
1078SDL_DYNAPI_PROC(SDL_hid_device_info*,SDL_hid_enumerate,(unsigned short a, unsigned short b),(a,b),return)
1079SDL_DYNAPI_PROC(int,SDL_hid_exit,(void),(),return)
1080SDL_DYNAPI_PROC(void,SDL_hid_free_enumeration,(SDL_hid_device_info *a),(a),)
1081SDL_DYNAPI_PROC(SDL_hid_device_info*,SDL_hid_get_device_info,(SDL_hid_device *a),(a),return)
1082SDL_DYNAPI_PROC(int,SDL_hid_get_feature_report,(SDL_hid_device *a, unsigned char *b, size_t c),(a,b,c),return)
1083SDL_DYNAPI_PROC(int,SDL_hid_get_indexed_string,(SDL_hid_device *a, int b, wchar_t *c, size_t d),(a,b,c,d),return)
1084SDL_DYNAPI_PROC(int,SDL_hid_get_input_report,(SDL_hid_device *a, unsigned char *b, size_t c),(a,b,c),return)
1085SDL_DYNAPI_PROC(int,SDL_hid_get_manufacturer_string,(SDL_hid_device *a, wchar_t *b, size_t c),(a,b,c),return)
1086SDL_DYNAPI_PROC(int,SDL_hid_get_product_string,(SDL_hid_device *a, wchar_t *b, size_t c),(a,b,c),return)
1087SDL_DYNAPI_PROC(int,SDL_hid_get_report_descriptor,(SDL_hid_device *a, unsigned char *b, size_t c),(a,b,c),return)
1088SDL_DYNAPI_PROC(int,SDL_hid_get_serial_number_string,(SDL_hid_device *a, wchar_t *b, size_t c),(a,b,c),return)
1089SDL_DYNAPI_PROC(int,SDL_hid_init,(void),(),return)
1090SDL_DYNAPI_PROC(SDL_hid_device*,SDL_hid_open,(unsigned short a, unsigned short b, const wchar_t *c),(a,b,c),return)
1091SDL_DYNAPI_PROC(SDL_hid_device*,SDL_hid_open_path,(const char *a),(a),return)
1092SDL_DYNAPI_PROC(int,SDL_hid_read,(SDL_hid_device *a, unsigned char *b, size_t c),(a,b,c),return)
1093SDL_DYNAPI_PROC(int,SDL_hid_read_timeout,(SDL_hid_device *a, unsigned char *b, size_t c, int d),(a,b,c,d),return)
1094SDL_DYNAPI_PROC(int,SDL_hid_send_feature_report,(SDL_hid_device *a, const unsigned char *b, size_t c),(a,b,c),return)
1095SDL_DYNAPI_PROC(int,SDL_hid_set_nonblocking,(SDL_hid_device *a, int b),(a,b),return)
1096SDL_DYNAPI_PROC(int,SDL_hid_write,(SDL_hid_device *a, const unsigned char *b, size_t c),(a,b,c),return)
1097SDL_DYNAPI_PROC(size_t,SDL_iconv,(SDL_iconv_t a, const char **b, size_t *c, char **d, size_t *e),(a,b,c,d,e),return)
1098SDL_DYNAPI_PROC(int,SDL_iconv_close,(SDL_iconv_t a),(a),return)
1099SDL_DYNAPI_PROC(SDL_iconv_t,SDL_iconv_open,(const char *a, const char *b),(a,b),return)
1100SDL_DYNAPI_PROC(char*,SDL_iconv_string,(const char *a, const char *b, const char *c, size_t d),(a,b,c,d),return)
1101SDL_DYNAPI_PROC(int,SDL_isalnum,(int a),(a),return)
1102SDL_DYNAPI_PROC(int,SDL_isalpha,(int a),(a),return)
1103SDL_DYNAPI_PROC(int,SDL_isblank,(int a),(a),return)
1104SDL_DYNAPI_PROC(int,SDL_iscntrl,(int a),(a),return)
1105SDL_DYNAPI_PROC(int,SDL_isdigit,(int a),(a),return)
1106SDL_DYNAPI_PROC(int,SDL_isgraph,(int a),(a),return)
1107SDL_DYNAPI_PROC(int,SDL_isinf,(double a),(a),return)
1108SDL_DYNAPI_PROC(int,SDL_isinff,(float a),(a),return)
1109SDL_DYNAPI_PROC(int,SDL_islower,(int a),(a),return)
1110SDL_DYNAPI_PROC(int,SDL_isnan,(double a),(a),return)
1111SDL_DYNAPI_PROC(int,SDL_isnanf,(float a),(a),return)
1112SDL_DYNAPI_PROC(int,SDL_isprint,(int a),(a),return)
1113SDL_DYNAPI_PROC(int,SDL_ispunct,(int a),(a),return)
1114SDL_DYNAPI_PROC(int,SDL_isspace,(int a),(a),return)
1115SDL_DYNAPI_PROC(int,SDL_isupper,(int a),(a),return)
1116SDL_DYNAPI_PROC(int,SDL_isxdigit,(int a),(a),return)
1117SDL_DYNAPI_PROC(char*,SDL_itoa,(int a, char *b, int c),(a,b,c),return)
1118SDL_DYNAPI_PROC(char*,SDL_lltoa,(long long a, char *b, int c),(a,b,c),return)
1119SDL_DYNAPI_PROC(double,SDL_log,(double a),(a),return)
1120SDL_DYNAPI_PROC(double,SDL_log10,(double a),(a),return)
1121SDL_DYNAPI_PROC(float,SDL_log10f,(float a),(a),return)
1122SDL_DYNAPI_PROC(float,SDL_logf,(float a),(a),return)
1123SDL_DYNAPI_PROC(long,SDL_lround,(double a),(a),return)
1124SDL_DYNAPI_PROC(long,SDL_lroundf,(float a),(a),return)
1125SDL_DYNAPI_PROC(char*,SDL_ltoa,(long a, char *b, int c),(a,b,c),return)
1126SDL_DYNAPI_PROC(void*,SDL_malloc,(size_t a),(a),return)
1127SDL_DYNAPI_PROC(int,SDL_memcmp,(const void *a, const void *b, size_t c),(a,b,c),return)
1128SDL_DYNAPI_PROC(void*,SDL_memcpy,(SDL_OUT_BYTECAP(c) void *a, SDL_IN_BYTECAP(c) const void *b, size_t c),(a,b,c),return)
1129SDL_DYNAPI_PROC(void*,SDL_memmove,(SDL_OUT_BYTECAP(c) void *a, SDL_IN_BYTECAP(c) const void *b, size_t c),(a,b,c),return)
1130SDL_DYNAPI_PROC(void*,SDL_memset,(SDL_OUT_BYTECAP(c) void *a, int b, size_t c),(a,b,c),return)
1131SDL_DYNAPI_PROC(void*,SDL_memset4,(void *a, Uint32 b, size_t c),(a,b,c),return)
1132SDL_DYNAPI_PROC(double,SDL_modf,(double a, double *b),(a,b),return)
1133SDL_DYNAPI_PROC(float,SDL_modff,(float a, float *b),(a,b),return)
1134SDL_DYNAPI_PROC(Uint32,SDL_murmur3_32,(const void *a, size_t b, Uint32 c),(a,b,c),return)
1135SDL_DYNAPI_PROC(double,SDL_pow,(double a, double b),(a,b),return)
1136SDL_DYNAPI_PROC(float,SDL_powf,(float a, float b),(a,b),return)
1137SDL_DYNAPI_PROC(void,SDL_qsort,(void *a, size_t b, size_t c, SDL_CompareCallback d),(a,b,c,d),)
1138SDL_DYNAPI_PROC(void,SDL_qsort_r,(void *a, size_t b, size_t c, SDL_CompareCallback_r d, void *e),(a,b,c,d,e),)
1139SDL_DYNAPI_PROC(Sint32,SDL_rand,(Sint32 a),(a),return)
1140SDL_DYNAPI_PROC(Uint32,SDL_rand_bits,(void),(),return)
1141SDL_DYNAPI_PROC(Uint32,SDL_rand_bits_r,(Uint64 *a),(a),return)
1142SDL_DYNAPI_PROC(Sint32,SDL_rand_r,(Uint64 *a, Sint32 b),(a,b),return)
1143SDL_DYNAPI_PROC(float,SDL_randf,(void),(),return)
1144SDL_DYNAPI_PROC(float,SDL_randf_r,(Uint64 *a),(a),return)
1145SDL_DYNAPI_PROC(void*,SDL_realloc,(void *a, size_t b),(a,b),return)
1146SDL_DYNAPI_PROC(double,SDL_round,(double a),(a),return)
1147SDL_DYNAPI_PROC(float,SDL_roundf,(float a),(a),return)
1148SDL_DYNAPI_PROC(double,SDL_scalbn,(double a, int b),(a,b),return)
1149SDL_DYNAPI_PROC(float,SDL_scalbnf,(float a, int b),(a,b),return)
1150SDL_DYNAPI_PROC(int,SDL_setenv_unsafe,(const char *a, const char *b, int c),(a,b,c),return)
1151SDL_DYNAPI_PROC(double,SDL_sin,(double a),(a),return)
1152SDL_DYNAPI_PROC(float,SDL_sinf,(float a),(a),return)
1153SDL_DYNAPI_PROC(double,SDL_sqrt,(double a),(a),return)
1154SDL_DYNAPI_PROC(float,SDL_sqrtf,(float a),(a),return)
1155SDL_DYNAPI_PROC(void,SDL_srand,(Uint64 a),(a),)
1156SDL_DYNAPI_PROC(int,SDL_strcasecmp,(const char *a, const char *b),(a,b),return)
1157SDL_DYNAPI_PROC(char*,SDL_strcasestr,(const char *a, const char *b),(a,b),return)
1158SDL_DYNAPI_PROC(char*,SDL_strchr,(const char *a, int b),(a,b),return)
1159SDL_DYNAPI_PROC(int,SDL_strcmp,(const char *a, const char *b),(a,b),return)
1160SDL_DYNAPI_PROC(char*,SDL_strdup,(const char *a),(a),return)
1161SDL_DYNAPI_PROC(size_t,SDL_strlcat,(SDL_INOUT_Z_CAP(c) char *a, const char *b, size_t c),(a,b,c),return)
1162SDL_DYNAPI_PROC(size_t,SDL_strlcpy,(SDL_OUT_Z_CAP(c) char *a, const char *b, size_t c),(a,b,c),return)
1163SDL_DYNAPI_PROC(size_t,SDL_strlen,(const char *a),(a),return)
1164SDL_DYNAPI_PROC(char*,SDL_strlwr,(char *a),(a),return)
1165SDL_DYNAPI_PROC(int,SDL_strncasecmp,(const char *a, const char *b, size_t c),(a,b,c),return)
1166SDL_DYNAPI_PROC(int,SDL_strncmp,(const char *a, const char *b, size_t c),(a,b,c),return)
1167SDL_DYNAPI_PROC(char*,SDL_strndup,(const char *a, size_t b),(a,b),return)
1168SDL_DYNAPI_PROC(size_t,SDL_strnlen,(const char *a, size_t b),(a,b),return)
1169SDL_DYNAPI_PROC(char*,SDL_strnstr,(const char *a, const char *b, size_t c),(a,b,c),return)
1170SDL_DYNAPI_PROC(char*,SDL_strpbrk,(const char *a, const char *b),(a,b),return)
1171SDL_DYNAPI_PROC(char*,SDL_strrchr,(const char *a, int b),(a,b),return)
1172SDL_DYNAPI_PROC(char*,SDL_strrev,(char *a),(a),return)
1173SDL_DYNAPI_PROC(char*,SDL_strstr,(const char *a, const char *b),(a,b),return)
1174SDL_DYNAPI_PROC(double,SDL_strtod,(const char *a, char **b),(a,b),return)
1175SDL_DYNAPI_PROC(char*,SDL_strtok_r,(char *a, const char *b, char **c),(a,b,c),return)
1176SDL_DYNAPI_PROC(long,SDL_strtol,(const char *a, char **b, int c),(a,b,c),return)
1177SDL_DYNAPI_PROC(long long,SDL_strtoll,(const char *a, char **b, int c),(a,b,c),return)
1178SDL_DYNAPI_PROC(unsigned long,SDL_strtoul,(const char *a, char **b, int c),(a,b,c),return)
1179SDL_DYNAPI_PROC(unsigned long long,SDL_strtoull,(const char *a, char **b, int c),(a,b,c),return)
1180SDL_DYNAPI_PROC(char*,SDL_strupr,(char *a),(a),return)
1181SDL_DYNAPI_PROC(double,SDL_tan,(double a),(a),return)
1182SDL_DYNAPI_PROC(float,SDL_tanf,(float a),(a),return)
1183SDL_DYNAPI_PROC(int,SDL_tolower,(int a),(a),return)
1184SDL_DYNAPI_PROC(int,SDL_toupper,(int a),(a),return)
1185SDL_DYNAPI_PROC(double,SDL_trunc,(double a),(a),return)
1186SDL_DYNAPI_PROC(float,SDL_truncf,(float a),(a),return)
1187SDL_DYNAPI_PROC(char*,SDL_uitoa,(unsigned int a, char *b, int c),(a,b,c),return)
1188SDL_DYNAPI_PROC(char*,SDL_ulltoa,(unsigned long long a, char *b, int c),(a,b,c),return)
1189SDL_DYNAPI_PROC(char*,SDL_ultoa,(unsigned long a, char *b, int c),(a,b,c),return)
1190SDL_DYNAPI_PROC(int,SDL_unsetenv_unsafe,(const char *a),(a),return)
1191SDL_DYNAPI_PROC(size_t,SDL_utf8strlcpy,(SDL_OUT_Z_CAP(c) char *a, const char *b, size_t c),(a,b,c),return)
1192SDL_DYNAPI_PROC(size_t,SDL_utf8strlen,(const char *a),(a),return)
1193SDL_DYNAPI_PROC(size_t,SDL_utf8strnlen,(const char *a, size_t b),(a,b),return)
1194SDL_DYNAPI_PROC(int,SDL_vasprintf,(char **a, SDL_PRINTF_FORMAT_STRING const char *b, va_list c),(a,b,c),return)
1195SDL_DYNAPI_PROC(int,SDL_vsnprintf,(SDL_OUT_Z_CAP(b) char *a, size_t b, SDL_PRINTF_FORMAT_STRING const char *c, va_list d),(a,b,c,d),return)
1196SDL_DYNAPI_PROC(int,SDL_vsscanf,(const char *a, SDL_SCANF_FORMAT_STRING const char *b, va_list c),(a,b,c),return)
1197SDL_DYNAPI_PROC(int,SDL_vswprintf,(SDL_OUT_Z_CAP(b) wchar_t *a, size_t b, const wchar_t *c, va_list d),(a,b,c,d),return)
1198SDL_DYNAPI_PROC(int,SDL_wcscasecmp,(const wchar_t *a, const wchar_t *b),(a,b),return)
1199SDL_DYNAPI_PROC(int,SDL_wcscmp,(const wchar_t *a, const wchar_t *b),(a,b),return)
1200SDL_DYNAPI_PROC(wchar_t*,SDL_wcsdup,(const wchar_t *a),(a),return)
1201SDL_DYNAPI_PROC(size_t,SDL_wcslcat,(SDL_INOUT_Z_CAP(c) wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
1202SDL_DYNAPI_PROC(size_t,SDL_wcslcpy,(SDL_OUT_Z_CAP(c) wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
1203SDL_DYNAPI_PROC(size_t,SDL_wcslen,(const wchar_t *a),(a),return)
1204SDL_DYNAPI_PROC(int,SDL_wcsncasecmp,(const wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
1205SDL_DYNAPI_PROC(int,SDL_wcsncmp,(const wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
1206SDL_DYNAPI_PROC(size_t,SDL_wcsnlen,(const wchar_t *a, size_t b),(a,b),return)
1207SDL_DYNAPI_PROC(wchar_t*,SDL_wcsnstr,(const wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
1208SDL_DYNAPI_PROC(wchar_t*,SDL_wcsstr,(const wchar_t *a, const wchar_t *b),(a,b),return)
1209SDL_DYNAPI_PROC(long,SDL_wcstol,(const wchar_t *a, wchar_t **b, int c),(a,b,c),return)
1210SDL_DYNAPI_PROC(Uint32,SDL_StepBackUTF8,(const char *a, const char **b),(a,b),return)
1211SDL_DYNAPI_PROC(void,SDL_DelayPrecise,(Uint64 a),(a),)
1212SDL_DYNAPI_PROC(Uint32,SDL_CalculateGPUTextureFormatSize,(SDL_GPUTextureFormat a, Uint32 b, Uint32 c, Uint32 d),(a,b,c,d),return)
1213SDL_DYNAPI_PROC(bool,SDL_SetErrorV,(SDL_PRINTF_FORMAT_STRING const char *a,va_list b),(a,b),return)
1214SDL_DYNAPI_PROC(SDL_LogOutputFunction,SDL_GetDefaultLogOutputFunction,(void),(),return)
1215SDL_DYNAPI_PROC(bool,SDL_RenderDebugText,(SDL_Renderer *a,float b,float c,const char *d),(a,b,c,d),return)
1216SDL_DYNAPI_PROC(SDL_Sandbox,SDL_GetSandbox,(void),(),return)
1217SDL_DYNAPI_PROC(bool,SDL_CancelGPUCommandBuffer,(SDL_GPUCommandBuffer *a),(a),return)
1218SDL_DYNAPI_PROC(bool,SDL_SaveFile_IO,(SDL_IOStream *a,const void *b,size_t c,bool d),(a,b,c,d),return)
1219SDL_DYNAPI_PROC(bool,SDL_SaveFile,(const char *a,const void *b,size_t c),(a,b,c),return)
1220SDL_DYNAPI_PROC(char*,SDL_GetCurrentDirectory,(void),(),return)
1221SDL_DYNAPI_PROC(bool,SDL_IsAudioDevicePhysical,(SDL_AudioDeviceID a),(a),return)
1222SDL_DYNAPI_PROC(bool,SDL_IsAudioDevicePlayback,(SDL_AudioDeviceID a),(a),return)
1223SDL_DYNAPI_PROC(SDL_AsyncIO*,SDL_AsyncIOFromFile,(const char *a, const char *b),(a,b),return)
1224SDL_DYNAPI_PROC(Sint64,SDL_GetAsyncIOSize,(SDL_AsyncIO *a),(a),return)
1225SDL_DYNAPI_PROC(bool,SDL_ReadAsyncIO,(SDL_AsyncIO *a, void *b, Uint64 c, Uint64 d, SDL_AsyncIOQueue *e, void *f),(a,b,c,d,e,f),return)
1226SDL_DYNAPI_PROC(bool,SDL_WriteAsyncIO,(SDL_AsyncIO *a, void *b, Uint64 c, Uint64 d, SDL_AsyncIOQueue *e, void *f),(a,b,c,d,e,f),return)
1227SDL_DYNAPI_PROC(bool,SDL_CloseAsyncIO,(SDL_AsyncIO *a, bool b, SDL_AsyncIOQueue *c, void *d),(a,b,c,d),return)
1228SDL_DYNAPI_PROC(SDL_AsyncIOQueue*,SDL_CreateAsyncIOQueue,(void),(),return)
1229SDL_DYNAPI_PROC(void,SDL_DestroyAsyncIOQueue,(SDL_AsyncIOQueue *a),(a),)
1230SDL_DYNAPI_PROC(bool,SDL_GetAsyncIOResult,(SDL_AsyncIOQueue *a, SDL_AsyncIOOutcome *b),(a,b),return)
1231SDL_DYNAPI_PROC(bool,SDL_WaitAsyncIOResult,(SDL_AsyncIOQueue *a, SDL_AsyncIOOutcome *b, Sint32 c),(a,b,c),return)
1232SDL_DYNAPI_PROC(void,SDL_SignalAsyncIOQueue,(SDL_AsyncIOQueue *a),(a),)
1233SDL_DYNAPI_PROC(bool,SDL_LoadFileAsync,(const char *a, SDL_AsyncIOQueue *b, void *c),(a,b,c),return)
1234SDL_DYNAPI_PROC(void,SDL_ShowFileDialogWithProperties,(SDL_FileDialogType a, SDL_DialogFileCallback b, void *c, SDL_PropertiesID d),(a,b,c,d),)
1235SDL_DYNAPI_PROC(bool,SDL_IsMainThread,(void),(),return)
1236SDL_DYNAPI_PROC(bool,SDL_RunOnMainThread,(SDL_MainThreadCallback a,void *b,bool c),(a,b,c),return)
1237SDL_DYNAPI_PROC(bool,SDL_SetGPUAllowedFramesInFlight,(SDL_GPUDevice *a,Uint32 b),(a,b),return)
1238SDL_DYNAPI_PROC(bool,SDL_RenderTextureAffine,(SDL_Renderer *a,SDL_Texture *b,const SDL_FRect *c,const SDL_FPoint *d,const SDL_FPoint *e,const SDL_FPoint *f),(a,b,c,d,e,f),return)
1239SDL_DYNAPI_PROC(bool,SDL_WaitForGPUSwapchain,(SDL_GPUDevice *a, SDL_Window *b),(a,b),return)
1240SDL_DYNAPI_PROC(bool,SDL_WaitAndAcquireGPUSwapchainTexture,(SDL_GPUCommandBuffer *a,SDL_Window *b,SDL_GPUTexture **c,Uint32 *d,Uint32 *e),(a,b,c,d,e),return)
1241#ifndef SDL_DYNAPI_PROC_NO_VARARGS
1242SDL_DYNAPI_PROC(bool,SDL_RenderDebugTextFormat,(SDL_Renderer *a,float b,float c,SDL_PRINTF_FORMAT_STRING const char *d,...),(a,b,c,d),return)
1243#endif
1244SDL_DYNAPI_PROC(SDL_Tray*,SDL_CreateTray,(SDL_Surface *a,const char *b),(a,b),return)
1245SDL_DYNAPI_PROC(void,SDL_SetTrayIcon,(SDL_Tray *a,SDL_Surface *b),(a,b),)
1246SDL_DYNAPI_PROC(void,SDL_SetTrayTooltip,(SDL_Tray *a,const char *b),(a,b),)
1247SDL_DYNAPI_PROC(SDL_TrayMenu*,SDL_CreateTrayMenu,(SDL_Tray *a),(a),return)
1248SDL_DYNAPI_PROC(SDL_TrayMenu*,SDL_CreateTraySubmenu,(SDL_TrayEntry *a),(a),return)
1249SDL_DYNAPI_PROC(SDL_TrayMenu*,SDL_GetTrayMenu,(SDL_Tray *a),(a),return)
1250SDL_DYNAPI_PROC(SDL_TrayMenu*,SDL_GetTraySubmenu,(SDL_TrayEntry *a),(a),return)
1251SDL_DYNAPI_PROC(const SDL_TrayEntry**,SDL_GetTrayEntries,(SDL_TrayMenu *a,int *b),(a,b),return)
1252SDL_DYNAPI_PROC(void,SDL_RemoveTrayEntry,(SDL_TrayEntry *a),(a),)
1253SDL_DYNAPI_PROC(SDL_TrayEntry*,SDL_InsertTrayEntryAt,(SDL_TrayMenu *a,int b,const char *c,SDL_TrayEntryFlags d),(a,b,c,d),return)
1254SDL_DYNAPI_PROC(void,SDL_SetTrayEntryLabel,(SDL_TrayEntry *a,const char *b),(a,b),)
1255SDL_DYNAPI_PROC(const char*,SDL_GetTrayEntryLabel,(SDL_TrayEntry *a),(a),return)
1256SDL_DYNAPI_PROC(void,SDL_SetTrayEntryChecked,(SDL_TrayEntry *a,bool b),(a,b),)
1257SDL_DYNAPI_PROC(bool,SDL_GetTrayEntryChecked,(SDL_TrayEntry *a),(a),return)
1258SDL_DYNAPI_PROC(void,SDL_SetTrayEntryEnabled,(SDL_TrayEntry *a,bool b),(a,b),)
1259SDL_DYNAPI_PROC(bool,SDL_GetTrayEntryEnabled,(SDL_TrayEntry *a),(a),return)
1260SDL_DYNAPI_PROC(void,SDL_SetTrayEntryCallback,(SDL_TrayEntry *a,SDL_TrayCallback b,void *c),(a,b,c),)
1261SDL_DYNAPI_PROC(void,SDL_DestroyTray,(SDL_Tray *a),(a),)
1262SDL_DYNAPI_PROC(SDL_TrayMenu*,SDL_GetTrayEntryParent,(SDL_TrayEntry *a),(a),return)
1263SDL_DYNAPI_PROC(SDL_TrayEntry*,SDL_GetTrayMenuParentEntry,(SDL_TrayMenu *a),(a),return)
1264SDL_DYNAPI_PROC(SDL_Tray*,SDL_GetTrayMenuParentTray,(SDL_TrayMenu *a),(a),return)
1265SDL_DYNAPI_PROC(SDL_ThreadState,SDL_GetThreadState,(SDL_Thread *a),(a),return)
1266SDL_DYNAPI_PROC(bool,SDL_AudioStreamDevicePaused,(SDL_AudioStream *a),(a),return)
1267SDL_DYNAPI_PROC(void,SDL_ClickTrayEntry,(SDL_TrayEntry *a),(a),)
1268SDL_DYNAPI_PROC(void,SDL_UpdateTrays,(void),(),)
1269SDL_DYNAPI_PROC(bool,SDL_StretchSurface,(SDL_Surface *a,const SDL_Rect *b,SDL_Surface *c,const SDL_Rect *d,SDL_ScaleMode e),(a,b,c,d,e),return)
diff --git a/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_unsupported.h b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_unsupported.h
new file mode 100644
index 0000000..143943a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/dynapi/SDL_dynapi_unsupported.h
@@ -0,0 +1,52 @@
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#ifndef SDL_dynapi_unsupported_h_
23#define SDL_dynapi_unsupported_h_
24
25
26#if !defined(SDL_PLATFORM_WINDOWS)
27typedef struct ID3D12Device ID3D12Device;
28typedef void *SDL_WindowsMessageHook;
29#endif
30
31#if !(defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_WINGDK))
32typedef struct ID3D11Device ID3D11Device;
33typedef struct IDirect3DDevice9 IDirect3DDevice9;
34#endif
35
36#ifndef SDL_PLATFORM_GDK
37typedef struct XTaskQueueHandle XTaskQueueHandle;
38#endif
39
40#ifndef SDL_PLATFORM_GDK
41typedef struct XUserHandle XUserHandle;
42#endif
43
44#ifndef SDL_PLATFORM_ANDROID
45typedef void *SDL_RequestAndroidPermissionCallback;
46#endif
47
48#ifndef SDL_PLATFORM_IOS
49typedef void *SDL_iOSAnimationCallback;
50#endif
51
52#endif
diff --git a/contrib/SDL-3.2.8/src/dynapi/gendynapi.py b/contrib/SDL-3.2.8/src/dynapi/gendynapi.py
new file mode 100755
index 0000000..0915523
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/dynapi/gendynapi.py
@@ -0,0 +1,547 @@
1#!/usr/bin/env python3
2
3# Simple DirectMedia Layer
4# Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
5#
6# This software is provided 'as-is', without any express or implied
7# warranty. In no event will the authors be held liable for any damages
8# arising from the use of this software.
9#
10# Permission is granted to anyone to use this software for any purpose,
11# including commercial applications, and to alter it and redistribute it
12# freely, subject to the following restrictions:
13#
14# 1. The origin of this software must not be misrepresented; you must not
15# claim that you wrote the original software. If you use this software
16# in a product, an acknowledgment in the product documentation would be
17# appreciated but is not required.
18# 2. Altered source versions must be plainly marked as such, and must not be
19# misrepresented as being the original software.
20# 3. This notice may not be removed or altered from any source distribution.
21
22# WHAT IS THIS?
23# When you add a public API to SDL, please run this script, make sure the
24# output looks sane (git diff, it adds to existing files), and commit it.
25# It keeps the dynamic API jump table operating correctly.
26#
27# Platform-specific API:
28# After running the script, you have to manually add #ifdef SDL_PLATFORM_WIN32
29# or similar around the function in 'SDL_dynapi_procs.h'.
30#
31
32import argparse
33import dataclasses
34import json
35import logging
36import os
37from pathlib import Path
38import pprint
39import re
40
41
42SDL_ROOT = Path(__file__).resolve().parents[2]
43
44SDL_INCLUDE_DIR = SDL_ROOT / "include/SDL3"
45SDL_DYNAPI_PROCS_H = SDL_ROOT / "src/dynapi/SDL_dynapi_procs.h"
46SDL_DYNAPI_OVERRIDES_H = SDL_ROOT / "src/dynapi/SDL_dynapi_overrides.h"
47SDL_DYNAPI_SYM = SDL_ROOT / "src/dynapi/SDL_dynapi.sym"
48
49RE_EXTERN_C = re.compile(r'.*extern[ "]*C[ "].*')
50RE_COMMENT_REMOVE_CONTENT = re.compile(r'\/\*.*\*/')
51RE_PARSING_FUNCTION = re.compile(r'(.*SDLCALL[^\(\)]*) ([a-zA-Z0-9_]+) *\((.*)\) *;.*')
52
53#eg:
54# void (SDLCALL *callback)(void*, int)
55# \1(\2)\3
56RE_PARSING_CALLBACK = re.compile(r'([^\(\)]*)\(([^\(\)]+)\)(.*)')
57
58
59logger = logging.getLogger(__name__)
60
61
62@dataclasses.dataclass(frozen=True)
63class SdlProcedure:
64 retval: str
65 name: str
66 parameter: list[str]
67 parameter_name: list[str]
68 header: str
69 comment: str
70
71 @property
72 def variadic(self) -> bool:
73 return "..." in self.parameter
74
75
76def parse_header(header_path: Path) -> list[SdlProcedure]:
77 logger.debug("Parse header: %s", header_path)
78
79 header_procedures = []
80
81 parsing_function = False
82 current_func = ""
83 parsing_comment = False
84 current_comment = ""
85 ignore_wiki_documentation = False
86
87 with header_path.open() as f:
88 for line in f:
89
90 # Skip lines if we're in a wiki documentation block.
91 if ignore_wiki_documentation:
92 if line.startswith("#endif"):
93 ignore_wiki_documentation = False
94 continue
95
96 # Discard wiki documentations blocks.
97 if line.startswith("#ifdef SDL_WIKI_DOCUMENTATION_SECTION"):
98 ignore_wiki_documentation = True
99 continue
100
101 # Discard pre-processor directives ^#.*
102 if line.startswith("#"):
103 continue
104
105 # Discard "extern C" line
106 match = RE_EXTERN_C.match(line)
107 if match:
108 continue
109
110 # Remove one line comment // ...
111 # eg: extern SDL_DECLSPEC SDL_hid_device * SDLCALL SDL_hid_open_path(const char *path, int bExclusive /* = false */)
112 line = RE_COMMENT_REMOVE_CONTENT.sub('', line)
113
114 # Get the comment block /* ... */ across several lines
115 match_start = "/*" in line
116 match_end = "*/" in line
117 if match_start and match_end:
118 continue
119 if match_start:
120 parsing_comment = True
121 current_comment = line
122 continue
123 if match_end:
124 parsing_comment = False
125 current_comment += line
126 continue
127 if parsing_comment:
128 current_comment += line
129 continue
130
131 # Get the function prototype across several lines
132 if parsing_function:
133 # Append to the current function
134 current_func += " "
135 current_func += line.strip()
136 else:
137 # if is contains "extern", start grabbing
138 if "extern" not in line:
139 continue
140 # Start grabbing the new function
141 current_func = line.strip()
142 parsing_function = True
143
144 # If it contains ';', then the function is complete
145 if ";" not in current_func:
146 continue
147
148 # Got function/comment, reset vars
149 parsing_function = False
150 func = current_func
151 comment = current_comment
152 current_func = ""
153 current_comment = ""
154
155 # Discard if it doesn't contain 'SDLCALL'
156 if "SDLCALL" not in func:
157 logger.debug(" Discard, doesn't have SDLCALL: %r", func)
158 continue
159
160 # Discard if it contains 'SDLMAIN_DECLSPEC' (these are not SDL symbols).
161 if "SDLMAIN_DECLSPEC" in func:
162 logger.debug(" Discard, has SDLMAIN_DECLSPEC: %r", func)
163 continue
164
165 logger.debug("Raw data: %r", func)
166
167 # Replace unusual stuff...
168 func = func.replace(" SDL_PRINTF_VARARG_FUNC(1)", "")
169 func = func.replace(" SDL_PRINTF_VARARG_FUNC(2)", "")
170 func = func.replace(" SDL_PRINTF_VARARG_FUNC(3)", "")
171 func = func.replace(" SDL_PRINTF_VARARG_FUNC(4)", "")
172 func = func.replace(" SDL_PRINTF_VARARG_FUNCV(1)", "")
173 func = func.replace(" SDL_PRINTF_VARARG_FUNCV(2)", "")
174 func = func.replace(" SDL_PRINTF_VARARG_FUNCV(3)", "")
175 func = func.replace(" SDL_PRINTF_VARARG_FUNCV(4)", "")
176 func = func.replace(" SDL_WPRINTF_VARARG_FUNC(3)", "")
177 func = func.replace(" SDL_WPRINTF_VARARG_FUNCV(3)", "")
178 func = func.replace(" SDL_SCANF_VARARG_FUNC(2)", "")
179 func = func.replace(" SDL_SCANF_VARARG_FUNCV(2)", "")
180 func = func.replace(" SDL_ANALYZER_NORETURN", "")
181 func = func.replace(" SDL_MALLOC", "")
182 func = func.replace(" SDL_ALLOC_SIZE2(1, 2)", "")
183 func = func.replace(" SDL_ALLOC_SIZE(2)", "")
184 func = re.sub(r" SDL_ACQUIRE\(.*\)", "", func)
185 func = re.sub(r" SDL_ACQUIRE_SHARED\(.*\)", "", func)
186 func = re.sub(r" SDL_TRY_ACQUIRE\(.*\)", "", func)
187 func = re.sub(r" SDL_TRY_ACQUIRE_SHARED\(.*\)", "", func)
188 func = re.sub(r" SDL_RELEASE\(.*\)", "", func)
189 func = re.sub(r" SDL_RELEASE_SHARED\(.*\)", "", func)
190 func = re.sub(r" SDL_RELEASE_GENERIC\(.*\)", "", func)
191 func = re.sub(r"([ (),])(SDL_IN_BYTECAP\([^)]*\))", r"\1", func)
192 func = re.sub(r"([ (),])(SDL_OUT_BYTECAP\([^)]*\))", r"\1", func)
193 func = re.sub(r"([ (),])(SDL_INOUT_Z_CAP\([^)]*\))", r"\1", func)
194 func = re.sub(r"([ (),])(SDL_OUT_Z_CAP\([^)]*\))", r"\1", func)
195
196 # Should be a valid function here
197 match = RE_PARSING_FUNCTION.match(func)
198 if not match:
199 logger.error("Cannot parse: %s", func)
200 raise ValueError(func)
201
202 func_ret = match.group(1)
203 func_name = match.group(2)
204 func_params = match.group(3)
205
206 #
207 # Parse return value
208 #
209 func_ret = func_ret.replace('extern', ' ')
210 func_ret = func_ret.replace('SDLCALL', ' ')
211 func_ret = func_ret.replace('SDL_DECLSPEC', ' ')
212 func_ret, _ = re.subn('([ ]{2,})', ' ', func_ret)
213 # Remove trailing spaces in front of '*'
214 func_ret = func_ret.replace(' *', '*')
215 func_ret = func_ret.strip()
216
217 #
218 # Parse parameters
219 #
220 func_params = func_params.strip()
221 if func_params == "":
222 func_params = "void"
223
224 # Identify each function parameters with type and name
225 # (eventually there are callbacks of several parameters)
226 tmp = func_params.split(',')
227 tmp2 = []
228 param = ""
229 for t in tmp:
230 if param == "":
231 param = t
232 else:
233 param = param + "," + t
234 # Identify a callback or parameter when there is same count of '(' and ')'
235 if param.count('(') == param.count(')'):
236 tmp2.append(param.strip())
237 param = ""
238
239 # Process each parameters, separation name and type
240 func_param_type = []
241 func_param_name = []
242 for t in tmp2:
243 if t == "void":
244 func_param_type.append(t)
245 func_param_name.append("")
246 continue
247
248 if t == "...":
249 func_param_type.append(t)
250 func_param_name.append("")
251 continue
252
253 param_name = ""
254
255 # parameter is a callback
256 if '(' in t:
257 match = RE_PARSING_CALLBACK.match(t)
258 if not match:
259 logger.error("cannot parse callback: %s", t)
260 raise ValueError(t)
261 a = match.group(1).strip()
262 b = match.group(2).strip()
263 c = match.group(3).strip()
264
265 try:
266 (param_type, param_name) = b.rsplit('*', 1)
267 except:
268 param_type = t
269 param_name = "param_name_not_specified"
270
271 # bug rsplit ??
272 if param_name == "":
273 param_name = "param_name_not_specified"
274
275 # reconstruct a callback name for future parsing
276 func_param_type.append(a + " (" + param_type.strip() + " *REWRITE_NAME)" + c)
277 func_param_name.append(param_name.strip())
278
279 continue
280
281 # array like "char *buf[]"
282 has_array = False
283 if t.endswith("[]"):
284 t = t.replace("[]", "")
285 has_array = True
286
287 # pointer
288 if '*' in t:
289 try:
290 (param_type, param_name) = t.rsplit('*', 1)
291 except:
292 param_type = t
293 param_name = "param_name_not_specified"
294
295 # bug rsplit ??
296 if param_name == "":
297 param_name = "param_name_not_specified"
298
299 val = param_type.strip() + "*REWRITE_NAME"
300
301 # Remove trailing spaces in front of '*'
302 tmp = ""
303 while val != tmp:
304 tmp = val
305 val = val.replace(' ', ' ')
306 val = val.replace(' *', '*')
307 # first occurrence
308 val = val.replace('*', ' *', 1)
309 val = val.strip()
310
311 else: # non pointer
312 # cut-off last word on
313 try:
314 (param_type, param_name) = t.rsplit(' ', 1)
315 except:
316 param_type = t
317 param_name = "param_name_not_specified"
318
319 val = param_type.strip() + " REWRITE_NAME"
320
321 # set back array
322 if has_array:
323 val += "[]"
324
325 func_param_type.append(val)
326 func_param_name.append(param_name.strip())
327
328 new_proc = SdlProcedure(
329 retval=func_ret, # Return value type
330 name=func_name, # Function name
331 comment=comment, # Function comment
332 header=header_path.name, # Header file
333 parameter=func_param_type, # List of parameters (type + anonymized param name 'REWRITE_NAME')
334 parameter_name=func_param_name, # Real parameter name, or 'param_name_not_specified'
335 )
336
337 header_procedures.append(new_proc)
338
339 if logger.getEffectiveLevel() <= logging.DEBUG:
340 logger.debug("%s", pprint.pformat(new_proc))
341
342 return header_procedures
343
344
345# Dump API into a json file
346def full_API_json(path: Path, procedures: list[SdlProcedure]):
347 with path.open('w', newline='') as f:
348 json.dump([dataclasses.asdict(proc) for proc in procedures], f, indent=4, sort_keys=True)
349 logger.info("dump API to '%s'", path)
350
351
352class CallOnce:
353 def __init__(self, cb):
354 self._cb = cb
355 self._called = False
356 def __call__(self, *args, **kwargs):
357 if self._called:
358 return
359 self._called = True
360 self._cb(*args, **kwargs)
361
362
363# Check public function comments are correct
364def print_check_comment_header():
365 logger.warning("")
366 logger.warning("Please fix following warning(s):")
367 logger.warning("--------------------------------")
368
369
370def check_documentations(procedures: list[SdlProcedure]) -> None:
371
372 check_comment_header = CallOnce(print_check_comment_header)
373
374 warning_header_printed = False
375
376 # Check \param
377 for proc in procedures:
378 expected = len(proc.parameter)
379 if expected == 1:
380 if proc.parameter[0] == 'void':
381 expected = 0
382 count = proc.comment.count("\\param")
383 if count != expected:
384 # skip SDL_stdinc.h
385 if proc.header != 'SDL_stdinc.h':
386 # Warning mismatch \param and function prototype
387 check_comment_header()
388 logger.warning(" In file %s: function %s() has %d '\\param' but expected %d", proc.header, proc.name, count, expected)
389
390 # Warning check \param uses the correct parameter name
391 # skip SDL_stdinc.h
392 if proc.header != 'SDL_stdinc.h':
393 for n in proc.parameter_name:
394 if n != "" and "\\param " + n not in proc.comment and "\\param[out] " + n not in proc.comment:
395 check_comment_header()
396 logger.warning(" In file %s: function %s() missing '\\param %s'", proc.header, proc.name, n)
397
398 # Check \returns
399 for proc in procedures:
400 expected = 1
401 if proc.retval == 'void':
402 expected = 0
403
404 count = proc.comment.count("\\returns")
405 if count != expected:
406 # skip SDL_stdinc.h
407 if proc.header != 'SDL_stdinc.h':
408 # Warning mismatch \param and function prototype
409 check_comment_header()
410 logger.warning(" In file %s: function %s() has %d '\\returns' but expected %d" % (proc.header, proc.name, count, expected))
411
412 # Check \since
413 for proc in procedures:
414 expected = 1
415 count = proc.comment.count("\\since")
416 if count != expected:
417 # skip SDL_stdinc.h
418 if proc.header != 'SDL_stdinc.h':
419 # Warning mismatch \param and function prototype
420 check_comment_header()
421 logger.warning(" In file %s: function %s() has %d '\\since' but expected %d" % (proc.header, proc.name, count, expected))
422
423
424# Parse 'sdl_dynapi_procs_h' file to find existing functions
425def find_existing_proc_names() -> list[str]:
426 reg = re.compile(r'SDL_DYNAPI_PROC\([^,]*,([^,]*),.*\)')
427 ret = []
428
429 with SDL_DYNAPI_PROCS_H.open() as f:
430 for line in f:
431 match = reg.match(line)
432 if not match:
433 continue
434 existing_func = match.group(1)
435 ret.append(existing_func)
436 return ret
437
438# Get list of SDL headers
439def get_header_list() -> list[Path]:
440 ret = []
441
442 for f in SDL_INCLUDE_DIR.iterdir():
443 # Only *.h files
444 if f.is_file() and f.suffix == ".h":
445 ret.append(f)
446 else:
447 logger.debug("Skip %s", f)
448
449 # Order headers for reproducible behavior
450 ret.sort()
451
452 return ret
453
454# Write the new API in files: _procs.h _overrivides.h and .sym
455def add_dyn_api(proc: SdlProcedure) -> None:
456 decl_args: list[str] = []
457 call_args = []
458 for i, argtype in enumerate(proc.parameter):
459 # Special case, void has no parameter name
460 if argtype == "void":
461 assert len(decl_args) == 0
462 assert len(proc.parameter) == 1
463 decl_args.append("void")
464 continue
465
466 # Var name: a, b, c, ...
467 varname = chr(ord('a') + i)
468
469 decl_args.append(argtype.replace("REWRITE_NAME", varname))
470 if argtype != "...":
471 call_args.append(varname)
472
473 macro_args = (
474 proc.retval,
475 proc.name,
476 "({})".format(",".join(decl_args)),
477 "({})".format(",".join(call_args)),
478 "" if proc.retval == "void" else "return",
479 )
480
481 # File: SDL_dynapi_procs.h
482 #
483 # Add at last
484 # SDL_DYNAPI_PROC(SDL_EGLConfig,SDL_EGL_GetCurrentConfig,(void),(),return)
485 with SDL_DYNAPI_PROCS_H.open("a", newline="") as f:
486 if proc.variadic:
487 f.write("#ifndef SDL_DYNAPI_PROC_NO_VARARGS\n")
488 f.write(f"SDL_DYNAPI_PROC({','.join(macro_args)})\n")
489 if proc.variadic:
490 f.write("#endif\n")
491
492 # File: SDL_dynapi_overrides.h
493 #
494 # Add at last
495 # "#define SDL_DelayNS SDL_DelayNS_REAL
496 f = open(SDL_DYNAPI_OVERRIDES_H, "a", newline="")
497 f.write(f"#define {proc.name} {proc.name}_REAL\n")
498 f.close()
499
500 # File: SDL_dynapi.sym
501 #
502 # Add before "extra symbols go here" line
503 with SDL_DYNAPI_SYM.open() as f:
504 new_input = []
505 for line in f:
506 if "extra symbols go here" in line:
507 new_input.append(f" {proc.name};\n")
508 new_input.append(line)
509
510 with SDL_DYNAPI_SYM.open('w', newline='') as f:
511 for line in new_input:
512 f.write(line)
513
514
515def main():
516 parser = argparse.ArgumentParser()
517 parser.set_defaults(loglevel=logging.INFO)
518 parser.add_argument('--dump', nargs='?', default=None, const="sdl.json", metavar="JSON", help='output all SDL API into a .json file')
519 parser.add_argument('--debug', action='store_const', const=logging.DEBUG, dest="loglevel", help='add debug traces')
520 args = parser.parse_args()
521
522 logging.basicConfig(level=args.loglevel, format='[%(levelname)s] %(message)s')
523
524 # Get list of SDL headers
525 sdl_list_includes = get_header_list()
526 procedures = []
527 for filename in sdl_list_includes:
528 header_procedures = parse_header(filename)
529 procedures.extend(header_procedures)
530
531 # Parse 'sdl_dynapi_procs_h' file to find existing functions
532 existing_proc_names = find_existing_proc_names()
533 for procedure in procedures:
534 if procedure.name not in existing_proc_names:
535 logger.info("NEW %s", procedure.name)
536 add_dyn_api(procedure)
537
538 if args.dump:
539 # Dump API into a json file
540 full_API_json(path=Path(args.dump), procedures=procedures)
541
542 # Check comment formatting
543 check_documentations(procedures)
544
545
546if __name__ == '__main__':
547 raise SystemExit(main())