asyncio: Added async i/o APIs.

This commit is contained in:
Ryan C. Gordon 2024-08-27 21:57:27 -04:00
parent 7293c18314
commit e79ce2a200
22 changed files with 1883 additions and 2 deletions

View file

@ -1189,6 +1189,17 @@ SDL3_0.0.0 {
SDL_GetCurrentDirectory;
SDL_IsAudioDevicePhysical;
SDL_IsAudioDevicePlayback;
SDL_AsyncIOFromFile;
SDL_GetAsyncIOSize;
SDL_ReadAsyncIO;
SDL_WriteAsyncIO;
SDL_CloseAsyncIO;
SDL_CreateAsyncIOQueue;
SDL_DestroyAsyncIOQueue;
SDL_GetAsyncIOResult;
SDL_WaitAsyncIOResult;
SDL_SignalAsyncIOQueue;
SDL_LoadFileAsync;
# extra symbols go here (don't modify this line)
local: *;
};

View file

@ -1214,3 +1214,14 @@
#define SDL_GetCurrentDirectory SDL_GetCurrentDirectory_REAL
#define SDL_IsAudioDevicePhysical SDL_IsAudioDevicePhysical_REAL
#define SDL_IsAudioDevicePlayback SDL_IsAudioDevicePlayback_REAL
#define SDL_AsyncIOFromFile SDL_AsyncIOFromFile_REAL
#define SDL_GetAsyncIOSize SDL_GetAsyncIOSize_REAL
#define SDL_ReadAsyncIO SDL_ReadAsyncIO_REAL
#define SDL_WriteAsyncIO SDL_WriteAsyncIO_REAL
#define SDL_CloseAsyncIO SDL_CloseAsyncIO_REAL
#define SDL_CreateAsyncIOQueue SDL_CreateAsyncIOQueue_REAL
#define SDL_DestroyAsyncIOQueue SDL_DestroyAsyncIOQueue_REAL
#define SDL_GetAsyncIOResult SDL_GetAsyncIOResult_REAL
#define SDL_WaitAsyncIOResult SDL_WaitAsyncIOResult_REAL
#define SDL_SignalAsyncIOQueue SDL_SignalAsyncIOQueue_REAL
#define SDL_LoadFileAsync SDL_LoadFileAsync_REAL

View file

@ -1220,3 +1220,14 @@ SDL_DYNAPI_PROC(bool,SDL_SaveFile,(const char *a,const void *b,size_t c),(a,b,c)
SDL_DYNAPI_PROC(char*,SDL_GetCurrentDirectory,(void),(),return)
SDL_DYNAPI_PROC(bool,SDL_IsAudioDevicePhysical,(SDL_AudioDeviceID a),(a),return)
SDL_DYNAPI_PROC(bool,SDL_IsAudioDevicePlayback,(SDL_AudioDeviceID a),(a),return)
SDL_DYNAPI_PROC(SDL_AsyncIO*,SDL_AsyncIOFromFile,(const char *a, const char *b),(a,b),return)
SDL_DYNAPI_PROC(Sint64,SDL_GetAsyncIOSize,(SDL_AsyncIO *a),(a),return)
SDL_DYNAPI_PROC(SDL_AsyncIOTask*,SDL_ReadAsyncIO,(SDL_AsyncIO *a, void *b, Uint64 c, Uint64 d, SDL_AsyncIOQueue *e, void *f),(a,b,c,d,e,f),return)
SDL_DYNAPI_PROC(SDL_AsyncIOTask*,SDL_WriteAsyncIO,(SDL_AsyncIO *a, void *b, Uint64 c, Uint64 d, SDL_AsyncIOQueue *e, void *f),(a,b,c,d,e,f),return)
SDL_DYNAPI_PROC(SDL_AsyncIOTask*,SDL_CloseAsyncIO,(SDL_AsyncIO *a, SDL_AsyncIOQueue *b, void *c),(a,b,c),return)
SDL_DYNAPI_PROC(SDL_AsyncIOQueue*,SDL_CreateAsyncIOQueue,(void),(),return)
SDL_DYNAPI_PROC(void,SDL_DestroyAsyncIOQueue,(SDL_AsyncIOQueue *a),(a),)
SDL_DYNAPI_PROC(bool,SDL_GetAsyncIOResult,(SDL_AsyncIOQueue *a, SDL_AsyncIOOutcome *b),(a,b),return)
SDL_DYNAPI_PROC(bool,SDL_WaitAsyncIOResult,(SDL_AsyncIOQueue *a, SDL_AsyncIOOutcome *b, Sint32 c),(a,b,c),return)
SDL_DYNAPI_PROC(void,SDL_SignalAsyncIOQueue,(SDL_AsyncIOQueue *a),(a),)
SDL_DYNAPI_PROC(SDL_AsyncIOTask*,SDL_LoadFileAsync,(const char *a, SDL_AsyncIOQueue *b, void *c),(a,b,c),return)