syscalls.c

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2008 Jiri Svoboda
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * - Redistributions of source code must retain the above copyright
00010  *   notice, this list of conditions and the following disclaimer.
00011  * - Redistributions in binary form must reproduce the above copyright
00012  *   notice, this list of conditions and the following disclaimer in the
00013  *   documentation and/or other materials provided with the distribution.
00014  * - The name of the author may not be used to endorse or promote products
00015  *   derived from this software without specific prior written permission.
00016  *
00017  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
00018  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00019  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
00020  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
00021  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
00022  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00023  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00024  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00025  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00026  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00027  */
00028 
00035 #include <kernel/syscall/syscall.h>
00036 #include "syscalls.h"
00037 #include "trace.h"
00038 
00039 const sc_desc_t syscall_desc[] = {
00040     [SYS_KLOG] ={ "klog",                               3,      V_INT_ERRNO },
00041     [SYS_TLS_SET] = { "tls_set",                        1,      V_ERRNO },
00042     [SYS_THREAD_CREATE] = { "thread_create",            3,      V_ERRNO },
00043     [SYS_THREAD_EXIT] = { "thread_exit",                1,      V_ERRNO },
00044     [SYS_THREAD_GET_ID] = { "thread_get_id",            1,      V_ERRNO },
00045 
00046     [SYS_TASK_GET_ID] = { "task_get_id",                1,      V_ERRNO },
00047     [SYS_FUTEX_SLEEP] = { "futex_sleep_timeout",        3,      V_ERRNO },
00048     [SYS_FUTEX_WAKEUP] = { "futex_wakeup",              1,      V_ERRNO },
00049 
00050     [SYS_AS_AREA_CREATE] = { "as_area_create",          3,      V_ERRNO },
00051     [SYS_AS_AREA_RESIZE] = { "as_area_resize",          3,      V_ERRNO },
00052     [SYS_AS_AREA_DESTROY] = { "as_area_destroy",        1,      V_ERRNO },
00053 
00054     [SYS_IPC_CALL_SYNC_FAST] = { "ipc_call_sync_fast",  6,      V_ERRNO },
00055     [SYS_IPC_CALL_SYNC_SLOW] = { "ipc_call_sync_slow",  3,      V_ERRNO },
00056     [SYS_IPC_CALL_ASYNC_FAST] = { "ipc_call_async_fast", 6,     V_HASH },
00057     [SYS_IPC_CALL_ASYNC_SLOW] = { "ipc_call_async_slow", 2,     V_HASH },
00058 
00059     [SYS_IPC_ANSWER_FAST] = { "ipc_answer_fast",        6,      V_ERRNO },
00060     [SYS_IPC_ANSWER_SLOW] = { "ipc_answer_slow",        2,      V_ERRNO },
00061     [SYS_IPC_FORWARD_FAST] = { "ipc_forward_fast",      6,      V_ERRNO },
00062     [SYS_IPC_FORWARD_SLOW] = { "ipc_forward_slow",      3,      V_ERRNO },
00063     [SYS_IPC_WAIT] = { "ipc_wait_for_call",             3,      V_HASH },
00064     [SYS_IPC_POKE] = { "ipc_poke",                      0,      V_ERRNO },
00065     [SYS_IPC_HANGUP] = { "ipc_hangup",                  1,      V_ERRNO },
00066 
00067     [SYS_EVENT_SUBSCRIBE] = { "event_subscribe",        2,      V_ERRNO },
00068 
00069     [SYS_CAP_GRANT] = { "cap_grant",                    2,      V_ERRNO },
00070     [SYS_CAP_REVOKE] = { "cap_revoke",                  2,      V_ERRNO },
00071     [SYS_PHYSMEM_MAP] = { "physmem_map",                4,      V_ERRNO },
00072     [SYS_IOSPACE_ENABLE] = { "iospace_enable",          1,      V_ERRNO },
00073     [SYS_REGISTER_IRQ] = { "register_irq",      4,      V_ERRNO },
00074     [SYS_UNREGISTER_IRQ] = { "unregister_irq",  2,      V_ERRNO },
00075 
00076     [SYS_SYSINFO_GET_TAG] = { "sysinfo_get_tag",                2,      V_INTEGER },
00077     [SYS_SYSINFO_GET_VALUE] = { "sysinfo_get_value",            3,      V_ERRNO },
00078     [SYS_SYSINFO_GET_DATA_SIZE] = { "sysinfo_get_data_size",    3,      V_ERRNO },
00079     [SYS_SYSINFO_GET_DATA] = { "sysinfo_get_data",              5,      V_ERRNO },
00080 
00081     [SYS_DEBUG_ENABLE_CONSOLE] = { "debug_enable_console", 0,   V_ERRNO },
00082     [SYS_IPC_CONNECT_KBOX] = { "ipc_connect_kbox",      1,      V_ERRNO }
00083 };
00084 

Generated on Thu Jun 2 07:45:43 2011 for HelenOS/USB by  doxygen 1.4.7