summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/probe-modules.c
diff options
context:
space:
mode:
authorDexter Morgan <dmorgan@mageia.org>2011-06-02 20:51:35 +0000
committerDexter Morgan <dmorgan@mageia.org>2011-06-02 20:51:35 +0000
commita9b2bdafaf625d10aef2f476aa4014fd36c846bc (patch)
tree2364afc0ee6739b59a25c44d68c9f003bcaf03d9 /mdk-stage1/probe-modules.c
downloaddrakx-a9b2bdafaf625d10aef2f476aa4014fd36c846bc.tar
drakx-a9b2bdafaf625d10aef2f476aa4014fd36c846bc.tar.gz
drakx-a9b2bdafaf625d10aef2f476aa4014fd36c846bc.tar.bz2
drakx-a9b2bdafaf625d10aef2f476aa4014fd36c846bc.tar.xz
drakx-a9b2bdafaf625d10aef2f476aa4014fd36c846bc.zip
Branch for updates
Diffstat (limited to 'mdk-stage1/probe-modules.c')
-rw-r--r--mdk-stage1/probe-modules.c70
1 files changed, 70 insertions, 0 deletions
diff --git a/mdk-stage1/probe-modules.c b/mdk-stage1/probe-modules.c
new file mode 100644
index 000000000..6f162aed4
--- /dev/null
+++ b/mdk-stage1/probe-modules.c
@@ -0,0 +1,70 @@
+/*
+ * Olivier Blin (blino@mandriva.com)
+ *
+ * Copyright 2007-2004 Mandriva
+ *
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include "log.h"
+#include "modules.h"
+#include "probing.h"
+#include "frontend.h"
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <string.h>
+#include "utils.h"
+
+void exit_bootsplash(void) {}
+void stg1_error_message(char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ verror_message(msg, args);
+ va_end(args);
+}
+void fatal_error(char *msg)
+{
+ log_message("FATAL ERROR IN MODULES LOADER: %s\n\nI can't recover from this.\nYou may reboot your system.\n", msg);
+ exit(EXIT_FAILURE);
+}
+
+int main(int argc, char **argv, char **env)
+{
+ enum media_bus bus = BUS_ANY;
+ char *module = NULL;
+ char options[500] = "";
+
+ if (argc > 1) {
+ if (streq(argv[1], "--usb")) {
+ bus = BUS_USB;
+ } else if (!ptr_begins_static_str(argv[1], "--")) {
+ int i;
+ module = argv[1];
+ for (i = 2; i < argc; i++) {
+ strcat(options, argv[i]);
+ strcat(options, " ");
+ }
+ }
+ }
+
+ open_log();
+ init_modules_insmoding();
+
+ if (module) {
+ my_insmod(module, ANY_DRIVER_TYPE, options, 0);
+ } else {
+ find_media(bus);
+ }
+
+ close_log();
+
+ return 0;
+}