From 3d6a857b9186ef6304ea6cf04627c2b787169f29 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Sat, 16 Jul 2016 15:59:46 +0200 Subject: Make way for libc implementation --- src/sysbin/login/main.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'src/sysbin/login') diff --git a/src/sysbin/login/main.c b/src/sysbin/login/main.c index c9d2455..c4cd260 100644 --- a/src/sysbin/login/main.c +++ b/src/sysbin/login/main.c @@ -1,6 +1,8 @@ #include #include +#include + #include #include @@ -8,42 +10,42 @@ int main(int argc, char **argv) { dbg_print("[login] Starting up.\n"); // communication channel between terminal && shell - fd_pair_t tc = make_channel(false); + fd_pair_t tc = sc_make_channel(false); // just launch a terminal - pid_t term_pid = new_proc(); + pid_t term_pid = sc_new_proc(); if (term_pid == 0) { PANIC("[login] Could not launch terminal"); } bool ok; - ok = bind_fs(term_pid, "sys", "sys") - && bind_fs(term_pid, "config", "config") - && bind_fd(term_pid, 1, 1) - && bind_fd(term_pid, 2, tc.a); + ok = sc_bind_fs(term_pid, "sys", "sys") + && sc_bind_fs(term_pid, "config", "config") + && sc_bind_fd(term_pid, STD_FD_GIP, STD_FD_GIP) + && sc_bind_fd(term_pid, STD_FD_TTYSRV, tc.a); if (!ok) PANIC("[login] Could not bind to terminal process."); - ok = proc_exec(term_pid, "sys:/bin/terminal.bin"); + ok = sc_proc_exec(term_pid, "sys:/bin/terminal.bin"); if (!ok) PANIC("[login] Could not run terminal.bin"); // and launch the shell - pid_t shell_pid = new_proc(); + pid_t shell_pid = sc_new_proc(); if (shell_pid == 0) { PANIC("[login] Could not launch shell"); } - ok = bind_fs(shell_pid, "root", "root") - && bind_fs(shell_pid, "sys", "sys") - && bind_fs(shell_pid, "config", "config") - && bind_fd(shell_pid, 1, tc.b); + ok = sc_bind_fs(shell_pid, "root", "root") + && sc_bind_fs(shell_pid, "sys", "sys") + && sc_bind_fs(shell_pid, "config", "config") + && sc_bind_fd(shell_pid, STD_FD_TTY_STDIO, tc.b); if (!ok) PANIC("[login] Could not bind to shell process."); - ok = proc_exec(shell_pid, "sys:/bin/shell.bin"); + ok = sc_proc_exec(shell_pid, "sys:/bin/shell.bin"); if (!ok) PANIC("[login] Could not run shell.bin"); proc_status_t s; - proc_wait(0, true, &s); + sc_proc_wait(0, true, &s); return 0; } -- cgit v1.2.3