/** Current console usage */
int console_usage = CONSOLE_USAGE_STDOUT;
+/** Console width */
+unsigned int console_width = CONSOLE_DEFAULT_WIDTH;
+
+/** Console height */
+unsigned int console_height = CONSOLE_DEFAULT_HEIGHT;
+
/**
* Write a single character to each console device
*
struct console_driver *console;
int rc;
+ /* Reset console width and height */
+ console_set_size ( CONSOLE_DEFAULT_WIDTH, CONSOLE_DEFAULT_HEIGHT );
+
/* Try to configure each console */
for_each_table_entry ( console, CONSOLES ) {
if ( ( console->configure ) &&
unsigned int y, unsigned int x) __nonnull;
static void ansiscr_putc(struct _curses_screen *scr, chtype c) __nonnull;
-unsigned short _COLS = 80;
-unsigned short _LINES = 24;
-
static unsigned int saved_usage;
static void ansiscr_attrs ( struct _curses_screen *scr, attr_t attrs ) {
putchar ( character );
/* Update expected cursor position */
- if ( ++(scr->curs_x) == _COLS ) {
+ if ( ++(scr->curs_x) == COLS ) {
scr->curs_x = 0;
++scr->curs_y;
}
#include <stdint.h>
#include <stdarg.h>
+#include <ipxe/console.h>
/** @file
*
} WINDOW;
extern WINDOW _stdscr;
-extern unsigned short _COLS;
-extern unsigned short _LINES;
#define stdscr ( &_stdscr )
-#define COLS _COLS
-#define LINES _LINES
+#define COLS console_width
+#define LINES console_height
#define MUCURSES_BITS( mask, shift ) (( mask ) << (shift))
#define CPAIR_SHIFT 8
*/
#define CONSOLE_EXPLICIT( console ) ( ( 2 * console + 1 ) != 2 )
+/** Default console width */
+#define CONSOLE_DEFAULT_WIDTH 80
+
+/** Default console height */
+#define CONSOLE_DEFAULT_HEIGHT 25
+
extern int console_usage;
+extern unsigned int console_width;
+extern unsigned int console_height;
/**
* Set console usage
return old_usage;
}
+/**
+ * Set console size
+ *
+ * @v width Width, in characters
+ * @v height Height, in characters
+ */
+static inline __attribute__ (( always_inline )) void
+console_set_size ( unsigned int width, unsigned int height ) {
+ console_width = width;
+ console_height = height;
+}
+
extern int iskey ( void );
extern int getkey ( unsigned long timeout );
extern int console_configure ( struct console_configuration *config );