0028d63608
Signed-off-by: Chloe M. <chloe@mensia.org>
49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
/*
|
|
* Copyright (c) 2026, Chloe M.
|
|
* Provided under the BSD-3 clause.
|
|
*
|
|
* Description: Fucks and knots the kernel
|
|
* Author: Chloe M.
|
|
*/
|
|
|
|
#ifndef _KE_KNOT_H_
|
|
#define _KE_KNOT_H_ 1
|
|
|
|
#include <stdef.h>
|
|
|
|
/*
|
|
* Valid knot reasons
|
|
*
|
|
* @KNOT_MISC: Misc. reason
|
|
* @KNOT_UNBOUND_RSRC: Unbounded resource
|
|
* @KNOT_BAD_BOOT_PROTO: Bad boot protocol
|
|
* @KNOT_OOM: Fatal out of memory
|
|
* @KNOT_EXCEPTION: Fatal exception
|
|
* @KNOT_IRQL_NOT_LTE: IRQL not less than or equal
|
|
* @KNOT_IRQL_NOT_GTE: IRQL not greater than or equal
|
|
* @KNOT_BAD_CHECKSUM: Fatal bad checksum value
|
|
* @KNOT_MISSING_HARDWARE: Missing hardware
|
|
*/
|
|
typedef enum {
|
|
KNOT_MISC,
|
|
KNOT_UNBOUND_RSRC,
|
|
KNOT_BAD_BOOT_PROTO,
|
|
KNOT_OOM,
|
|
KNOT_EXCEPTION,
|
|
KNOT_IRQL_NOT_LTE,
|
|
KNOT_IRQL_NOT_GTE,
|
|
KNOT_BAD_CHECKSUM,
|
|
KNOT_MISSING_HARDWARE
|
|
} KNOT_REASON;
|
|
|
|
/*
|
|
* Fuck and knot the kernel if it is misbehaving
|
|
*
|
|
* @Reason: Reason of knotting
|
|
* @Fmt: Format string
|
|
* @<...>: Variadic arguments
|
|
*/
|
|
VOID KeKnot(KNOT_REASON Reason, const char *Fmt, ...);
|
|
|
|
#endif /* !_KE_KNOT_H_ */
|