Serenity Operating System
at master 64 lines 2.6 kB view raw
1/* 2 * Copyright (c) 2023, Liav A. <liavalb@hotmail.co.il> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <AK/StringView.h> 10#include <AK/Types.h> 11 12namespace Kernel { 13 14struct segmented_global_inode_index { 15 StringView name; 16 u8 file_type; 17 u32 primary; 18 u16 subdirectory; 19 u32 property; 20}; 21 22constexpr segmented_global_inode_index global_inode_ids[] = { 23 { "."sv, DT_DIR, 0, 0, 1 }, // NOTE: This is here for the root directory 24 { "self"sv, DT_DIR, 0, 0, 2 } 25}; 26 27struct segmented_process_directory_entry { 28 StringView name; 29 u8 file_type; 30 u16 subdirectory; 31 u32 property; 32}; 33 34constexpr segmented_process_directory_entry main_process_directory_root_entry = { "."sv, DT_DIR, 0, 0 }; 35constexpr segmented_process_directory_entry process_fd_subdirectory_root_entry = { "."sv, DT_DIR, 1, 0 }; 36constexpr segmented_process_directory_entry process_stacks_subdirectory_root_entry = { "."sv, DT_DIR, 2, 0 }; 37constexpr segmented_process_directory_entry process_children_subdirectory_root_entry = { "."sv, DT_DIR, 3, 0 }; 38 39constexpr segmented_process_directory_entry process_fd_directory_entry = { "fd"sv, DT_DIR, 1, 0 }; 40constexpr segmented_process_directory_entry process_stacks_directory_entry = { "stacks"sv, DT_DIR, 2, 0 }; 41constexpr segmented_process_directory_entry process_children_directory_entry = { "children"sv, DT_DIR, 3, 0 }; 42constexpr segmented_process_directory_entry process_unveil_list_entry = { "unveil"sv, DT_REG, 0, 1 }; 43constexpr segmented_process_directory_entry process_pledge_list_entry = { "pledge"sv, DT_REG, 0, 2 }; 44constexpr segmented_process_directory_entry process_fds_list_entry = { "fds"sv, DT_REG, 0, 3 }; 45constexpr segmented_process_directory_entry process_exe_symlink_entry = { "exe"sv, DT_LNK, 0, 4 }; 46constexpr segmented_process_directory_entry process_cwd_symlink_entry = { "cwd"sv, DT_LNK, 0, 5 }; 47constexpr segmented_process_directory_entry process_perf_events_entry = { "perf_events"sv, DT_REG, 0, 6 }; 48constexpr segmented_process_directory_entry process_vm_entry = { "vm"sv, DT_REG, 0, 7 }; 49constexpr segmented_process_directory_entry process_cmdline_entry = { "cmdline"sv, DT_REG, 0, 8 }; 50constexpr segmented_process_directory_entry main_process_directory_entries[] = { 51 process_fd_directory_entry, 52 process_stacks_directory_entry, 53 process_children_directory_entry, 54 process_unveil_list_entry, 55 process_pledge_list_entry, 56 process_fds_list_entry, 57 process_exe_symlink_entry, 58 process_cwd_symlink_entry, 59 process_perf_events_entry, 60 process_vm_entry, 61 process_cmdline_entry, 62}; 63 64}