diff options
Diffstat (limited to 'include/rune')
-rw-r--r-- | include/rune/core/abort.h | 29 | ||||
-rw-r--r-- | include/rune/core/alloc.h | 41 | ||||
-rw-r--r-- | include/rune/core/logging.h (renamed from include/rune/logging.h) | 6 | ||||
-rw-r--r-- | include/rune/util/list.h (renamed from include/rune/list.h) | 10 | ||||
-rw-r--r-- | include/rune/util/types.h (renamed from include/rune/types.h) | 6 | ||||
-rw-r--r-- | include/rune/util/util.h (renamed from include/rune/util.h) | 4 |
6 files changed, 83 insertions, 13 deletions
diff --git a/include/rune/core/abort.h b/include/rune/core/abort.h new file mode 100644 index 0000000..60f368e --- /dev/null +++ b/include/rune/core/abort.h @@ -0,0 +1,29 @@ +/* + * Rune Game Engine + * Copyright 2024 Danny Holman <dholman@gymli.org> + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +#ifndef RUNE_ABORT_H +#define RUNE_ABORT_H + +#include <rune/util/types.h> + +RAPI void rune_abort(void); + +#endif diff --git a/include/rune/core/alloc.h b/include/rune/core/alloc.h new file mode 100644 index 0000000..35170d8 --- /dev/null +++ b/include/rune/core/alloc.h @@ -0,0 +1,41 @@ +/* + * Rune Game Engine + * Copyright 2024 Danny Holman <dholman@gymli.org> + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +#ifndef RUNE_ALLOC_H +#define RUNE_ALLOC_H + +#include <rune/util/types.h> +#include <rune/util/list.h> + +struct mem_block { + void *ptr; + size_t sz; + int free; + struct list_head list; +}; + +RAPI void* rune_alloc(size_t sz); +RAPI void* rune_calloc(size_t nmemb, size_t sz); +RAPI void* rune_realloc(void *ptr, size_t sz); +RAPI void rune_free(void *ptr); +RAPI void rune_free_all(void); + +#endif diff --git a/include/rune/logging.h b/include/rune/core/logging.h index 5b9aabf..6bb6470 100644 --- a/include/rune/logging.h +++ b/include/rune/core/logging.h @@ -19,10 +19,10 @@ * 3. This notice may not be removed or altered from any source distribution. */ -#ifndef RUNE_LOGGING_H -#define RUNE_LOGGING_H +#ifndef RUNE_CORE_LOGGING_H +#define RUNE_CORE_LOGGING_H -#include <rune/util.h> +#include <rune/util/types.h> enum log_level { LOG_FATAL, diff --git a/include/rune/list.h b/include/rune/util/list.h index 1107491..ed6db5e 100644 --- a/include/rune/list.h +++ b/include/rune/util/list.h @@ -19,17 +19,17 @@ * 3. This notice may not be removed or altered from any source distribution. */ -#ifndef RUNE_LIST_H -#define RUNE_LIST_H +#ifndef RUNE_UTIL_LIST_H +#define RUNE_UTIL_LIST_H #include <stddef.h> -struct list_head { +RAPI struct list_head { struct list_head *next; struct list_head *prev; }; -static inline void list_add(struct list_head *new, struct list_head *head) { +RAPI static inline void list_add(struct list_head *new, struct list_head *head) { struct list_head *temp = head; while (temp->next != NULL) temp = temp->next; @@ -39,7 +39,7 @@ static inline void list_add(struct list_head *new, struct list_head *head) { new->next = NULL; } -static inline void list_del(struct list_head *item) { +RAPI static inline void list_del(struct list_head *item) { struct list_head *next = item->next; struct list_head *prev = item->prev; if (next != NULL) diff --git a/include/rune/types.h b/include/rune/util/types.h index 03e3edb..ac92ecb 100644 --- a/include/rune/types.h +++ b/include/rune/util/types.h @@ -19,10 +19,10 @@ * 3. This notice may not be removed or altered from any source distribution. */ -#ifndef RUNE_TYPES_H -#define RUNE_TYPES_H +#ifndef RUNE_UTIL_TYPES_H +#define RUNE_UTIL_TYPES_H -#include <rune/util.h> +#include <rune/util/util.h> STATIC_ASSERT(sizeof(uint8_t) == 1, "Expected uint8_t to be 1 byte"); STATIC_ASSERT(sizeof(uint16_t) == 2, "Expected uint16_t to be 2 bytes"); diff --git a/include/rune/util.h b/include/rune/util/util.h index 04429c4..dcf45e4 100644 --- a/include/rune/util.h +++ b/include/rune/util/util.h @@ -19,8 +19,8 @@ * 3. This notice may not be removed or altered from any source distribution. */ -#ifndef RUNE_UTIL_H -#define RUNE_UTIL_H +#ifndef RUNE_UTIL_UTIL_H +#define RUNE_UTIL_UTIL_H #include <assert.h> #include <stdint.h> |