X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=common%2Fconsole.c;h=1deca3cb78f81fabfdd541814775709c7ba49b07;hb=2fa581ba910368d0f7f995fb906d6c5e4218b594;hp=89b1e9590cad7b9695b1a0322d3b81574a45c26c;hpb=60f38d82c45fef55ac04ee52b234e6dd07e31935;p=oweals%2Fu-boot.git diff --git a/common/console.c b/common/console.c index 89b1e9590c..1deca3cb78 100644 --- a/common/console.c +++ b/common/console.c @@ -19,6 +19,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -252,10 +253,12 @@ static void console_puts(int file, const char *s) } } +#if CONFIG_IS_ENABLED(SYS_CONSOLE_IS_IN_ENV) static inline void console_doenv(int file, struct stdio_dev *dev) { iomux_doenv(file, dev->name); } +#endif #else static inline int console_getc(int file) { @@ -283,10 +286,12 @@ static inline void console_puts(int file, const char *s) stdio_devices[file]->puts(stdio_devices[file], s); } +#if CONFIG_IS_ENABLED(SYS_CONSOLE_IS_IN_ENV) static inline void console_doenv(int file, struct stdio_dev *dev) { console_setfile(file, dev); } +#endif #endif /* CONIFIG_IS_ENABLED(CONSOLE_MUX) */ /** U-Boot INITIAL CONSOLE-NOT COMPATIBLE FUNCTIONS *************************/ @@ -397,7 +402,7 @@ int getc(void) if (gd->console_in.start) { int ch; - ch = membuff_getbyte(&gd->console_in); + ch = membuff_getbyte((struct membuff *)&gd->console_in); if (ch != -1) return 1; } @@ -422,7 +427,7 @@ int tstc(void) return 0; #ifdef CONFIG_CONSOLE_RECORD if (gd->console_in.start) { - if (membuff_peekbyte(&gd->console_in) != -1) + if (membuff_peekbyte((struct membuff *)&gd->console_in) != -1) return 1; } #endif @@ -514,7 +519,7 @@ void putc(const char c) return; #ifdef CONFIG_CONSOLE_RECORD if ((gd->flags & GD_FLG_RECORD) && gd->console_out.start) - membuff_putbyte(&gd->console_out, c); + membuff_putbyte((struct membuff *)&gd->console_out, c); #endif #ifdef CONFIG_SILENT_CONSOLE if (gd->flags & GD_FLG_SILENT) { @@ -565,7 +570,7 @@ void puts(const char *s) return; #ifdef CONFIG_CONSOLE_RECORD if ((gd->flags & GD_FLG_RECORD) && gd->console_out.start) - membuff_put(&gd->console_out, s, strlen(s)); + membuff_put((struct membuff *)&gd->console_out, s, strlen(s)); #endif #ifdef CONFIG_SILENT_CONSOLE if (gd->flags & GD_FLG_SILENT) { @@ -598,18 +603,20 @@ int console_record_init(void) { int ret; - ret = membuff_new(&gd->console_out, CONFIG_CONSOLE_RECORD_OUT_SIZE); + ret = membuff_new((struct membuff *)&gd->console_out, + CONFIG_CONSOLE_RECORD_OUT_SIZE); if (ret) return ret; - ret = membuff_new(&gd->console_in, CONFIG_CONSOLE_RECORD_IN_SIZE); + ret = membuff_new((struct membuff *)&gd->console_in, + CONFIG_CONSOLE_RECORD_IN_SIZE); return ret; } void console_record_reset(void) { - membuff_purge(&gd->console_out); - membuff_purge(&gd->console_in); + membuff_purge((struct membuff *)&gd->console_out); + membuff_purge((struct membuff *)&gd->console_in); } void console_record_reset_enable(void) @@ -617,6 +624,18 @@ void console_record_reset_enable(void) console_record_reset(); gd->flags |= GD_FLG_RECORD; } + +int console_record_readline(char *str, int maxlen) +{ + return membuff_readline((struct membuff *)&gd->console_out, str, + maxlen, ' '); +} + +int console_record_avail(void) +{ + return membuff_avail((struct membuff *)&gd->console_out); +} + #endif /* test if ctrl-c was pressed */