syscall.cpp 916 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <Kernel/API/Syscall.h>
  7. #include <LibSystem/syscall.h>
  8. extern "C" {
  9. uintptr_t syscall0(uintptr_t function)
  10. {
  11. return Syscall::invoke((Syscall::Function)function);
  12. }
  13. uintptr_t syscall1(uintptr_t function, uintptr_t arg0)
  14. {
  15. return Syscall::invoke((Syscall::Function)function, arg0);
  16. }
  17. uintptr_t syscall2(uintptr_t function, uintptr_t arg0, uintptr_t arg1)
  18. {
  19. return Syscall::invoke((Syscall::Function)function, arg0, arg1);
  20. }
  21. uintptr_t syscall3(uintptr_t function, uintptr_t arg0, uintptr_t arg1, uintptr_t arg2)
  22. {
  23. return Syscall::invoke((Syscall::Function)function, arg0, arg1, arg2);
  24. }
  25. uintptr_t syscall4(uintptr_t function, uintptr_t arg0, uintptr_t arg1, uintptr_t arg2, uintptr_t arg3)
  26. {
  27. return Syscall::invoke((Syscall::Function)function, arg0, arg1, arg2, arg3);
  28. }
  29. }