reactos/sdk/lib
George Bișoc 99fab7b905
[SDK][CMLIB] Declare some BootType and BootRecover identifiers & Miscellaneous Stuff
=== DOCUMENTATION REMARKS ===

HBOOT_TYPE_REGULAR and HBOOT_TYPE_SELF_HEAL are boot type values set up by the CMLIB library (for the BootType field respectively). HBOOT_TYPE_REGULAR indicates a normal system boot whereas HBOOT_TYPE_SELF_HEAL indicates the system boot is assisted within self healing mode.

Whether the former or the latter value is set it's governed by both the kernel and the bootloader. The bootloader and the kernel negotiate together to determine if any of the registry properties (the hive, the base block, the registry base, etc) are so severed from corruption or not. In extreme cases where
registry healing is possible, the specific base block of the damaged hive will have its flags marked with HBOOT_TYPE_SELF_HEAL. At this point the boot phase procedure is orchestrated since the boot phase no longer goes on the default path but it's assisted, as I have already said above.

HBOOT_NO_BOOT_RECOVER, HBOOT_BOOT_RECOVERED_BY_HIVE_LOG and HBOOT_BOOT_RECOVERED_BY_ALTERNATE_HIVE on the other hand are identifiers for the BootRecover field of the BASE_BLOCK header structure. These are used exclusively by FreeLdr to tell the kernel if the bootloader recovered the SYSTEM hive or not. In case where the bootloader did recover the SYSTEM hive,
the kernel will perform a flush request on the dirty data down to disk. The (almost) worse case FreeLdr could not repair the main hive by applying log data, it will load the alternate mirror version of the hive.

In addition to that, declare other miscellaneous CMLIB identifiers for log transaction writes purposes.
2023-11-19 20:44:23 +01:00
..
3rdparty [ZLIB] Update to v1.2.13. CORE-18752 2023-02-02 02:18:39 +03:00
atl [CRT][MSVCRT] Implement _CrtDbgReport(W)V and redefine _CrtDbgReport(W) around those (#5678) 2023-11-14 12:23:51 +01:00
cmlib [SDK][CMLIB] Declare some BootType and BootRecover identifiers & Miscellaneous Stuff 2023-11-19 20:44:23 +01:00
comsupp [COMSUPP] Relicense as BSD. 2022-03-15 22:54:17 -04:00
conutils [CONUTILS:PAGER][MORE] Implement text line caching + fix some bugs. 2021-06-28 21:26:32 +02:00
cportlib [CPORTLIB] Remove any usage of debug.h since this lib implements the support for said debugging output. 2022-01-11 22:45:14 +01:00
cpprt [CPPRT][CRT][MSVCRT] Move __CxxFrameHandler3 to crt and export it on NT6 2023-08-23 20:43:53 +03:00
crt [CRT] dbgrpt.cpp: Fix buffer sizes in the *nprintf functions (#5678) 2023-11-14 12:24:00 +01:00
cryptlib [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
debugsup [REACTOS] *.spec: Fix some function/parameter types (#3154) 2020-09-20 19:21:11 +02:00
delayimp
dmilib [DMILIB][UDMIHELP] Favor pragma once (#5472) 2023-07-23 22:52:07 +02:00
dnslib [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
drivers [BDASUP][KMIXER][MMIXER][STREAM] Replace meaningless YDEBUG (#5818) 2023-10-31 12:04:24 +00:00
dxguid [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
epsapi [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
evtlib
fast486 [REACTOS] Fix misc 64 bit issues (#783) 2019-01-05 10:50:11 +01:00
fslib [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.8 (#4417) 2022-05-03 17:30:11 +02:00
gcc_ssp [CMAKE] Fix GCC -fstack-protector usage 2021-01-05 13:38:57 +01:00
inflib [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
ioevent
lsalib [CMAKE] Replace custom functions to built-in ones 2020-04-16 15:59:38 +03:00
nt [SDK:NT] Remove Win32-isms. 2019-09-19 02:39:59 +02:00
pseh [PSEH] Change return type of filter function prototype to avoid broken return from inside it. 2023-04-14 11:56:08 +03:00
rossym [NTOS:KD][NTOS:KD64][NTOS:KDBG] Fix IRQL & spinlock use 2021-06-29 11:49:20 +02:00
rossym_new [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
rtl [NTDLL:LDR] Little fixes about SAL annotation and behavior (#5793) 2023-11-15 20:59:32 +01:00
runtmchk [REACTOS] Finally get some ARM64 applications building (#4517) 2022-05-25 17:06:32 +03:00
scrnsave [SDK:SCRNSAVE] Implement mouse move threshold. 2023-03-08 20:19:19 +01:00
skiplist [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
smlib [SMSS] Improve comments/code/some DPRINTs. Reorganize smss.h header. 2022-11-14 00:10:35 +01:00
strmiids
tdilib [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
tzlib [TZLIB] QueryTimeZoneData(): Don't fail if the optional values "Display", "Std", "Dlt" are missing (or too long to be captured). However fail if the timezone information is missing. 2020-04-22 00:58:32 +02:00
udmihelp [DMILIB][UDMIHELP] Favor pragma once (#5472) 2023-07-23 22:52:07 +02:00
uuid [PSDK][UUID] Import natupnp.idl from Wine Staging 4.18. CORE-16441 2019-10-20 20:01:58 +01:00
wdmguid
CMakeLists.txt [FREELDR][NTOS][HALPPC][SDK] Remove PowerPC code 2021-08-15 15:35:51 +03:00