/* io.h * In/Out * * Common library for handling user i/o. Aims to be mechanic agnostic, and instead * focus on implementing generic functions to format and manipulate data. */ #ifndef IO_H #define IO_H #include typedef struct char_writer_s char_writer_t; struct char_writer_s { int (*putChar)(void* ctx, char out); void* ctx; }; int putc(char_writer_t*, char); int print(char_writer_t*, const char*); int println(char_writer_t*, const char*); int printhex(char_writer_t*, uint32_t); int prindec(char_writer_t*, uint32_t out); int printf(char_writer_t*, const char* fmt, ...); #endif