Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

SDL_INIT_INTERFACE - A macro to initialize an SDL interface.

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.

See Also