SDL_Init(3)

NAME
SDL_Init - Initialize the SDL library.

HEADER FILE
Defined in SDL3/SDL_init.h

SYNOPSIS
#include "SDL3/SDL.h"

int SDL_Init(Uint32 flags);

DESCRIPTION
SDL_Init () simply forwards to calling SDL_InitSubSystem (). Therefore, the two may be used interchangeably. Though for readability of your code SDL_InitSubSystem () might be preferred. The file I/O (for example: SDL_IOFromFile ) and threading ( SDL_CreateThread ) subsystems are initialized by default. Message boxes ( SDL_ShowSimpleMessageBox ) also attempt to work without initializing the video subsystem, in hopes of being useful in showing an error dialog when SDL_Init
 fails. You must specifically initialize other subsystems if you use them in your application. Logging (such as SDL_Log ) works without initialization, too. flags may be any of the following OR'd together: • SDL_INIT_TIMER : timer subsystem • SDL_INIT_AUDIO : audio subsystem • SDL_INIT_VIDEO : video subsystem; automatically
  initializes the events subsystem • SDL_INIT_JOYSTICK : joystick subsystem;
  automatically initializes the events subsystem • SDL_INIT_HAPTIC : haptic (force feedback) subsystem • SDL_INIT_GAMEPAD : gamepad subsystem; automatically
  initializes the joystick subsystem • SDL_INIT_EVENTS : events subsystem • SDL_INIT_SENSOR : sensor subsystem Subsystem initialization is ref-counted, you must call SDL_QuitSubSystem () for each SDL_InitSubSystem () to correctly shutdown a subsystem manually (or call SDL_Quit () to force shutdown). If a subsystem is already loaded then this call will increase the ref-count and return.

FUNCTION PARAMETERS

flags
    subsystem initialization flags

RETURN VALUE
Returns 0 on success or a negative error code on failure; call SDL_GetError () for more information.

AVAILABILITY
This function is available since SDL 3.0.0.

SEE ALSO
SDL_InitSubSystem(3), SDL_Quit(3), SDL_SetMainReady(3), SDL_WasInit(3)