Scroll to navigation

SDL_INIT_INTERFACE(3) SDL3 FUNCTIONS SDL_INIT_INTERFACE(3)

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)

SDL 3.2.0 Simple Directmedia Layer