summaryrefslogtreecommitdiffstats
path: root/firmware/load_code.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2012-05-26 22:46:56 +0200
committerThomas Martitz <kugel@rockbox.org>2012-05-26 22:46:56 +0200
commit3f365fc06b67f8842b2e155349110f7c5659768d (patch)
tree3c83d9fc4802331cf542bfb23546a52b2190ba5c /firmware/load_code.c
parent3f72ba0e3f34ac47a83a426e6a19b96045b842de (diff)
downloadrockbox-3f365fc06b67f8842b2e155349110f7c5659768d.tar.gz
rockbox-3f365fc06b67f8842b2e155349110f7c5659768d.tar.bz2
rockbox-3f365fc06b67f8842b2e155349110f7c5659768d.zip
load_code: Get rid of win32 specific code in favor SDL_LoadFunction & friends APIs.
Refactor native/hosted implementation seperation while at it (no wrappers starting with _ anymore). Change-Id: If68ae89700443bb3be483c1cace3d6739409560a
Diffstat (limited to 'firmware/load_code.c')
-rw-r--r--firmware/load_code.c104
1 files changed, 0 insertions, 104 deletions
diff --git a/firmware/load_code.c b/firmware/load_code.c
index a76aca380d..d22d6bb3b2 100644
--- a/firmware/load_code.c
+++ b/firmware/load_code.c
@@ -25,8 +25,6 @@
#include "debug.h"
#include "load_code.h"
-#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
-
/* load binary blob from disk to memory, returning a handle */
void * lc_open(const char *filename, unsigned char *buf, size_t buf_size)
{
@@ -97,105 +95,3 @@ error_fd:
error:
return NULL;
}
-
-#elif (CONFIG_PLATFORM & PLATFORM_HOSTED)
-/* libdl wrappers */
-
-
-#ifdef WIN32
-/* win32 */
-#include <windows.h>
-#define dlopen(_x_, _y_) LoadLibraryW(_x_)
-#define dlsym(_x_, _y_) (void *)GetProcAddress(_x_, _y_)
-#define dlclose(_x_) FreeLibrary(_x_)
-static inline char *_dlerror(void)
-{
- static char err_buf[64];
- FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), 0,
- err_buf, sizeof(err_buf), NULL);
- return err_buf;
-}
-#define dlerror _dlerror
-#else
-/* unix */
-#include <dlfcn.h>
-#endif
-#include <stdio.h>
-#include "rbpaths.h"
-#include "general.h"
-
-void * _lc_open(const _lc_open_char *filename, unsigned char *buf, size_t buf_size)
-{
- (void)buf;
- (void)buf_size;
- return dlopen(filename, RTLD_NOW);
-}
-
-void *lc_open_from_mem(void *addr, size_t blob_size)
-{
-#ifndef SIMULATOR
- (void)addr;
- (void)blob_size;
- /* we don't support loading code from memory on application builds,
- * it doesn't make sense (since it means writing the blob to disk again and
- * then falling back to load from disk) and requires the ability to write
- * to an executable directory */
- return NULL;
-#else
- /* support it in the sim for the sake of simulating */
- int fd, i;
- char temp_filename[MAX_PATH];
-
- /* We have to create the dynamic link library file from ram so we
- can simulate the codec loading. With voice and crossfade,
- multiple codecs may be loaded at the same time, so we need
- to find an unused filename */
- for (i = 0; i < 10; i++)
- {
- snprintf(temp_filename, sizeof(temp_filename),
- ROCKBOX_DIR "/libtemp_binary_%d.dll", i);
- fd = open(temp_filename, O_WRONLY|O_CREAT|O_TRUNC, 0700);
- if (fd >= 0)
- break; /* Created a file ok */
- }
-
- if (fd < 0)
- {
- DEBUGF("open failed\n");
- return NULL;
- }
-
- if (write(fd, addr, blob_size) < (ssize_t)blob_size)
- {
- DEBUGF("Write failed\n");
- close(fd);
- remove(temp_filename);
- return NULL;
- }
-
- close(fd);
- return lc_open(temp_filename, NULL, 0);
-#endif
-}
-
-
-void *_lc_get_header(void *handle)
-{
- char *ret = dlsym(handle, "__header");
- if (ret == NULL)
- ret = dlsym(handle, "___header");
-
- return ret;
-}
-
-void _lc_close(void *handle)
-{
- if (handle)
- dlclose(handle);
-}
-
-const char *lc_last_error(void)
-{
- return dlerror();
-}
-#endif