1*50f8c1b1SMasahiro Yamada #ifndef __STDIO_H 2*50f8c1b1SMasahiro Yamada #define __STDIO_H 3*50f8c1b1SMasahiro Yamada 4*50f8c1b1SMasahiro Yamada #include <stdarg.h> 5*50f8c1b1SMasahiro Yamada #include <linux/compiler.h> 6*50f8c1b1SMasahiro Yamada 7*50f8c1b1SMasahiro Yamada /* stdin */ 8*50f8c1b1SMasahiro Yamada int getc(void); 9*50f8c1b1SMasahiro Yamada int tstc(void); 10*50f8c1b1SMasahiro Yamada 11*50f8c1b1SMasahiro Yamada /* stdout */ 12*50f8c1b1SMasahiro Yamada #if !defined(CONFIG_SPL_BUILD) || \ 13*50f8c1b1SMasahiro Yamada (defined(CONFIG_TPL_BUILD) && defined(CONFIG_TPL_SERIAL_SUPPORT)) || \ 14*50f8c1b1SMasahiro Yamada (defined(CONFIG_SPL_BUILD) && !defined(CONFIG_TPL_BUILD) && \ 15*50f8c1b1SMasahiro Yamada defined(CONFIG_SPL_SERIAL_SUPPORT)) 16*50f8c1b1SMasahiro Yamada void putc(const char c); 17*50f8c1b1SMasahiro Yamada void puts(const char *s); 18*50f8c1b1SMasahiro Yamada int __printf(1, 2) printf(const char *fmt, ...); 19*50f8c1b1SMasahiro Yamada int vprintf(const char *fmt, va_list args); 20*50f8c1b1SMasahiro Yamada #else 21*50f8c1b1SMasahiro Yamada static inline void putc(const char c) 22*50f8c1b1SMasahiro Yamada { 23*50f8c1b1SMasahiro Yamada } 24*50f8c1b1SMasahiro Yamada 25*50f8c1b1SMasahiro Yamada static inline void puts(const char *s) 26*50f8c1b1SMasahiro Yamada { 27*50f8c1b1SMasahiro Yamada } 28*50f8c1b1SMasahiro Yamada 29*50f8c1b1SMasahiro Yamada static inline int __printf(1, 2) printf(const char *fmt, ...) 30*50f8c1b1SMasahiro Yamada { 31*50f8c1b1SMasahiro Yamada return 0; 32*50f8c1b1SMasahiro Yamada } 33*50f8c1b1SMasahiro Yamada 34*50f8c1b1SMasahiro Yamada static inline int vprintf(const char *fmt, va_list args) 35*50f8c1b1SMasahiro Yamada { 36*50f8c1b1SMasahiro Yamada return 0; 37*50f8c1b1SMasahiro Yamada } 38*50f8c1b1SMasahiro Yamada #endif 39*50f8c1b1SMasahiro Yamada 40*50f8c1b1SMasahiro Yamada /* 41*50f8c1b1SMasahiro Yamada * FILE based functions (can only be used AFTER relocation!) 42*50f8c1b1SMasahiro Yamada */ 43*50f8c1b1SMasahiro Yamada #define stdin 0 44*50f8c1b1SMasahiro Yamada #define stdout 1 45*50f8c1b1SMasahiro Yamada #define stderr 2 46*50f8c1b1SMasahiro Yamada #define MAX_FILES 3 47*50f8c1b1SMasahiro Yamada 48*50f8c1b1SMasahiro Yamada /* stderr */ 49*50f8c1b1SMasahiro Yamada #define eputc(c) fputc(stderr, c) 50*50f8c1b1SMasahiro Yamada #define eputs(s) fputs(stderr, s) 51*50f8c1b1SMasahiro Yamada #define eprintf(fmt, args...) fprintf(stderr, fmt, ##args) 52*50f8c1b1SMasahiro Yamada 53*50f8c1b1SMasahiro Yamada int __printf(2, 3) fprintf(int file, const char *fmt, ...); 54*50f8c1b1SMasahiro Yamada void fputs(int file, const char *s); 55*50f8c1b1SMasahiro Yamada void fputc(int file, const char c); 56*50f8c1b1SMasahiro Yamada int ftstc(int file); 57*50f8c1b1SMasahiro Yamada int fgetc(int file); 58*50f8c1b1SMasahiro Yamada 59*50f8c1b1SMasahiro Yamada #endif /* __STDIO_H */ 60