Parcel/code/inc/utility.h

70 lines
1.9 KiB
C
Raw Normal View History

2023-11-26 18:49:54 +00:00
#ifndef TN_UTIL_TYPES_H
#define TN_UTIL_TYPES_H
typedef signed char i8_t;
typedef signed short i16_t;
typedef signed int i32_t;
typedef signed long i64_t;
typedef unsigned char u8_t;
typedef unsigned short u16_t;
typedef unsigned int u32_t;
typedef unsigned long u64_t;
typedef float f32_t;
typedef double f64_t;
typedef u32_t rune_t;
typedef u8_t bool_t;
#ifdef __TN_OLD_PROCESSOR__
typedef u32_t usz_t;
typedef i32_t isz_t;
#else
typedef u64_t usz_t;
typedef i64_t isz_t;
#endif
#define TRUE (1)
#define FALSE (0)
#define NULL ((void *) 0)
bool_t pac_rune_is_lower_letter (rune_t rune);
bool_t pac_rune_is_upper_letter (rune_t rune);
bool_t pac_rune_is_letter (rune_t rune);
bool_t pac_rune_is_digit (rune_t rune);
bool_t pac_rune_is_blank (rune_t rune);
bool_t pac_rune_is_sign (rune_t rune);
void pac_memory_copy (void *destination, void *source, usz_t length);
void pac_memory_fill (void *region, usz_t len_region, u8_t byte);
void pac_memory_zero (void *region, usz_t len_region);
2023-11-28 20:25:20 +00:00
typedef struct pac_arena
{
usz_t len_allocation;
usz_t offset;
void *allocation;
pac_arena_s *continuation;
} pac_arena_s;
pac_arena_s pac_create_arena (usz_t size);
void pac_delete_arena (pac_arena_s arena);
void pac_free_arena (pac_arena_s *arena);
pac_arena_s * pac_new_arena (usz_t size);
void * pac_arena_alloc (pac_arena_s *arena, usz_t length);
#endif // Include Guard (TN_UTIL_TYPES_H)