#pragma once #include #include #define MIN(a, b) ((a) < (b) ? (a) : (b)) #define MAX(a, b) ((a) < (b) ? (b) : (a)) #define CEILDIV(a, b) (((a) / (b)) + !!((a) % (b))) size_t u8strlen(const char *str); size_t u8strnlen(const char *str, size_t max); size_t u8rawlen(const char *str, size_t max); size_t print_pad(FILE *file, size_t len); size_t print_hex(FILE *file, const void *in, size_t len); size_t print_trunc(FILE *file, const char *str, size_t width); size_t print_left(FILE *file, const char *str, size_t width, size_t padwidth); size_t print_center(FILE *file, const char *str, size_t width, size_t padwidth); size_t print_right(FILE *file, const char *str, size_t width, size_t padwidth);