/* * Copyright (c) 2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once namespace Kernel { class BlockDevice; class CharacterDevice; class CoreDump; class Custody; class DevFSDeviceInode; class DevFSDirectoryInode; class DevFSInode; class DevFSPtsDirectoryInode; class DevFSRootDirectoryInode; class Device; class DiskCache; class DoubleBuffer; class File; class FileDescription; class FileSystem; class FutexQueue; class IPv4Socket; class Inode; class InodeIdentifier; class InodeWatcher; class KBuffer; class KResult; class LocalSocket; class Mutex; class MappedROM; class MasterPTY; class Mount; class PageDirectory; class PerformanceEventBuffer; class PhysicalPage; class PhysicalRegion; class ProcFS; class ProcFSDirectoryInode; class ProcFSExposedComponent; class ProcFSExposedDirectory; class ProcFSInode; class ProcFSProcessInformation; class ProcFSRootDirectory; class ProcFSSystemBoolean; class ProcFSSystemDirectory; class Process; class ProcessGroup; class Range; class RangeAllocator; class RecursiveSpinLock; class Region; class Scheduler; class SchedulerPerProcessorData; class SharedInodeVMObject; class Socket; class Space; class SysFS; class SysFSDirectory; class SysFSBusDirectory; class SysFSDirectoryInode; class SysFSInode; class TCPSocket; class TTY; class Thread; class ThreadTracer; class UDPSocket; class UserOrKernelBuffer; class VMObject; class VirtualFileSystem; class WaitQueue; class WorkQueue; template class SpinLock; template class ScopedSpinLock; template class KResultOr; struct InodeMetadata; struct TrapFrame; }