SDL_INIT_INTERFACE - A macro to initialize an SDL interface.
Contents
Availability
This macro is available since SDL 3.2.0.
Description
This macro will initialize an SDL interface structure and should be called before you fill out the fields
with your implementation.
You can use it like this:
SDL_IOStreamInterface iface;
SDL_INIT_INTERFACE(&iface);
// Fill in the interface function pointers with your implementation
iface.seek = ...
stream = SDL_OpenIO(&iface, NULL);
If you are using designated initializers, you can use the size of the interface as the version, e.g.
SDL_IOStreamInterface iface = {
.version = sizeof(iface),
.seek = ...
};
stream = SDL_OpenIO(&iface, NULL);
Header File
Defined in SDL3/SDL_stdinc.h
Name
SDL_INIT_INTERFACE - A macro to initialize an SDL interface.
See Also
•(3), SDL_IOStreamInterface(3type), •(3), SDL_StorageInterface(3type), •(3), SDL_VirtualJoystickDesc(3type) Simple Directmedia Layer SDL 3.2.10 SDL_INIT_INTERFACE(3)
Synopsis
#include"SDL3/SDL.h"#defineSDL_INIT_INTERFACE(iface).BIdo{.BISDL_zerop(iface);.BI(iface)->version=sizeof(*(iface));.BI}while(0)Thread Safety
It is safe to call this macro from any thread.
