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