Initializes SDL. This should be called before all other SDL functions. The flags parameter specifies what part(s) of SDL to initialize. (Flags should be bitwise-ORed together, e.g. "SDL_INIT_AUDIO | SDL_INIT_VIDEO".)SDL_INIT_TIMERInitializes the timer subsystem.SDL_INIT_AUDIOInitializes the audio subsystem.SDL_INIT_VIDEOInitializes the video subsystem.SDL_INIT_CDROMInitializes the cdrom subsystem.SDL_INIT_JOYSTICKInitializes the joystick subsystem.SDL_INIT_EVERYTHINGInitialize all of the above.SDL_INIT_NOPARACHUTEPrevents SDL from catching fatal signals.SDL_INIT_EVENTTHREADRun the event manager in a separate thread.Return ValueReturns -1 on an error or 0 on success. You can get extended error message by calling "SDL_GetError". Typical cause of this error is using a particular display without having according subsystem support, such as missing mouse driver when using with framebuffer device. In this case you can either compile SDL without mouse device, or set "SDL_NOMOUSE=1" environment variable before running your application.