| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The Native Client Authors. All rights reserved. | 2 * Copyright (c) 2014 The Native Client Authors. All rights reserved. |
| 3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
| 4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 #include "native_client/src/trusted/service_runtime/nacl_syscall_common.h" | 7 #include "native_client/src/trusted/service_runtime/nacl_syscall_common.h" |
| 8 #include "native_client/src/trusted/service_runtime/nacl_syscall_handlers.h" | 8 #include "native_client/src/trusted/service_runtime/nacl_syscall_handlers.h" |
| 9 #include "native_client/src/trusted/service_runtime/nacl_syscall_register.h" | 9 #include "native_client/src/trusted/service_runtime/nacl_syscall_register.h" |
| 10 #include "native_client/src/trusted/service_runtime/nacl_text.h" | 10 #include "native_client/src/trusted/service_runtime/nacl_text.h" |
| 11 #include "native_client/src/trusted/service_runtime/sys_exception.h" | 11 #include "native_client/src/trusted/service_runtime/sys_exception.h" |
| 12 #include "native_client/src/trusted/service_runtime/sys_fdio.h" | 12 #include "native_client/src/trusted/service_runtime/sys_fdio.h" |
| 13 #include "native_client/src/trusted/service_runtime/sys_filename.h" | 13 #include "native_client/src/trusted/service_runtime/sys_filename.h" |
| 14 #include "native_client/src/trusted/service_runtime/sys_imc.h" | 14 #include "native_client/src/trusted/service_runtime/sys_imc.h" |
| 15 #include "native_client/src/trusted/service_runtime/sys_list_mappings.h" | 15 #include "native_client/src/trusted/service_runtime/sys_list_mappings.h" |
| 16 #include "native_client/src/trusted/service_runtime/sys_memory.h" | 16 #include "native_client/src/trusted/service_runtime/sys_memory.h" |
| 17 #include "native_client/src/trusted/service_runtime/sys_parallel_io.h" | 17 #include "native_client/src/trusted/service_runtime/sys_parallel_io.h" |
| 18 #include "native_client/src/trusted/service_runtime/sys_random.h" | 18 #include "native_client/src/trusted/service_runtime/sys_random.h" |
| 19 #include "native_client/src/trusted/service_runtime/include/bits/nacl_syscalls.h
" | 19 #include "native_client/src/trusted/service_runtime/include/bits/nacl_syscalls.h
" |
| 20 | 20 |
| 21 /* | 21 /* |
| 22 * The following declarations define wrapper functions which read in | 22 * The following declarations define wrapper functions which read in |
| 23 * syscall arguments and call the syscall implementation functions listed | 23 * syscall arguments and call the syscall implementation functions listed |
| 24 * here. | 24 * here. |
| 25 */ | 25 */ |
| 26 NACL_DEFINE_SYSCALL_0(NaClSysNull) | 26 NACL_DEFINE_SYSCALL_0(NaClSysNull) |
| 27 NACL_DEFINE_SYSCALL_1(NaClSysNameService) | |
| 28 NACL_DEFINE_SYSCALL_1(NaClSysDup) | 27 NACL_DEFINE_SYSCALL_1(NaClSysDup) |
| 29 NACL_DEFINE_SYSCALL_2(NaClSysDup2) | 28 NACL_DEFINE_SYSCALL_2(NaClSysDup2) |
| 30 NACL_DEFINE_SYSCALL_3(NaClSysOpen) | 29 NACL_DEFINE_SYSCALL_3(NaClSysOpen) |
| 31 NACL_DEFINE_SYSCALL_1(NaClSysClose) | 30 NACL_DEFINE_SYSCALL_1(NaClSysClose) |
| 32 NACL_DEFINE_SYSCALL_3(NaClSysRead) | 31 NACL_DEFINE_SYSCALL_3(NaClSysRead) |
| 33 NACL_DEFINE_SYSCALL_3(NaClSysWrite) | 32 NACL_DEFINE_SYSCALL_3(NaClSysWrite) |
| 34 NACL_DEFINE_SYSCALL_3(NaClSysLseek) | 33 NACL_DEFINE_SYSCALL_3(NaClSysLseek) |
| 35 NACL_DEFINE_SYSCALL_2(NaClSysFstat) | 34 NACL_DEFINE_SYSCALL_2(NaClSysFstat) |
| 36 NACL_DEFINE_SYSCALL_2(NaClSysStat) | 35 NACL_DEFINE_SYSCALL_2(NaClSysStat) |
| 37 NACL_DEFINE_SYSCALL_3(NaClSysGetdents) | 36 NACL_DEFINE_SYSCALL_3(NaClSysGetdents) |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 NACL_DEFINE_SYSCALL_2(NaClSysFutexWake) | 104 NACL_DEFINE_SYSCALL_2(NaClSysFutexWake) |
| 106 NACL_DEFINE_SYSCALL_2(NaClSysGetRandomBytes) | 105 NACL_DEFINE_SYSCALL_2(NaClSysGetRandomBytes) |
| 107 | 106 |
| 108 /* | 107 /* |
| 109 * This fills in the global table of syscall handlers (nacl_syscall[]), | 108 * This fills in the global table of syscall handlers (nacl_syscall[]), |
| 110 * which maps syscall numbers to syscall implementation functions via | 109 * which maps syscall numbers to syscall implementation functions via |
| 111 * wrapper functions which read in the syscall arguments. | 110 * wrapper functions which read in the syscall arguments. |
| 112 */ | 111 */ |
| 113 static void RegisterSyscalls(void) { | 112 static void RegisterSyscalls(void) { |
| 114 NACL_REGISTER_SYSCALL(NaClSysNull, NACL_sys_null); | 113 NACL_REGISTER_SYSCALL(NaClSysNull, NACL_sys_null); |
| 115 NACL_REGISTER_SYSCALL(NaClSysNameService, NACL_sys_nameservice); | |
| 116 NACL_REGISTER_SYSCALL(NaClSysDup, NACL_sys_dup); | 114 NACL_REGISTER_SYSCALL(NaClSysDup, NACL_sys_dup); |
| 117 NACL_REGISTER_SYSCALL(NaClSysDup2, NACL_sys_dup2); | 115 NACL_REGISTER_SYSCALL(NaClSysDup2, NACL_sys_dup2); |
| 118 NACL_REGISTER_SYSCALL(NaClSysOpen, NACL_sys_open); | 116 NACL_REGISTER_SYSCALL(NaClSysOpen, NACL_sys_open); |
| 119 NACL_REGISTER_SYSCALL(NaClSysClose, NACL_sys_close); | 117 NACL_REGISTER_SYSCALL(NaClSysClose, NACL_sys_close); |
| 120 NACL_REGISTER_SYSCALL(NaClSysRead, NACL_sys_read); | 118 NACL_REGISTER_SYSCALL(NaClSysRead, NACL_sys_read); |
| 121 NACL_REGISTER_SYSCALL(NaClSysWrite, NACL_sys_write); | 119 NACL_REGISTER_SYSCALL(NaClSysWrite, NACL_sys_write); |
| 122 NACL_REGISTER_SYSCALL(NaClSysLseek, NACL_sys_lseek); | 120 NACL_REGISTER_SYSCALL(NaClSysLseek, NACL_sys_lseek); |
| 123 NACL_REGISTER_SYSCALL(NaClSysFstat, NACL_sys_fstat); | 121 NACL_REGISTER_SYSCALL(NaClSysFstat, NACL_sys_fstat); |
| 124 NACL_REGISTER_SYSCALL(NaClSysStat, NACL_sys_stat); | 122 NACL_REGISTER_SYSCALL(NaClSysStat, NACL_sys_stat); |
| 125 NACL_REGISTER_SYSCALL(NaClSysGetdents, NACL_sys_getdents); | 123 NACL_REGISTER_SYSCALL(NaClSysGetdents, NACL_sys_getdents); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 int i; | 197 int i; |
| 200 for (i = 0; i < NACL_MAX_SYSCALLS; ++i) { | 198 for (i = 0; i < NACL_MAX_SYSCALLS; ++i) { |
| 201 nacl_syscall[i].handler = &NaClSysNotImplementedDecoder; | 199 nacl_syscall[i].handler = &NaClSysNotImplementedDecoder; |
| 202 } | 200 } |
| 203 } | 201 } |
| 204 | 202 |
| 205 void NaClSyscallTableInit(void) { | 203 void NaClSyscallTableInit(void) { |
| 206 SyscallTableInitEmpty(); | 204 SyscallTableInitEmpty(); |
| 207 RegisterSyscalls(); | 205 RegisterSyscalls(); |
| 208 } | 206 } |
| OLD | NEW |