Esempio n. 1
0
/*----------------------------------------------------------------------
    Main
----------------------------------------------------------------------*/
int main(int argc, char* argv[])
{
    /* allow I/O from user mode */
    syscall_get_io();

    Mouse::disable();
    Mouse::disableKeyboard();

    /* Mouse init */
    int mouse = Mouse::init();
    if (mouse)
    {
        _printf("Mouse init error=%d\n", mouse);
        return -1;
    }

    /* Mouse server initialize */
    MouseServer server;
    if (!server.Initialize())
    {
        syscall_print("Mouse Server: initialize error\n");
        return -1;
    }

    Mouse::enable();
    Mouse::enableKeyboard();

    /* we receive MSG_INTERRUPTED from IRQ12 Handler */
    syscall_set_irq_receiver(12, 0);

    if (monapi_name_add("/servers/mouse") != M_OK) {
        monapi_fatal("monapi_name_add failed");
    }
    /* service start */
    server.MessageLoop();

    return 0;
}