RetroArch
Classes | Macros | Enumerations | Functions | Variables
configuration.c File Reference
#include <ctype.h>
#include <libretro.h>
#include <file/config_file.h>
#include <file/file_path.h>
#include <compat/strl.h>
#include <compat/posix_string.h>
#include <retro_assert.h>
#include <string/stdstring.h>
#include <streams/file_stream.h>
#include "file_path_special.h"
#include "audio/audio_driver.h"
#include "input/input_driver.h"
#include "configuration.h"
#include "content.h"
#include "config.def.h"
#include "config.features.h"
#include "input/input_keymaps.h"
#include "input/input_remapping.h"
#include "led/led_defines.h"
#include "defaults.h"
#include "core.h"
#include "dirs.h"
#include "paths.h"
#include "retroarch.h"
#include "verbosity.h"
#include "lakka.h"
#include "tasks/tasks_internal.h"
#include "../list_special.h"
#include "record/record_driver.h"
Include dependency graph for configuration.c:

Classes

struct  config_bool_setting
 
struct  config_int_setting
 
struct  config_uint_setting
 
struct  config_size_setting
 
struct  config_float_setting
 
struct  config_array_setting
 
struct  config_path_setting
 

Macros

#define GENERAL_SETTING(key, configval, default_enable, default_setting, type, handle_setting)
 
#define SETTING_BOOL(key, configval, default_enable, default_setting, handle_setting)   GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_bool_setting, handle_setting)
 
#define SETTING_FLOAT(key, configval, default_enable, default_setting, handle_setting)   GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_float_setting, handle_setting)
 
#define SETTING_INT(key, configval, default_enable, default_setting, handle_setting)   GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_int_setting, handle_setting)
 
#define SETTING_UINT(key, configval, default_enable, default_setting, handle_setting)   GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_uint_setting, handle_setting)
 
#define SETTING_SIZE(key, configval, default_enable, default_setting, handle_setting)   GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_size_setting, handle_setting)
 
#define SETTING_PATH(key, configval, default_enable, default_setting, handle_setting)   GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_path_setting, handle_setting)
 
#define SETTING_ARRAY(key, configval, default_enable, default_setting, handle_setting)   GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_array_setting, handle_setting)
 
#define SETTING_OVERRIDE(override_setting)   tmp[count-1].override = override_setting
 

Enumerations

enum  video_driver_enum {
  VIDEO_GL = 0, VIDEO_VULKAN, VIDEO_METAL, VIDEO_DRM,
  VIDEO_XVIDEO, VIDEO_SDL, VIDEO_SDL2, VIDEO_EXT,
  VIDEO_WII, VIDEO_WIIU, VIDEO_XENON360, VIDEO_PSP1,
  VIDEO_VITA2D, VIDEO_PS2, VIDEO_CTR, VIDEO_SWITCH,
  VIDEO_D3D8, VIDEO_D3D9, VIDEO_D3D10, VIDEO_D3D11,
  VIDEO_D3D12, VIDEO_VG, VIDEO_OMAP, VIDEO_EXYNOS,
  VIDEO_SUNXI, VIDEO_DISPMANX, VIDEO_CACA, VIDEO_GDI,
  VIDEO_VGA, VIDEO_NULL
}
 
enum  audio_driver_enum {
  AUDIO_RSOUND = VIDEO_NULL + 1, AUDIO_OSS, AUDIO_ALSA, AUDIO_ALSATHREAD,
  AUDIO_TINYALSA, AUDIO_ROAR, AUDIO_AL, AUDIO_SL,
  AUDIO_JACK, AUDIO_SDL, AUDIO_SDL2, AUDIO_XAUDIO,
  AUDIO_PULSE, AUDIO_EXT, AUDIO_DSOUND, AUDIO_WASAPI,
  AUDIO_COREAUDIO, AUDIO_PS3, AUDIO_XENON360, AUDIO_WII,
  AUDIO_WIIU, AUDIO_RWEBAUDIO, AUDIO_PSP, AUDIO_PS2,
  AUDIO_CTR, AUDIO_SWITCH, AUDIO_NULL
}
 
enum  audio_resampler_driver_enum { AUDIO_RESAMPLER_CC = AUDIO_NULL + 1, AUDIO_RESAMPLER_SINC, AUDIO_RESAMPLER_NEAREST, AUDIO_RESAMPLER_NULL }
 
enum  input_driver_enum {
  INPUT_ANDROID = AUDIO_RESAMPLER_NULL + 1, INPUT_SDL, INPUT_SDL2, INPUT_X,
  INPUT_WAYLAND, INPUT_DINPUT, INPUT_PS3, INPUT_PSP,
  INPUT_PS2, INPUT_CTR, INPUT_SWITCH, INPUT_XENON360,
  INPUT_WII, INPUT_WIIU, INPUT_XINPUT, INPUT_UWP,
  INPUT_UDEV, INPUT_LINUXRAW, INPUT_COCOA, INPUT_QNX,
  INPUT_RWEBINPUT, INPUT_DOS, INPUT_NULL
}
 
enum  joypad_driver_enum {
  JOYPAD_PS3 = INPUT_NULL + 1, JOYPAD_XINPUT, JOYPAD_GX, JOYPAD_WIIU,
  JOYPAD_XDK, JOYPAD_PSP, JOYPAD_PS2, JOYPAD_CTR,
  JOYPAD_SWITCH, JOYPAD_DINPUT, JOYPAD_UDEV, JOYPAD_LINUXRAW,
  JOYPAD_ANDROID, JOYPAD_SDL, JOYPAD_DOS, JOYPAD_HID,
  JOYPAD_QNX, JOYPAD_RWEBPAD, JOYPAD_MFI, JOYPAD_NULL
}
 
enum  camera_driver_enum {
  CAMERA_V4L2 = JOYPAD_NULL + 1, CAMERA_RWEBCAM, CAMERA_ANDROID, CAMERA_AVFOUNDATION,
  CAMERA_NULL
}
 
enum  wifi_driver_enum { WIFI_CONNMANCTL = CAMERA_NULL + 1, WIFI_NULL }
 
enum  location_driver_enum { LOCATION_ANDROID = WIFI_NULL + 1, LOCATION_CORELOCATION, LOCATION_NULL }
 
enum  osk_driver_enum { OSK_PS3 = LOCATION_NULL + 1, OSK_NULL }
 
enum  menu_driver_enum {
  MENU_RGUI = OSK_NULL + 1, MENU_XUI, MENU_MATERIALUI, MENU_XMB,
  MENU_STRIPES, MENU_NUKLEAR, MENU_OZONE, MENU_NULL
}
 
enum  record_driver_enum { RECORD_FFMPEG = MENU_NULL + 1, RECORD_NULL }
 
enum  midi_driver_enum { MIDI_WINMM = RECORD_NULL + 1, MIDI_ALSA, MIDI_NULL }
 

Functions

settings_tconfig_get_ptr (void)
 
void config_free (void)
 
bool config_init (void)
 
const char * config_get_default_audio (void)
 
const char * config_get_default_record (void)
 
const char * config_get_default_audio_resampler (void)
 
const char * config_get_default_video (void)
 
const char * config_get_default_input (void)
 
const char * config_get_default_joypad (void)
 
const char * config_get_default_camera (void)
 
const char * config_get_default_wifi (void)
 
const char * config_get_default_led (void)
 
const char * config_get_default_location (void)
 
const char * config_get_default_menu (void)
 
const char * config_get_default_midi (void)
 
const char * config_get_midi_driver_options (void)
 
bool config_overlay_enable_default (void)
 
static struct config_array_settingpopulate_settings_array (settings_t *settings, int *size)
 
static struct config_path_settingpopulate_settings_path (settings_t *settings, int *size)
 
static struct config_bool_settingpopulate_settings_bool (settings_t *settings, int *size)
 
static struct config_float_settingpopulate_settings_float (settings_t *settings, int *size)
 
static struct config_uint_settingpopulate_settings_uint (settings_t *settings, int *size)
 
static struct config_size_settingpopulate_settings_size (settings_t *settings, int *size)
 
static struct config_int_settingpopulate_settings_int (settings_t *settings, int *size)
 
void config_set_defaults (void)
 
static config_file_topen_default_config_file (void)
 
static void read_keybinds_keyboard (config_file_t *conf, unsigned user, unsigned idx, struct retro_keybind *bind)
 
static void read_keybinds_button (config_file_t *conf, unsigned user, unsigned idx, struct retro_keybind *bind)
 
static void read_keybinds_axis (config_file_t *conf, unsigned user, unsigned idx, struct retro_keybind *bind)
 
static void read_keybinds_mbutton (config_file_t *conf, unsigned user, unsigned idx, struct retro_keybind *bind)
 
static void read_keybinds_user (config_file_t *conf, unsigned user)
 
static void config_read_keybinds_conf (config_file_t *conf)
 
static bool check_shader_compatibility (enum file_path_enum enum_idx)
 
static bool config_load_file (const char *path, bool set_defaults, settings_t *settings)
 
bool config_load_override (void)
 
bool config_unload_override (void)
 
bool config_load_remap (void)
 
bool config_load_shader_preset (void)
 
static void parse_config_file (void)
 
static void save_keybind_key (config_file_t *conf, const char *prefix, const char *base, const struct retro_keybind *bind)
 
static void save_keybind_hat (config_file_t *conf, const char *key, const struct retro_keybind *bind)
 
static void save_keybind_joykey (config_file_t *conf, const char *prefix, const char *base, const struct retro_keybind *bind, bool save_empty)
 
static void save_keybind_axis (config_file_t *conf, const char *prefix, const char *base, const struct retro_keybind *bind, bool save_empty)
 
static void save_keybind_mbutton (config_file_t *conf, const char *prefix, const char *base, const struct retro_keybind *bind, bool save_empty)
 
static void save_keybind (config_file_t *conf, const char *prefix, const char *base, const struct retro_keybind *bind, bool save_kb, bool save_empty)
 
static void save_keybinds_user (config_file_t *conf, unsigned user)
 
void config_load (void)
 
bool config_save_autoconf_profile (const char *path, unsigned user)
 
bool config_save_file (const char *path)
 
bool config_save_overrides (int override_type)
 
bool config_replace (bool config_save_on_exit, char *path)
 

Variables

static const char * invalid_filename_chars []
 
static enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_NULL
 
static enum audio_driver_enum AUDIO_DEFAULT_DRIVER = AUDIO_NULL
 
static enum audio_resampler_driver_enum AUDIO_DEFAULT_RESAMPLER_DRIVER = AUDIO_RESAMPLER_SINC
 
static enum record_driver_enum RECORD_DEFAULT_DRIVER = RECORD_NULL
 
static enum midi_driver_enum MIDI_DEFAULT_DRIVER = MIDI_NULL
 
static enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_NULL
 
static enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_NULL
 
static enum camera_driver_enum CAMERA_DEFAULT_DRIVER = CAMERA_NULL
 
static enum wifi_driver_enum WIFI_DEFAULT_DRIVER = WIFI_NULL
 
static enum location_driver_enum LOCATION_DEFAULT_DRIVER = LOCATION_NULL
 
static enum menu_driver_enum MENU_DEFAULT_DRIVER = MENU_NULL
 
struct defaults g_defaults
 
static settings_tconfiguration_settings = NULL
 

Macro Definition Documentation

◆ GENERAL_SETTING

#define GENERAL_SETTING (   key,
  configval,
  default_enable,
  default_setting,
  type,
  handle_setting 
)
Value:
{ \
tmp[count].ident = key; \
tmp[count].ptr = configval; \
tmp[count].def_enable = default_enable; \
if (default_enable) \
tmp[count].def = default_setting; \
tmp[count].handle = handle_setting; \
count++; \
}
GLuint GLuint GLsizei count
Definition: glext.h:6292

◆ SETTING_ARRAY

#define SETTING_ARRAY (   key,
  configval,
  default_enable,
  default_setting,
  handle_setting 
)    GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_array_setting, handle_setting)

◆ SETTING_BOOL

#define SETTING_BOOL (   key,
  configval,
  default_enable,
  default_setting,
  handle_setting 
)    GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_bool_setting, handle_setting)

◆ SETTING_FLOAT

#define SETTING_FLOAT (   key,
  configval,
  default_enable,
  default_setting,
  handle_setting 
)    GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_float_setting, handle_setting)

◆ SETTING_INT

#define SETTING_INT (   key,
  configval,
  default_enable,
  default_setting,
  handle_setting 
)    GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_int_setting, handle_setting)

◆ SETTING_OVERRIDE

#define SETTING_OVERRIDE (   override_setting)    tmp[count-1].override = override_setting

◆ SETTING_PATH

#define SETTING_PATH (   key,
  configval,
  default_enable,
  default_setting,
  handle_setting 
)    GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_path_setting, handle_setting)

◆ SETTING_SIZE

#define SETTING_SIZE (   key,
  configval,
  default_enable,
  default_setting,
  handle_setting 
)    GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_size_setting, handle_setting)

◆ SETTING_UINT

#define SETTING_UINT (   key,
  configval,
  default_enable,
  default_setting,
  handle_setting 
)    GENERAL_SETTING(key, configval, default_enable, default_setting, struct config_uint_setting, handle_setting)

Enumeration Type Documentation

◆ audio_driver_enum

Enumerator
AUDIO_RSOUND 
AUDIO_OSS 
AUDIO_ALSA 
AUDIO_ALSATHREAD 
AUDIO_TINYALSA 
AUDIO_ROAR 
AUDIO_AL 
AUDIO_SL 
AUDIO_JACK 
AUDIO_SDL 
AUDIO_SDL2 
AUDIO_XAUDIO 
AUDIO_PULSE 
AUDIO_EXT 
AUDIO_DSOUND 
AUDIO_WASAPI 
AUDIO_COREAUDIO 
AUDIO_PS3 
AUDIO_XENON360 
AUDIO_WII 
AUDIO_WIIU 
AUDIO_RWEBAUDIO 
AUDIO_PSP 
AUDIO_PS2 
AUDIO_CTR 
AUDIO_SWITCH 
AUDIO_NULL 

◆ audio_resampler_driver_enum

Enumerator
AUDIO_RESAMPLER_CC 
AUDIO_RESAMPLER_SINC 
AUDIO_RESAMPLER_NEAREST 
AUDIO_RESAMPLER_NULL 

◆ camera_driver_enum

Enumerator
CAMERA_V4L2 
CAMERA_RWEBCAM 
CAMERA_ANDROID 
CAMERA_AVFOUNDATION 
CAMERA_NULL 

◆ input_driver_enum

Enumerator
INPUT_ANDROID 
INPUT_SDL 
INPUT_SDL2 
INPUT_X 
INPUT_WAYLAND 
INPUT_DINPUT 
INPUT_PS3 
INPUT_PSP 
INPUT_PS2 
INPUT_CTR 
INPUT_SWITCH 
INPUT_XENON360 
INPUT_WII 
INPUT_WIIU 
INPUT_XINPUT 
INPUT_UWP 
INPUT_UDEV 
INPUT_LINUXRAW 
INPUT_COCOA 
INPUT_QNX 
INPUT_RWEBINPUT 
INPUT_DOS 
INPUT_NULL 

◆ joypad_driver_enum

Enumerator
JOYPAD_PS3 
JOYPAD_XINPUT 
JOYPAD_GX 
JOYPAD_WIIU 
JOYPAD_XDK 
JOYPAD_PSP 
JOYPAD_PS2 
JOYPAD_CTR 
JOYPAD_SWITCH 
JOYPAD_DINPUT 
JOYPAD_UDEV 
JOYPAD_LINUXRAW 
JOYPAD_ANDROID 
JOYPAD_SDL 
JOYPAD_DOS 
JOYPAD_HID 
JOYPAD_QNX 
JOYPAD_RWEBPAD 
JOYPAD_MFI 
JOYPAD_NULL 

◆ location_driver_enum

Enumerator
LOCATION_ANDROID 
LOCATION_CORELOCATION 
LOCATION_NULL 

◆ menu_driver_enum

Enumerator
MENU_RGUI 
MENU_XUI 
MENU_MATERIALUI 
MENU_XMB 
MENU_STRIPES 
MENU_NUKLEAR 
MENU_OZONE 
MENU_NULL 

◆ midi_driver_enum

Enumerator
MIDI_WINMM 
MIDI_ALSA 
MIDI_NULL 

◆ osk_driver_enum

Enumerator
OSK_PS3 
OSK_NULL 

◆ record_driver_enum

Enumerator
RECORD_FFMPEG 
RECORD_NULL 

◆ video_driver_enum

Enumerator
VIDEO_GL 
VIDEO_VULKAN 
VIDEO_METAL 
VIDEO_DRM 
VIDEO_XVIDEO 
VIDEO_SDL 
VIDEO_SDL2 
VIDEO_EXT 
VIDEO_WII 
VIDEO_WIIU 
VIDEO_XENON360 
VIDEO_PSP1 
VIDEO_VITA2D 
VIDEO_PS2 
VIDEO_CTR 
VIDEO_SWITCH 
VIDEO_D3D8 
VIDEO_D3D9 
VIDEO_D3D10 
VIDEO_D3D11 
VIDEO_D3D12 
VIDEO_VG 
VIDEO_OMAP 
VIDEO_EXYNOS 
VIDEO_SUNXI 
VIDEO_DISPMANX 
VIDEO_CACA 
VIDEO_GDI 
VIDEO_VGA 
VIDEO_NULL 

◆ wifi_driver_enum

Enumerator
WIFI_CONNMANCTL 
WIFI_NULL 

Function Documentation

◆ check_shader_compatibility()

static bool check_shader_compatibility ( enum file_path_enum  enum_idx)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_free()

void config_free ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_get_default_audio()

const char* config_get_default_audio ( void  )

config_get_default_audio:

Gets default audio driver.

Returns: Default audio driver.

Here is the caller graph for this function:

◆ config_get_default_audio_resampler()

const char* config_get_default_audio_resampler ( void  )

config_get_default_audio_resampler:

Gets default audio resampler driver.

Returns: Default audio resampler driver.

Here is the caller graph for this function:

◆ config_get_default_camera()

const char* config_get_default_camera ( void  )

config_get_default_camera:

Gets default camera driver.

Returns: Default camera driver.

Here is the caller graph for this function:

◆ config_get_default_input()

const char* config_get_default_input ( void  )

config_get_default_input:

Gets default input driver.

Returns: Default input driver.

Here is the caller graph for this function:

◆ config_get_default_joypad()

const char* config_get_default_joypad ( void  )

config_get_default_joypad:

Gets default input joypad driver.

Returns: Default input joypad driver.

Here is the caller graph for this function:

◆ config_get_default_led()

const char* config_get_default_led ( void  )

config_get_default_led:

Gets default led driver.

Returns: Default led driver.

Here is the caller graph for this function:

◆ config_get_default_location()

const char* config_get_default_location ( void  )

config_get_default_location:

Gets default location driver.

Returns: Default location driver.

Here is the caller graph for this function:

◆ config_get_default_menu()

const char* config_get_default_menu ( void  )

config_get_default_menu:

Gets default menu driver.

Returns: Default menu driver.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_get_default_midi()

const char* config_get_default_midi ( void  )
Here is the caller graph for this function:

◆ config_get_default_record()

const char* config_get_default_record ( void  )
Here is the caller graph for this function:

◆ config_get_default_video()

const char* config_get_default_video ( void  )

config_get_default_video:

Gets default video driver.

Returns: Default video driver.

Here is the caller graph for this function:

◆ config_get_default_wifi()

const char* config_get_default_wifi ( void  )

config_get_default_wifi:

Gets default wifi driver.

Returns: Default wifi driver.

Here is the caller graph for this function:

◆ config_get_midi_driver_options()

const char* config_get_midi_driver_options ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_get_ptr()

settings_t* config_get_ptr ( void  )

◆ config_init()

bool config_init ( void  )
Here is the caller graph for this function:

◆ config_load()

void config_load ( void  )

config_load:

Loads a config file and reads all the values into memory.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_load_file()

static bool config_load_file ( const char *  path,
bool  set_defaults,
settings_t settings 
)
static

config_load: : path to be read from. : set default values first before reading the values from the config file

Loads a config file and reads all the values into memory.

Here is the caller graph for this function:

◆ config_load_override()

bool config_load_override ( void  )

config_load_override:

Tries to append game-specific and core-specific configuration. These settings will always have precedence, thus this feature can be used to enforce overrides.

This function only has an effect if a game-specific or core-specific configuration file exists at respective locations.

core-specific: $CONFIG_DIR/$CORE_NAME/$CORE_NAME.cfg fallback: $CURRENT_CFG_LOCATION/$CORE_NAME/$CORE_NAME.cfg

game-specific: $CONFIG_DIR/$CORE_NAME/$ROM_NAME.cfg fallback: $CURRENT_CFG_LOCATION/$CORE_NAME/$GAME_NAME.cfg

Returns: false if there was an error or no action was performed.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_load_remap()

bool config_load_remap ( void  )

config_load_remap:

Tries to append game-specific and core-specific remap files.

This function only has an effect if a game-specific or core-specific configuration file exists at respective locations.

core-specific: $REMAP_DIR/$CORE_NAME/$CORE_NAME.cfg game-specific: $REMAP_DIR/$CORE_NAME/$GAME_NAME.cfg

Returns: false if there was an error or no action was performed.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_load_shader_preset()

bool config_load_shader_preset ( void  )

config_load_shader_preset:

Tries to append game-specific and core-specific shader presets.

This function only has an effect if a game-specific or core-specific configuration file exists at respective locations.

core-specific: $SHADER_DIR/presets/$CORE_NAME/$CORE_NAME.cfg game-specific: $SHADER_DIR/presets/$CORE_NAME/$GAME_NAME.cfg

Returns: false if there was an error or no action was performed.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_overlay_enable_default()

bool config_overlay_enable_default ( void  )
Here is the caller graph for this function:

◆ config_read_keybinds_conf()

static void config_read_keybinds_conf ( config_file_t conf)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_replace()

bool config_replace ( bool  config_save_on_exit,
char *  path 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_save_autoconf_profile()

bool config_save_autoconf_profile ( const char *  path,
unsigned  user 
)

config_save_autoconf_profile: : Path that shall be written to. : Controller number to save Writes a controller autoconf file to disk.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_save_file()

bool config_save_file ( const char *  path)

config_save_file: : Path that shall be written to.

Writes a config file to disk.

Returns: true (1) on success, otherwise returns false (0).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_save_overrides()

bool config_save_overrides ( int  override_type)

config_save_overrides: : Path that shall be written to.

Writes a config file override to disk.

Returns: true (1) on success, otherwise returns false (0).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_set_defaults()

void config_set_defaults ( void  )

config_set_defaults:

Set 'default' configuration values.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_unload_override()

bool config_unload_override ( void  )

config_unload_override:

Unloads configuration overrides if overrides are active.

Returns: false if there was an error.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ open_default_config_file()

static config_file_t* open_default_config_file ( void  )
static

open_default_config_file

Open a default config file. Platform-specific.

Returns: handle to config file if found, otherwise NULL.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse_config_file()

static void parse_config_file ( void  )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ populate_settings_array()

static struct config_array_setting* populate_settings_array ( settings_t settings,
int *  size 
)
static
Here is the caller graph for this function:

◆ populate_settings_bool()

static struct config_bool_setting* populate_settings_bool ( settings_t settings,
int *  size 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ populate_settings_float()

static struct config_float_setting* populate_settings_float ( settings_t settings,
int *  size 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ populate_settings_int()

static struct config_int_setting* populate_settings_int ( settings_t settings,
int *  size 
)
static
Here is the caller graph for this function:

◆ populate_settings_path()

static struct config_path_setting* populate_settings_path ( settings_t settings,
int *  size 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ populate_settings_size()

static struct config_size_setting* populate_settings_size ( settings_t settings,
int *  size 
)
static
Here is the caller graph for this function:

◆ populate_settings_uint()

static struct config_uint_setting* populate_settings_uint ( settings_t settings,
int *  size 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_keybinds_axis()

static void read_keybinds_axis ( config_file_t conf,
unsigned  user,
unsigned  idx,
struct retro_keybind bind 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_keybinds_button()

static void read_keybinds_button ( config_file_t conf,
unsigned  user,
unsigned  idx,
struct retro_keybind bind 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_keybinds_keyboard()

static void read_keybinds_keyboard ( config_file_t conf,
unsigned  user,
unsigned  idx,
struct retro_keybind bind 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_keybinds_mbutton()

static void read_keybinds_mbutton ( config_file_t conf,
unsigned  user,
unsigned  idx,
struct retro_keybind bind 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_keybinds_user()

static void read_keybinds_user ( config_file_t conf,
unsigned  user 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_keybind()

static void save_keybind ( config_file_t conf,
const char *  prefix,
const char *  base,
const struct retro_keybind bind,
bool  save_kb,
bool  save_empty 
)
static

save_keybind: : pointer to config file object : prefix name of keybind : base name of keybind : pointer to key binding object : save keyboard binds

Save a key binding to the config file.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_keybind_axis()

static void save_keybind_axis ( config_file_t conf,
const char *  prefix,
const char *  base,
const struct retro_keybind bind,
bool  save_empty 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_keybind_hat()

static void save_keybind_hat ( config_file_t conf,
const char *  key,
const struct retro_keybind bind 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_keybind_joykey()

static void save_keybind_joykey ( config_file_t conf,
const char *  prefix,
const char *  base,
const struct retro_keybind bind,
bool  save_empty 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_keybind_key()

static void save_keybind_key ( config_file_t conf,
const char *  prefix,
const char *  base,
const struct retro_keybind bind 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_keybind_mbutton()

static void save_keybind_mbutton ( config_file_t conf,
const char *  prefix,
const char *  base,
const struct retro_keybind bind,
bool  save_empty 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_keybinds_user()

static void save_keybinds_user ( config_file_t conf,
unsigned  user 
)
static

save_keybinds_user: : pointer to config file object : user number

Save the current keybinds of a user () to the config file ().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ AUDIO_DEFAULT_DRIVER

enum audio_driver_enum AUDIO_DEFAULT_DRIVER = AUDIO_NULL
static

◆ AUDIO_DEFAULT_RESAMPLER_DRIVER

enum audio_resampler_driver_enum AUDIO_DEFAULT_RESAMPLER_DRIVER = AUDIO_RESAMPLER_SINC
static

◆ CAMERA_DEFAULT_DRIVER

enum camera_driver_enum CAMERA_DEFAULT_DRIVER = CAMERA_NULL
static

◆ configuration_settings

settings_t* configuration_settings = NULL
static

◆ g_defaults

struct defaults g_defaults

◆ INPUT_DEFAULT_DRIVER

enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_NULL
static

◆ invalid_filename_chars

const char* invalid_filename_chars[]
static
Initial value:
= {
"~", "#", "%", "&", "*", "{", "}", "\\", ":", "[", "]", "?", "/", "|", "\'", "\"",
}
#define NULL
Pointer to 0.
Definition: gctypes.h:65

◆ JOYPAD_DEFAULT_DRIVER

enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_NULL
static

◆ LOCATION_DEFAULT_DRIVER

enum location_driver_enum LOCATION_DEFAULT_DRIVER = LOCATION_NULL
static

◆ MENU_DEFAULT_DRIVER

enum menu_driver_enum MENU_DEFAULT_DRIVER = MENU_NULL
static

◆ MIDI_DEFAULT_DRIVER

enum midi_driver_enum MIDI_DEFAULT_DRIVER = MIDI_NULL
static

◆ RECORD_DEFAULT_DRIVER

enum record_driver_enum RECORD_DEFAULT_DRIVER = RECORD_NULL
static

◆ VIDEO_DEFAULT_DRIVER

enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_NULL
static

◆ WIFI_DEFAULT_DRIVER

enum wifi_driver_enum WIFI_DEFAULT_DRIVER = WIFI_NULL
static