int SDL_GameControllerAddMappingsFromFile(const char* filename)
the name of the database you want to load
Returns the number of mappings added or -1 on error; call SDL_GetError() for more information.
You can call this function several times if needed to load different database files.
If a new mapping is loaded for an already known controller GUID, the later version will overwrite the one currently loaded.
Mappings not belonging to the current platform or with no platform field specified will be ignored (i.e. mappings for Linux will be ignored in Windows, etc).
This function will load the text database entirely in memory before processing it, so take this into consideration if you are in a memory constrained environment.
This function is available since SDL 2.0.2.