System.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Error.h>
  8. #include <signal.h>
  9. #include <sys/stat.h>
  10. namespace Core::System {
  11. #ifdef __serenity__
  12. ErrorOr<void> pledge(StringView promises, StringView execpromises);
  13. ErrorOr<void> unveil(StringView path, StringView permissions);
  14. ErrorOr<Array<int, 2>> pipe2(int flags);
  15. #endif
  16. ErrorOr<void> sigaction(int signal, struct sigaction const* action, struct sigaction* old_action);
  17. ErrorOr<struct stat> fstat(int fd);
  18. ErrorOr<int> fcntl(int fd, int command, ...);
  19. ErrorOr<void*> mmap(void* address, size_t, int protection, int flags, int fd, off_t, size_t alignment = 0, StringView name = {});
  20. ErrorOr<void> munmap(void* address, size_t);
  21. ErrorOr<int> open(StringView path, int options, ...);
  22. ErrorOr<void> close(int fd);
  23. ErrorOr<void> ftruncate(int fd, off_t length);
  24. ErrorOr<struct stat> stat(StringView path);
  25. ErrorOr<ssize_t> read(int fd, void* buffer, size_t buffer_size);
  26. ErrorOr<ssize_t> write(int fd, void const* data, size_t data_size);
  27. ErrorOr<void> kill(pid_t, int signal);
  28. ErrorOr<int> dup2(int source_fd, int destination_fd);
  29. ErrorOr<String> ptsname(int fd);
  30. ErrorOr<String> gethostname();
  31. }