#ifndef UTIL_H #define UTIL_H #include #include #include #define ERRMSG_START "\x1b[91merror\x1b[97m: " #define ERRMSG_END "\x1b[0m" #ifdef __GNUC__ __attribute__((format(printf, 1, 2), noreturn)) #endif void util_fatal_error(const char *msgfmt, ...); void *util_read_whole_file(const char *filename, size_t *pSize); void util_write_whole_file(const char *filename, const void *data, size_t size); uint32_t util_read_uint32_be(const uint8_t *data); void util_write_uint32_be(uint8_t *data, uint32_t val); #endif