X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/bdc143a7aa3f51a46eceec62b0b364599533fa21..b1644f824d7f4989a94b8a752aadee26cae25069:/lunaix-os/hal/char/lxconsole.c?ds=sidebyside diff --git a/lunaix-os/hal/char/lxconsole.c b/lunaix-os/hal/char/lxconsole.c index 4922297..1ac2d57 100644 --- a/lunaix-os/hal/char/lxconsole.c +++ b/lunaix-os/hal/char/lxconsole.c @@ -27,7 +27,7 @@ struct console { - struct capability_meta* tp_cap; + struct termport_potens* tp_cap; struct lx_timer* flush_timer; struct fifo_buf output; struct fifo_buf input; @@ -92,9 +92,7 @@ __lxconsole_listener(struct input_device* dev) fifo_putone(&lx_console.input, ttychr); - struct termport_capability* tpcap; - tpcap = get_capability(lx_console.tp_cap, typeof(*tpcap)); - term_notify_data_avaliable(tpcap); + term_notify_data_avaliable(lx_console.tp_cap); pwake_all(&lx_reader); done: @@ -298,24 +296,16 @@ lxconsole_spawn_ttydev(struct device_def* devdef) waitq_init(&lx_reader); input_add_listener(__lxconsole_listener); - struct termport_capability* tp_cap; - - tp_cap = new_capability(TERMPORT_CAP, struct termport_capability); - term_cap_set_operations(tp_cap, termport_default_ops); - - lx_console.tp_cap = cap_meta(tp_cap); - device_grant_capability(tty_dev, lx_console.tp_cap); - register_device(tty_dev, &devdef->class, "vcon"); - term_create(tty_dev, "VCON"); + lx_console.tp_cap = term_attach_potens(tty_dev, NULL, "VCON"); return 0; } static struct device_def lxconsole_def = { - .name = "Lunaix Virtual Console", - .class = DEVCLASS(DEVIF_NON, DEVFN_TTY, DEV_BUILTIN), - .init = lxconsole_spawn_ttydev + def_device_name("Lunaix Virtual Console"), + def_device_class(LUNAIX, TTY, VTERM), + def_on_load(lxconsole_spawn_ttydev) }; EXPORT_DEVICE(lxconsole, &lxconsole_def, load_onboot); \ No newline at end of file