aboutsummaryrefslogtreecommitdiff
path: root/chatty.h
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-12-07 19:17:33 +0100
committerRaymaekers Luca <luca@spacehb.net>2025-01-07 18:51:21 +0100
commit0574f5a7c5159a2ae1d7d2182cec982509947db9 (patch)
tree2a9678fd39bcf8ead03c7ee979caf668f2f17892 /chatty.h
parent4aec2e1331650cabb966bbf24ed83f76cbbe9912 (diff)
checkpoint
Diffstat (limited to 'chatty.h')
-rw-r--r--chatty.h73
1 files changed, 6 insertions, 67 deletions
diff --git a/chatty.h b/chatty.h
index 0833299..5891b94 100644
--- a/chatty.h
+++ b/chatty.h
@@ -34,53 +34,18 @@
#define global_variable
#define internal static
-typedef uint8_t u8;
-typedef uint16_t u16;
-typedef uint32_t u32;
-typedef uint64_t u64;
-typedef int8_t s8;
-typedef int16_t s16;
-typedef int32_t s32;
-typedef int64_t s64;
-typedef enum {
- False = 0,
- True = 1
-} Bool;
+#include "types.h"
-// Arena Allocator
-typedef struct {
- void* addr;
- u64 size;
- u64 pos;
-} Arena;
-#define PushArray(arena, type, count) (type*)ArenaPush((arena), sizeof(type) * (count))
-#define PushArrayZero(arena, type, count) (type*)ArenaPushZero((arena), sizeof(type) * (count))
-#define PushStruct(arena, type) PushArray((arena), (type), 1)
-#define PushStructZero(arena, type) PushArrayZero((arena), (type), 1)
-
-u32 wstrlen(u32* str);
-void loggingf(char* format, ...);
-void ArenaAlloc(Arena* arena, u64 size);
-void ArenaRelease(Arena* arena);
-void* ArenaPush(Arena* arena, u64 size);
+void Loggingf(char* format, ...);
#endif // CHATTY_H
#ifdef CHATTY_IMPL
-global_variable s32 logfd;
-
-u32
-wstrlen(u32* str)
-{
- u32 i = 0;
- while (str[i] != 0)
- i++;
- return i;
-}
+global_variable s32 LogFD;
void
-loggingf(char* format, ...)
+LoggingF(char* format, ...)
{
char buf[LOGMESSAGE_MAX];
va_list args;
@@ -96,36 +61,10 @@ loggingf(char* format, ...)
u8 timestamp[LOG_LEN];
struct tm* ltime = localtime((time_t*)&t);
strftime((char*)timestamp, LOG_LEN, LOG_FMT, ltime);
- write(logfd, timestamp, LOG_LEN - 1);
+ write(LogFD, timestamp, LOG_LEN - 1);
- write(logfd, buf, n);
+ write(LogFD, buf, n);
}
-// Returns arena in case of success, or 0 if it failed to alllocate the memory
-void
-ArenaAlloc(Arena* arena, u64 size)
-{
- arena->addr = mmap(0, size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
- assert(arena->addr != MAP_FAILED);
- arena->pos = 0;
- arena->size = size;
-}
-
-void
-ArenaRelease(Arena* arena)
-{
- munmap(arena->addr, arena->size);
-}
-
-void*
-ArenaPush(Arena* arena, u64 size)
-{
- u8* mem;
- mem = (u8*)arena->addr + arena->pos;
- arena->pos += size;
- assert(arena->pos <= arena->size);
- return mem;
-}
-
#endif // CHATTY_IMPL