summaryrefslogtreecommitdiff
path: root/kc/core/panic.h
blob: 1ace5ba3a134c40b1988e426c287b4515e02b0a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once

#include <stdnoreturn.h>

#define PANIC(reason) panic(__FILE__, __LINE__, reason)

enum panic_reason
{
    GENERAL_PANIC,
    UNHANDLED_FAULT,
    OUT_OF_MEMORY,
    DEAD_END
};

noreturn void panic(const char *file, int line, enum panic_reason reason);
noreturn void halt(void);