RetroArch
Macros | Functions | Variables
dynamic.c File Reference
#include <stdarg.h>
#include <string.h>
#include <ctype.h>
#include <boolean.h>
#include <file/file_path.h>
#include <compat/strl.h>
#include <compat/posix_string.h>
#include <dynamic/dylib.h>
#include <string/stdstring.h>
#include <retro_assert.h>
#include <libretro.h>
#include <vfs/vfs_implementation.h>
#include <features/features_cpu.h>
#include "dynamic.h"
#include "command.h"
#include "audio/audio_driver.h"
#include "camera/camera_driver.h"
#include "location/location_driver.h"
#include "record/record_driver.h"
#include "driver.h"
#include "performance_counters.h"
#include "gfx/video_driver.h"
#include "led/led_driver.h"
#include "midi/midi_driver.h"
#include "cores/internal_cores.h"
#include "content.h"
#include "dirs.h"
#include "paths.h"
#include "retroarch.h"
#include "configuration.h"
#include "verbosity.h"
#include "tasks/tasks_internal.h"
Include dependency graph for dynamic.c:

Macros

#define VFS_FRONTEND
 
#define SYMBOL(x)   current_core->x = x
 
#define SYMBOL_DUMMY(x)   current_core->x = libretro_dummy_##x
 

Functions

const struct retro_subsystem_infolibretro_find_subsystem_info (const struct retro_subsystem_info *info, unsigned num_info, const char *ident)
 
const struct retro_controller_descriptionlibretro_find_controller_description (const struct retro_controller_info *info, unsigned id)
 
void libretro_free_system_info (struct retro_system_info *info)
 
static bool environ_cb_get_system_info (unsigned cmd, void *data)
 
bool libretro_get_system_info (const char *path, struct retro_system_info *info, bool *load_no_content)
 
bool init_libretro_sym_custom (enum rarch_core_type type, struct retro_core_t *current_core, const char *lib_path, dylib_t *lib_handle_p)
 
static bool load_symbols (enum rarch_core_type type, struct retro_core_t *current_core)
 
bool init_libretro_sym (enum rarch_core_type type, struct retro_core_t *current_core)
 
bool libretro_get_shared_context (void)
 
void uninit_libretro_sym (struct retro_core_t *current_core)
 
static void rarch_log_libretro (enum retro_log_level level, const char *fmt,...)
 
static size_t mmap_add_bits_down (size_t n)
 
static size_t mmap_inflate (size_t addr, size_t mask)
 
static size_t mmap_reduce (size_t addr, size_t mask)
 
static size_t mmap_highest_bit (size_t n)
 
static bool mmap_preprocess_descriptors (rarch_memory_descriptor_t *first, unsigned count)
 
static bool dynamic_request_hw_context (enum retro_hw_context_type type, unsigned minor, unsigned major)
 
static bool dynamic_verify_hw_context (enum retro_hw_context_type type, unsigned minor, unsigned major)
 
static void core_performance_counter_start (struct retro_perf_counter *perf)
 
static void core_performance_counter_stop (struct retro_perf_counter *perf)
 
bool rarch_clear_all_thread_waits (unsigned clear_threads, void *data)
 
bool rarch_environment_cb (unsigned cmd, void *data)
 

Variables

static bool ignore_environment_cb = false
 
static bool core_set_shared_context = false
 
static boolload_no_content_hook = NULL
 
static char current_library_name [1024]
 
static char current_library_version [1024]
 
static char current_valid_extensions [1024]
 

Macro Definition Documentation

◆ SYMBOL

#define SYMBOL (   x)    current_core->x = x

◆ SYMBOL_DUMMY

#define SYMBOL_DUMMY (   x)    current_core->x = libretro_dummy_##x

◆ VFS_FRONTEND

#define VFS_FRONTEND

Function Documentation

◆ core_performance_counter_start()

static void core_performance_counter_start ( struct retro_perf_counter perf)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ core_performance_counter_stop()

static void core_performance_counter_stop ( struct retro_perf_counter perf)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dynamic_request_hw_context()

static bool dynamic_request_hw_context ( enum retro_hw_context_type  type,
unsigned  minor,
unsigned  major 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dynamic_verify_hw_context()

static bool dynamic_verify_hw_context ( enum retro_hw_context_type  type,
unsigned  minor,
unsigned  major 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ environ_cb_get_system_info()

static bool environ_cb_get_system_info ( unsigned  cmd,
void data 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_libretro_sym()

bool init_libretro_sym ( enum rarch_core_type  type,
struct retro_core_t current_core 
)

init_libretro_sym: : Type of core to be loaded. If CORE_TYPE_DUMMY, will load dummy symbols.

Initializes libretro symbols and setups environment callback functions. Returns true on success, or false if symbols could not be loaded.

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

◆ init_libretro_sym_custom()

bool init_libretro_sym_custom ( enum rarch_core_type  type,
struct retro_core_t current_core,
const char *  lib_path,
dylib_t lib_handle_p 
)

load_symbols: : Type of core to be loaded. If CORE_TYPE_DUMMY, will load dummy symbols.

Setup libretro callback symbols. Returns true on success, or false if symbols could not be loaded.

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

◆ libretro_find_controller_description()

const struct retro_controller_description* libretro_find_controller_description ( const struct retro_controller_info info,
unsigned  id 
)

libretro_find_controller_description: : Pointer to controller info handle. : Identifier of controller to search for.

Search for a controller of type in .

Returns: controller description of found controller on success, otherwise NULL.

Here is the caller graph for this function:

◆ libretro_find_subsystem_info()

const struct retro_subsystem_info* libretro_find_subsystem_info ( const struct retro_subsystem_info info,
unsigned  num_info,
const char *  ident 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ libretro_free_system_info()

void libretro_free_system_info ( struct retro_system_info info)

libretro_free_system_info: : Pointer to system info information.

Frees system information.

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

◆ libretro_get_shared_context()

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

◆ libretro_get_system_info()

bool libretro_get_system_info ( const char *  path,
struct retro_system_info info,
bool load_no_content 
)

libretro_get_system_info: : Path to libretro library. : Pointer to system info information. : If true, core should be able to auto-start without any content loaded.

Gets system info from an arbitrary lib. The struct returned must be freed as strings are allocated dynamically.

Returns: true (1) if successful, otherwise false (0).

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

◆ load_symbols()

static bool load_symbols ( enum rarch_core_type  type,
struct retro_core_t current_core 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mmap_add_bits_down()

static size_t mmap_add_bits_down ( size_t  n)
static
Here is the caller graph for this function:

◆ mmap_highest_bit()

static size_t mmap_highest_bit ( size_t  n)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mmap_inflate()

static size_t mmap_inflate ( size_t  addr,
size_t  mask 
)
static
Here is the caller graph for this function:

◆ mmap_preprocess_descriptors()

static bool mmap_preprocess_descriptors ( rarch_memory_descriptor_t first,
unsigned  count 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mmap_reduce()

static size_t mmap_reduce ( size_t  addr,
size_t  mask 
)
static
Here is the caller graph for this function:

◆ rarch_clear_all_thread_waits()

bool rarch_clear_all_thread_waits ( unsigned  clear_threads,
void data 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rarch_environment_cb()

bool rarch_environment_cb ( unsigned  cmd,
void data 
)

rarch_environment_cb: : Identifier of command. : Pointer to data.

Environment callback function implementation.

Returns: true (1) if environment callback command could be performed, otherwise false (0).

Here is the caller graph for this function:

◆ rarch_log_libretro()

static void rarch_log_libretro ( enum retro_log_level  level,
const char *  fmt,
  ... 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uninit_libretro_sym()

void uninit_libretro_sym ( struct retro_core_t current_core)

uninit_libretro_sym:

Frees libretro core.

Frees all core options, associated state, and unbind all libretro callback symbols.

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

Variable Documentation

◆ core_set_shared_context

bool core_set_shared_context = false
static

◆ current_library_name

char current_library_name[1024]
static

◆ current_library_version

char current_library_version[1024]
static

◆ current_valid_extensions

char current_valid_extensions[1024]
static

◆ ignore_environment_cb

bool ignore_environment_cb = false
static

◆ load_no_content_hook

bool* load_no_content_hook = NULL
static