4 * Interface declarations for the binary loader routines (loader.c, elf.c)
6 * Copyright (c) 2005 Nathan Keynes.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
19 #ifndef lxdream_loader_H
20 #define lxdream_loader_H 1
23 #include <glib/gtypes.h>
25 #include "drivers/cdrom/cdrom.h"
32 * NULL-terminated list of file extension/name pairs,
33 * supported by the loader
35 extern char *file_loader_extensions[][2];
46 } lxdream_file_type_t;
49 * Attempt to identify the given file as one of the above file types
51 lxdream_file_type_t file_identify( const gchar *filename, int fd, ERROR *err );
54 * Load any supported file, and return the type of file loaded.
55 * If the file is a disc, the disc is mounted.
57 * @param filename The file to load
58 * @param wrap_exec If true, load executables as disc images. Otherwise load
60 * @param err Updated with error message on failure.
62 lxdream_file_type_t file_load_magic( const gchar *filename, gboolean wrap_exec, ERROR *err );
65 * Load an ELF or .bin executable file based on magic.
67 gboolean file_load_exec( const gchar *filename, ERROR *err );
69 cdrom_disc_t cdrom_wrap_magic( cdrom_disc_type_t type, const gchar *filename, ERROR *err );
75 #endif /* !lxdream_loader_H */
.