process.hpp 740 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include <list>
  3. #include <map>
  4. #include <set>
  5. #include <tuple>
  6. #include <utility>
  7. #include <assert.h>
  8. #include <errno.h>
  9. #include <fcntl.h>
  10. #include <signal.h>
  11. #include <stdint.h>
  12. #include <sys/types.h>
  13. #include <types/allocator.hpp>
  14. #include <types/cplusplus.hpp>
  15. #include <types/path.hpp>
  16. #include <types/types.h>
  17. #include <kernel/interrupt.hpp>
  18. #include <kernel/mem/mm_list.hpp>
  19. #include <kernel/mem/paging.hpp>
  20. #include <kernel/vfs.hpp>
  21. #include <kernel/vfs/dentry.hpp>
  22. void NORETURN init_scheduler(kernel::mem::paging::pfn_t kernel_stack_pfn);
  23. /// @return true if returned normally, false if being interrupted
  24. void NORETURN schedule_noreturn(void);
  25. void NORETURN freeze(void);
  26. void NORETURN kill_current(int signo);