logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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