1*bdd7dae8SJérôme Duval /* 2*bdd7dae8SJérôme Duval * Copyright 2018, Jérôme Duval, jerome.duval@gmail.com. 3*bdd7dae8SJérôme Duval * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. 4*bdd7dae8SJérôme Duval * Copyright 2004-2010, Haiku Inc. All rights reserved. 5*bdd7dae8SJérôme Duval * Distributed under the terms of the MIT License. 6*bdd7dae8SJérôme Duval */ 7*bdd7dae8SJérôme Duval 8*bdd7dae8SJérôme Duval 9*bdd7dae8SJérôme Duval /*! Big case statement for dispatching syscalls, as well as the generic 10*bdd7dae8SJérôme Duval syscall interface. 11*bdd7dae8SJérôme Duval */ 12*bdd7dae8SJérôme Duval 13*bdd7dae8SJérôme Duval 14*bdd7dae8SJérôme Duval #include <syscalls.h> 15*bdd7dae8SJérôme Duval 16*bdd7dae8SJérôme Duval #include <arch_config.h> 17*bdd7dae8SJérôme Duval #include <arch/system_info.h> 18*bdd7dae8SJérôme Duval #include <cpu.h> 19*bdd7dae8SJérôme Duval #include <debug.h> 20*bdd7dae8SJérôme Duval #include <disk_device_manager/ddm_userland_interface.h> 21*bdd7dae8SJérôme Duval #include <elf.h> 22*bdd7dae8SJérôme Duval #include <frame_buffer_console.h> 23*bdd7dae8SJérôme Duval #include <fs/fd.h> 24*bdd7dae8SJérôme Duval #include <fs/node_monitor.h> 25*bdd7dae8SJérôme Duval #include <generic_syscall.h> 26*bdd7dae8SJérôme Duval #include <int.h> 27*bdd7dae8SJérôme Duval #include <kernel.h> 28*bdd7dae8SJérôme Duval #include <kimage.h> 29*bdd7dae8SJérôme Duval #include <ksignal.h> 30*bdd7dae8SJérôme Duval #include <ksyscalls.h> 31*bdd7dae8SJérôme Duval #include <ksystem_info.h> 32*bdd7dae8SJérôme Duval #include <messaging.h> 33*bdd7dae8SJérôme Duval #include <port.h> 34*bdd7dae8SJérôme Duval #include <posix/realtime_sem.h> 35*bdd7dae8SJérôme Duval #include <posix/xsi_message_queue.h> 36*bdd7dae8SJérôme Duval #include <posix/xsi_semaphore.h> 37*bdd7dae8SJérôme Duval #include <real_time_clock.h> 38*bdd7dae8SJérôme Duval #include <safemode.h> 39*bdd7dae8SJérôme Duval #include <sem.h> 40*bdd7dae8SJérôme Duval #include <sys/resource.h> 41*bdd7dae8SJérôme Duval #include <system_profiler.h> 42*bdd7dae8SJérôme Duval #include <thread.h> 43*bdd7dae8SJérôme Duval #include <tracing.h> 44*bdd7dae8SJérôme Duval #include <user_atomic.h> 45*bdd7dae8SJérôme Duval #include <user_mutex.h> 46*bdd7dae8SJérôme Duval #include <usergroup.h> 47*bdd7dae8SJérôme Duval #include <UserTimer.h> 48*bdd7dae8SJérôme Duval #include <util/AutoLock.h> 49*bdd7dae8SJérôme Duval #include <vfs.h> 50*bdd7dae8SJérôme Duval #include <vm/vm.h> 51*bdd7dae8SJérôme Duval #include <wait_for_objects.h> 52*bdd7dae8SJérôme Duval 53*bdd7dae8SJérôme Duval 54*bdd7dae8SJérôme Duval status_t _user_generic_syscall(const char* userSubsystem, uint32 function, 55*bdd7dae8SJérôme Duval void* buffer, size_t bufferSize); 56*bdd7dae8SJérôme Duval int _user_is_computer_on(void); 57*bdd7dae8SJérôme Duval 58*bdd7dae8SJérôme Duval 59*bdd7dae8SJérôme Duval #include "syscall_numbers.h" 60*bdd7dae8SJérôme Duval 61*bdd7dae8SJérôme Duval #define kSyscallCount kSyscallCompatCount 62*bdd7dae8SJérôme Duval #define kSyscallInfos kSyscallCompatInfos 63*bdd7dae8SJérôme Duval #define kExtendedSyscallInfos kExtendedSyscallCompatInfos 64*bdd7dae8SJérôme Duval 65*bdd7dae8SJérôme Duval extern const int kSyscallCount; 66*bdd7dae8SJérôme Duval extern const syscall_info kSyscallInfos[]; 67*bdd7dae8SJérôme Duval extern const extended_syscall_info kExtendedSyscallInfos[]; 68*bdd7dae8SJérôme Duval 69*bdd7dae8SJérôme Duval /* 70*bdd7dae8SJérôme Duval * kSyscallCount and kSyscallInfos here 71*bdd7dae8SJérôme Duval */ 72*bdd7dae8SJérôme Duval // generated by gensyscalls 73*bdd7dae8SJérôme Duval #include "syscall_table.h" 74