diff --git a/firmware/libcommon/include/stdio.h b/firmware/libcommon/include/stdio.h new file mode 100644 index 00000000..24bf861c --- /dev/null +++ b/firmware/libcommon/include/stdio.h @@ -0,0 +1,32 @@ +#pragma once +#include +#include + + +#ifndef EOF +#define EOF (-1) +#endif + +struct File; +typedef struct File FILE; + +extern FILE* const stdin; +extern FILE* const stdout; +extern FILE* const stderr; + +signed int vsnprintf(char *pStr, size_t length, const char *pFormat, va_list ap); +signed int snprintf(char *pString, size_t length, const char *pFormat, ...); +signed int vsprintf(char *pString, const char *pFormat, va_list ap); +signed int vfprintf(FILE *pStream, const char *pFormat, va_list ap); +signed int vprintf(const char *pFormat, va_list ap); +signed int fprintf(FILE *pStream, const char *pFormat, ...); +signed int printf(const char *pFormat, ...); +signed int sprintf(char *pStr, const char *pFormat, ...); +signed int puts(const char *pStr); + + +int fputc(int c, FILE *stream); +int fputs(const char *s, FILE *stream); + +#define putc(c, stream) fputc(c, stream) +#define putchar(c) fputc(c, stdout) diff --git a/firmware/libcommon/source/card_emu.c b/firmware/libcommon/source/card_emu.c index 6b61e46e..a1be34cf 100644 --- a/firmware/libcommon/source/card_emu.c +++ b/firmware/libcommon/source/card_emu.c @@ -19,6 +19,7 @@ //#define TRACE_LEVEL 6 +#include #include #include #include diff --git a/firmware/libcommon/source/stdio.c b/firmware/libcommon/source/stdio.c index 4d9d9f35..2183c7fa 100644 --- a/firmware/libcommon/source/stdio.c +++ b/firmware/libcommon/source/stdio.c @@ -59,10 +59,11 @@ //------------------------------------------------------------------------------ // Global Variables //------------------------------------------------------------------------------ +// +FILE* const stdin = NULL; +FILE* const stdout = NULL; +FILE* const stderr = NULL; -// Required for proper compilation. -struct _reent r = {0, (FILE *) 0, (FILE *) 1, (FILE *) 0}; -struct _reent *_impure_ptr = &r; //------------------------------------------------------------------------------ // Local Functions