2020-02-16 03:50:16 +03:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
|
|
|
|
*
|
2021-04-22 11:24:48 +03:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-02-16 03:50:16 +03:00
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2021-08-14 20:47:37 +03:00
|
|
|
#include <AK/DistinctNumeric.h>
|
2021-08-28 23:11:16 +03:00
|
|
|
#include <Kernel/API/POSIX/sys/types.h>
|
2021-08-14 20:47:37 +03:00
|
|
|
|
2020-02-16 03:50:16 +03:00
|
|
|
namespace Kernel {
|
|
|
|
|
|
|
|
class BlockDevice;
|
|
|
|
class CharacterDevice;
|
2021-08-22 15:51:04 +03:00
|
|
|
class Coredump;
|
2020-02-16 03:50:16 +03:00
|
|
|
class Custody;
|
2021-08-14 16:28:09 +03:00
|
|
|
class DevTmpFSDeviceInode;
|
|
|
|
class DevTmpFSDirectoryInode;
|
|
|
|
class DevTmpFSInode;
|
|
|
|
class DevTmpFSPtsDirectoryInode;
|
|
|
|
class DevTmpFSRootDirectoryInode;
|
2021-07-11 12:49:16 +03:00
|
|
|
class Device;
|
2020-02-16 03:50:16 +03:00
|
|
|
class DiskCache;
|
|
|
|
class DoubleBuffer;
|
|
|
|
class File;
|
2021-09-07 14:39:11 +03:00
|
|
|
class OpenFileDescription;
|
2022-05-13 03:22:23 +03:00
|
|
|
class DisplayConnector;
|
2021-07-11 12:49:16 +03:00
|
|
|
class FileSystem;
|
2020-12-22 09:21:58 +03:00
|
|
|
class FutexQueue;
|
2020-02-16 03:50:16 +03:00
|
|
|
class IPv4Socket;
|
|
|
|
class Inode;
|
|
|
|
class InodeIdentifier;
|
|
|
|
class InodeWatcher;
|
|
|
|
class KBuffer;
|
|
|
|
class LocalSocket;
|
2021-07-17 22:09:51 +03:00
|
|
|
class Mutex;
|
2020-08-01 20:39:45 +03:00
|
|
|
class MasterPTY;
|
2021-07-11 12:49:16 +03:00
|
|
|
class Mount;
|
2020-02-16 04:01:42 +03:00
|
|
|
class PerformanceEventBuffer;
|
2021-07-11 12:49:16 +03:00
|
|
|
class ProcFS;
|
|
|
|
class ProcFSDirectoryInode;
|
|
|
|
class ProcFSExposedComponent;
|
|
|
|
class ProcFSExposedDirectory;
|
|
|
|
class ProcFSInode;
|
|
|
|
class ProcFSProcessInformation;
|
|
|
|
class ProcFSRootDirectory;
|
|
|
|
class ProcFSSystemBoolean;
|
|
|
|
class ProcFSSystemDirectory;
|
2020-02-16 03:50:16 +03:00
|
|
|
class Process;
|
2020-11-30 02:05:27 +03:00
|
|
|
class ProcessGroup;
|
2021-08-22 02:37:17 +03:00
|
|
|
class RecursiveSpinlock;
|
2020-02-16 03:50:16 +03:00
|
|
|
class Scheduler;
|
|
|
|
class Socket;
|
2021-07-11 12:49:16 +03:00
|
|
|
class SysFS;
|
2021-07-18 01:49:53 +03:00
|
|
|
class SysFSDirectory;
|
2022-04-22 12:46:19 +03:00
|
|
|
class SysFSRootDirectory;
|
2021-07-18 01:49:53 +03:00
|
|
|
class SysFSBusDirectory;
|
2021-07-11 12:49:16 +03:00
|
|
|
class SysFSDirectoryInode;
|
|
|
|
class SysFSInode;
|
2020-02-16 03:50:16 +03:00
|
|
|
class TCPSocket;
|
2020-02-16 04:01:42 +03:00
|
|
|
class TTY;
|
2020-02-16 03:50:16 +03:00
|
|
|
class Thread;
|
2021-07-11 12:49:16 +03:00
|
|
|
class ThreadTracer;
|
2020-02-16 03:50:16 +03:00
|
|
|
class UDPSocket;
|
2020-09-12 06:11:07 +03:00
|
|
|
class UserOrKernelBuffer;
|
2021-07-11 12:49:16 +03:00
|
|
|
class VirtualFileSystem;
|
2020-02-16 03:50:16 +03:00
|
|
|
class WaitQueue;
|
2021-02-06 09:36:38 +03:00
|
|
|
class WorkQueue;
|
2020-02-16 03:50:16 +03:00
|
|
|
|
2021-08-06 14:49:36 +03:00
|
|
|
namespace Memory {
|
2021-08-06 14:57:39 +03:00
|
|
|
class AddressSpace;
|
2021-08-06 14:49:36 +03:00
|
|
|
class AnonymousVMObject;
|
|
|
|
class InodeVMObject;
|
|
|
|
class MappedROM;
|
|
|
|
class MemoryManager;
|
|
|
|
class PageDirectory;
|
|
|
|
class PhysicalPage;
|
|
|
|
class PhysicalRegion;
|
|
|
|
class PrivateInodeVMObject;
|
|
|
|
class Region;
|
|
|
|
class SharedInodeVMObject;
|
|
|
|
class VMObject;
|
2021-08-06 14:57:39 +03:00
|
|
|
class VirtualRange;
|
2021-08-06 14:49:36 +03:00
|
|
|
}
|
|
|
|
|
2021-08-22 02:37:17 +03:00
|
|
|
class Spinlock;
|
2021-07-11 12:49:16 +03:00
|
|
|
template<typename LockType>
|
2021-08-22 02:49:22 +03:00
|
|
|
class SpinlockLocker;
|
2020-02-16 03:50:16 +03:00
|
|
|
|
2021-07-11 12:49:16 +03:00
|
|
|
struct InodeMetadata;
|
|
|
|
struct TrapFrame;
|
|
|
|
|
2021-08-14 20:47:37 +03:00
|
|
|
TYPEDEF_DISTINCT_ORDERED_ID(pid_t, ProcessID);
|
|
|
|
TYPEDEF_DISTINCT_ORDERED_ID(pid_t, ThreadID);
|
|
|
|
TYPEDEF_DISTINCT_ORDERED_ID(pid_t, SessionID);
|
|
|
|
TYPEDEF_DISTINCT_ORDERED_ID(pid_t, ProcessGroupID);
|
|
|
|
|
2021-08-28 23:11:16 +03:00
|
|
|
TYPEDEF_DISTINCT_ORDERED_ID(uid_t, UserID);
|
|
|
|
TYPEDEF_DISTINCT_ORDERED_ID(gid_t, GroupID);
|
|
|
|
|
2020-02-16 03:50:16 +03:00
|
|
|
}
|