/* XXX: this really should be librarized */ static void boot_args(char **args) { int len = 0, a = 0; char **pp; const char *p; char c, *q, *str; for (pp = args; *pp; pp++) len += strlen(*pp) + 1; q = str = alloca(len); for (pp = args; *pp; pp++) { p = *pp; while ((c = *p++)) *q++ = c; *q++ = ' '; a = 1; } q -= a; *q = '\0'; if (!str[0]) syslinux_run_default(); else syslinux_run_command(str); }
/* Run a boot string, calling syslinux_run_command * cmdstr command string to process */ void rosh_run(const char *cmdstr) { int cmdpos; char *cmdptr; cmdpos = 0; ROSH_DEBUG("CMD: '%s'\n", cmdstr); /* skip the first word */ cmdpos = rosh_search_sp(cmdstr, cmdpos); /* skip spaces */ cmdpos = rosh_search_nonsp(cmdstr, cmdpos); cmdptr = (char *)(cmdstr + cmdpos); printf("--run: '%s'\n", cmdptr); syslinux_run_command(cmdptr); } /* rosh_run */
int main(int argc, char *argv[]) { struct match *list, *match; struct pci_domain *pci_domain; openconsole(&dev_null_r, &dev_stdcon_w); pci_domain = pci_scan(); if (pci_domain) { list = parse_config(argc < 2 ? NULL : argv[1]); match = find_pci_device(pci_domain, list); if (match) syslinux_run_command(match->filename); } /* On error, return to the command line */ fputs("Error: no recognized network card found!\n", stderr); return 1; }
static int sl_run_command(lua_State * L) { const char *cmd = luaL_checkstring(L, 1); /* Reads the string parameter */ syslinux_run_command(cmd); return 0; }
int main(void) { syslinux_run_command(com32_cmdline()); return -1; }
void OS::exec(const char *label) { int rv = syslinux_run_command(label); xassert(!rv); }