Very Simple Kernel 0.1.0
Loading...
Searching...
No Matches
vsk_Assert.h
Go to the documentation of this file.
1/**
2 * @file
3 */
4#ifndef VSK_ASSERT_H
5#define VSK_ASSERT_H
6/**
7 * @ingroup vsk
8 * @defgroup vsk_Assert vsk_Assert
9 * @{
10 */
11
12/**
13 * @brief Assert
14 */
15typedef struct vsk_Assert vsk_Assert_t;
16
17#include <stdbool.h>
18
19/**
20 * @brief On fail callback
21 */
22typedef void (*vsk_Assert_OnFail_t)(void);
23
24/**
25 * @brief Assert
26 */
27struct vsk_Assert {
28 vsk_Assert_OnFail_t onFail; /**< On fail callback */
29};
30
31/**
32 * @brief Assert instance
33 */
35
36/**
37 * @brief Initializes the assert instance
38 *
39 * @param self Assert instance
40 * @param onFail On fail callback
41 * @return InitializedAssert instance
42 */
44 vsk_Assert_t * const self, vsk_Assert_OnFail_t const onFail
45);
46
47/**
48 * @brief Asserts that a condition is true
49 *
50 * @param self Assert instance
51 * @param condition Condition to assert
52 */
53void vsk_Assert_true(vsk_Assert_t * const self, bool const condition);
54
55/**
56 * @brief Fails the assert
57 *
58 * @param self Assert instance
59 */
60void vsk_Assert_fail(vsk_Assert_t * const self);
61
62/** @} */
63#endif // VSK_ASSERT_H
void vsk_Assert_fail(vsk_Assert_t *const self)
Fails the assert.
Definition vsk_Assert.c:18
void vsk_Assert_true(vsk_Assert_t *const self, bool const condition)
Asserts that a condition is true.
Definition vsk_Assert.c:12
void(* vsk_Assert_OnFail_t)(void)
On fail callback.
Definition vsk_Assert.h:22
vsk_Assert_t * vsk_Assert_init(vsk_Assert_t *const self, vsk_Assert_OnFail_t const onFail)
Initializes the assert instance.
Definition vsk_Assert.c:5
vsk_Assert_t vsk_Assert
Assert instance.
Definition vsk_Assert.c:3
Assert.
Definition vsk_Assert.h:27
vsk_Assert_OnFail_t onFail
Definition vsk_Assert.h:28