Provided by: libsdl3-doc_3.2.26+ds-2_all bug

NAME

       SDL_StorageInterface - Function interface for SDL_Storage.

SYNOPSIS

       #include <SDL3/SDL_storage.h>

       typedef struct SDL_StorageInterface
       {
           /* The version of this interface */
           Uint32 version;

           /* Called when the storage is closed */
           bool (SDLCALL *close)(void *userdata);

           /* Optional, returns whether the storage is currently ready for access */
           bool (SDLCALL *ready)(void *userdata);

           /* Enumerate a directory, optional for write-only storage */
           bool (SDLCALL *enumerate)(void *userdata, const char *path, SDL_EnumerateDirectoryCallback callback, void *callback_userdata);

           /* Get path information, optional for write-only storage */
           bool (SDLCALL *info)(void *userdata, const char *path, SDL_PathInfo *info);

           /* Read a file from storage, optional for write-only storage */
           bool (SDLCALL *read_file)(void *userdata, const char *path, void *destination, Uint64 length);

           /* Write a file to storage, optional for read-only storage */
           bool (SDLCALL *write_file)(void *userdata, const char *path, const void *source, Uint64 length);

           /* Create a directory, optional for read-only storage */
           bool (SDLCALL *mkdir)(void *userdata, const char *path);

           /* Remove a file or empty directory, optional for read-only storage */
           bool (SDLCALL *remove)(void *userdata, const char *path);

           /* Rename a path, optional for read-only storage */
           bool (SDLCALL *rename)(void *userdata, const char *oldpath, const char *newpath);

           /* Copy a file, optional for read-only storage */
           bool (SDLCALL *copy)(void *userdata, const char *oldpath, const char *newpath);

           /* Get the space remaining, optional for read-only storage */
           Uint64 (SDLCALL *space_remaining)(void *userdata);
       } SDL_StorageInterface;

DESCRIPTION

       Apps  that  want  to supply a custom implementation of SDL_Storage will fill in all the functions in this
       struct, and then pass it to SDL_OpenStorage to create a custom SDL_Storage object.

       It is not usually necessary to do this; SDL provides standard implementations for many things  you  might
       expect to do with an SDL_Storage.

       This structure should be initialized using SDL_INIT_INTERFACE()

AVAILABILITY

       This struct is available since SDL 3.2.0.

SEE ALSO

       SDL_INIT_INTERFACE(3)

Simple Directmedia Layer                           SDL 3.2.26                        SDL_StorageInterface(3type)