Seregon/ShadPKG

A tool for deriving PKG packet encryption keys for ps4 written in c++

C++/47.3 KB/No license
common/logging/types.h
ShadPKG / common / logging / types.h
1// SPDX-FileCopyrightText: Copyright 2023 Citra Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3 
4#pragma once
5 
6#include "common/shadpkg_types.h"
7 
8namespace Common::Log {
9 
10/// Specifies the severity or level of detail of the log message.
11enum class Level : u8 {
12 Trace, ///< Extremely detailed and repetitive debugging information that is likely to
13 ///< pollute logs.
14 Debug, ///< Less detailed debugging information.
15 Info, ///< Status information from important points during execution.
16 Warning, ///< Minor or potential problems found during execution of a task.
17 Error, ///< Major problems found during execution of a task that prevent it from being
18 ///< completed.
19 Critical, ///< Major problems during execution that threaten the stability of the entire
20 ///< application.
21 
22 Count, ///< Total number of logging levels
23};
24 
25/**
26 * Specifies the sub-system that generated the log message.
27 *
28 * @note If you add a new entry here, also add a corresponding one to `ALL_LOG_CLASSES` in
29 * filter.cpp.
30 */
31enum class Class : u8 {
32 Log, ///< Messages about the log system itself
33 Common, ///< Library routines
34 Common_Filesystem, ///< Filesystem interface library
35 Common_Memory, ///< Memory mapping and management functions
36 Core, ///< LLE emulation core
37 Core_Linker, ///< The module linker
38 Core_Devices, ///< Devices emulation
39 Config, ///< Emulator configuration (including commandline)
40 Debug, ///< Debugging tools
41 Kernel, ///< The HLE implementation of the PS4 kernel.
42 Kernel_Pthread, ///< The pthread implementation of the kernel.
43 Kernel_Fs, ///< The filesystem implementation of the kernel.
44 Kernel_Vmm, ///< The virtual memory implementation of the kernel.
45 Kernel_Event, ///< The event management implementation of the kernel.
46 Kernel_Sce, ///< The sony specific interfaces provided by the kernel.
47 Lib, ///< HLE implementation of system library. Each major library
48 ///< should have its own subclass.
49 Lib_LibC, ///< The LibC implementation.
50 Lib_Kernel, ///< The LibKernel implementation.
51 Lib_Pad, ///< The LibScePad implementation.
52 Lib_GnmDriver, ///< The LibSceGnmDriver implementation.
53 Lib_SystemService, ///< The LibSceSystemService implementation.
54 Lib_UserService, ///< The LibSceUserService implementation.
55 Lib_VideoOut, ///< The LibSceVideoOut implementation.
56 Lib_CommonDlg, ///< The LibSceCommonDialog implementation.
57 Lib_MsgDlg, ///< The LibSceMsgDialog implementation.
58 Lib_AudioOut, ///< The LibSceAudioOut implementation.
59 Lib_AudioIn, ///< The LibSceAudioIn implementation.
60 Lib_Move, ///< The LibSceMove implementation.
61 Lib_Net, ///< The LibSceNet implementation.
62 Lib_NetCtl, ///< The LibSceNetCtl implementation.
63 Lib_SaveData, ///< The LibSceSaveData implementation.
64 Lib_SaveDataDialog, ///< The LibSceSaveDataDialog implementation.
65 Lib_Ssl, ///< The LibSceSsl implementation.
66 Lib_Ssl2, ///< The LibSceSsl2 implementation.
67 Lib_Http, ///< The LibSceHttp implementation.
68 Lib_Http2, ///< The LibSceHttp2 implementation.
69 Lib_SysModule, ///< The LibSceSysModule implementation
70 Lib_NpCommon, ///< The LibSceNpCommon implementation
71 Lib_NpManager, ///< The LibSceNpManager implementation
72 Lib_NpScore, ///< The LibSceNpScore implementation
73 Lib_NpTrophy, ///< The LibSceNpTrophy implementation
74 Lib_NpWebApi, ///< The LibSceWebApi implementation
75 Lib_Screenshot, ///< The LibSceScreenshot implementation
76 Lib_LibCInternal, ///< The LibCInternal implementation.
77 Lib_AppContent, ///< The LibSceAppContent implementation.
78 Lib_Rtc, ///< The LibSceRtc implementation.
79 Lib_DiscMap, ///< The LibSceDiscMap implementation.
80 Lib_Png, ///< The LibScePng implementation.
81 Lib_Jpeg, ///< The LibSceJpeg implementation.
82 Lib_PlayGo, ///< The LibScePlayGo implementation.
83 Lib_PlayGoDialog, ///< The LibScePlayGoDialog implementation.
84 Lib_Random, ///< The libSceRandom implementation.
85 Lib_Usbd, ///< The LibSceUsbd implementation.
86 Lib_Ajm, ///< The LibSceAjm implementation.
87 Lib_ErrorDialog, ///< The LibSceErrorDialog implementation.
88 Lib_ImeDialog, ///< The LibSceImeDialog implementation.
89 Lib_AvPlayer, ///< The LibSceAvPlayer implementation.
90 Lib_Ngs2, ///< The LibSceNgs2 implementation.
91 Lib_Audio3d, ///< The LibSceAudio3d implementation.
92 Lib_Ime, ///< The LibSceIme implementation
93 Lib_GameLiveStreaming, ///< The LibSceGameLiveStreaming implementation
94 Lib_Remoteplay, ///< The LibSceRemotePlay implementation
95 Lib_SharePlay, ///< The LibSceSharePlay implemenation
96 Lib_Fiber, ///< The LibSceFiber implementation.
97 Lib_Vdec2, ///< The LibSceVideodec2 implementation.
98 Lib_Videodec, ///< The LibSceVideodec implementation.
99 Lib_RazorCpu, ///< The LibRazorCpu implementation.
100 Lib_Mouse, ///< The LibSceMouse implementation
101 Lib_WebBrowserDialog, ///< The LibSceWebBrowserDialog implementation
102 Lib_NpParty, ///< The LibSceNpParty implementation
103 Lib_Zlib, ///< The LibSceZlib implementation.
104 Frontend, ///< Emulator UI
105 Render, ///< Video Core
106 Render_Vulkan, ///< Vulkan backend
107 Render_Recompiler, ///< Shader recompiler
108 ImGui, ///< ImGui
109 Loader, ///< ROM loader
110 Input, ///< Input emulation
111 Tty, ///< Debug output from emu
112 Count ///< Total number of logging classes
113};
114 
115} // namespace Common::Log
116