Provided by: libsdl3-doc_3.2.8+ds-1_all bug

NAME

       SDL_INIT_INTERFACE - A macro to initialize an SDL interface.

HEADER FILE

       Defined in SDL3/SDL_stdinc.h

SYNOPSIS

       #include "SDL3/SDL.h"

       #define SDL_INIT_INTERFACE(iface)               .BI do{.BI        SDL_zerop(iface);                       .BI (iface)->version=sizeof(*(iface));.BI    } while (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);

THREAD SAFETY

       It is safe to call this macro from any thread.

AVAILABILITY

       This macro is available since SDL 3.2.0.

SEE ALSO

       (3),         SDL_IOStreamInterface(3type),        (3),        SDL_StorageInterface(3type),        (3),
       SDL_VirtualJoystickDesc(3type)

Simple Directmedia Layer                            SDL 3.2.8                              SDL_INIT_INTERFACE(3)