xref: /rk3399_rockchip-uboot/include/stdio.h (revision c1e72b20c91289718b46e1d52185fbef59878daf)
150f8c1b1SMasahiro Yamada #ifndef __STDIO_H
250f8c1b1SMasahiro Yamada #define __STDIO_H
350f8c1b1SMasahiro Yamada 
450f8c1b1SMasahiro Yamada #include <stdarg.h>
550f8c1b1SMasahiro Yamada #include <linux/compiler.h>
650f8c1b1SMasahiro Yamada 
750f8c1b1SMasahiro Yamada /* stdin */
850f8c1b1SMasahiro Yamada int getc(void);
950f8c1b1SMasahiro Yamada int tstc(void);
1050f8c1b1SMasahiro Yamada 
1150f8c1b1SMasahiro Yamada /* stdout */
1250f8c1b1SMasahiro Yamada #if !defined(CONFIG_SPL_BUILD) || \
1350f8c1b1SMasahiro Yamada 	(defined(CONFIG_TPL_BUILD) && defined(CONFIG_TPL_SERIAL_SUPPORT)) || \
1450f8c1b1SMasahiro Yamada 	(defined(CONFIG_SPL_BUILD) && !defined(CONFIG_TPL_BUILD) && \
1550f8c1b1SMasahiro Yamada 		defined(CONFIG_SPL_SERIAL_SUPPORT))
1650f8c1b1SMasahiro Yamada void putc(const char c);
1750f8c1b1SMasahiro Yamada void puts(const char *s);
18*c1e72b20SJoseph Chen void flushc(void);
1950f8c1b1SMasahiro Yamada int __printf(1, 2) printf(const char *fmt, ...);
2050f8c1b1SMasahiro Yamada int vprintf(const char *fmt, va_list args);
2150f8c1b1SMasahiro Yamada #else
putc(const char c)2250f8c1b1SMasahiro Yamada static inline void putc(const char c)
2350f8c1b1SMasahiro Yamada {
2450f8c1b1SMasahiro Yamada }
2550f8c1b1SMasahiro Yamada 
puts(const char * s)2650f8c1b1SMasahiro Yamada static inline void puts(const char *s)
2750f8c1b1SMasahiro Yamada {
2850f8c1b1SMasahiro Yamada }
2950f8c1b1SMasahiro Yamada 
flushc(void)30*c1e72b20SJoseph Chen static inline void flushc(void)
31*c1e72b20SJoseph Chen {
32*c1e72b20SJoseph Chen }
33*c1e72b20SJoseph Chen 
printf(const char * fmt,...)3450f8c1b1SMasahiro Yamada static inline int __printf(1, 2) printf(const char *fmt, ...)
3550f8c1b1SMasahiro Yamada {
3650f8c1b1SMasahiro Yamada 	return 0;
3750f8c1b1SMasahiro Yamada }
3850f8c1b1SMasahiro Yamada 
vprintf(const char * fmt,va_list args)3950f8c1b1SMasahiro Yamada static inline int vprintf(const char *fmt, va_list args)
4050f8c1b1SMasahiro Yamada {
4150f8c1b1SMasahiro Yamada 	return 0;
4250f8c1b1SMasahiro Yamada }
4350f8c1b1SMasahiro Yamada #endif
4450f8c1b1SMasahiro Yamada 
4550f8c1b1SMasahiro Yamada /*
4650f8c1b1SMasahiro Yamada  * FILE based functions (can only be used AFTER relocation!)
4750f8c1b1SMasahiro Yamada  */
4850f8c1b1SMasahiro Yamada #define stdin		0
4950f8c1b1SMasahiro Yamada #define stdout		1
5050f8c1b1SMasahiro Yamada #define stderr		2
5150f8c1b1SMasahiro Yamada #define MAX_FILES	3
5250f8c1b1SMasahiro Yamada 
5350f8c1b1SMasahiro Yamada /* stderr */
5450f8c1b1SMasahiro Yamada #define eputc(c)		fputc(stderr, c)
5550f8c1b1SMasahiro Yamada #define eputs(s)		fputs(stderr, s)
5650f8c1b1SMasahiro Yamada #define eprintf(fmt, args...)	fprintf(stderr, fmt, ##args)
5750f8c1b1SMasahiro Yamada 
5850f8c1b1SMasahiro Yamada int __printf(2, 3) fprintf(int file, const char *fmt, ...);
5950f8c1b1SMasahiro Yamada void fputs(int file, const char *s);
6050f8c1b1SMasahiro Yamada void fputc(int file, const char c);
6150f8c1b1SMasahiro Yamada int ftstc(int file);
6250f8c1b1SMasahiro Yamada int fgetc(int file);
6350f8c1b1SMasahiro Yamada 
6450f8c1b1SMasahiro Yamada #endif /* __STDIO_H */
65