Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / include / ipxe / lineconsole.h
1 #ifndef _IPXE_LINECONSOLE_H
2 #define _IPXE_LINECONSOLE_H
3
4 /** @file
5  *
6  * Line-based console
7  *
8  */
9
10 FILE_LICENCE ( GPL2_OR_LATER );
11
12 #include <stdint.h>
13 #include <ipxe/ansiesc.h>
14
15 /** A line-based console */
16 struct line_console {
17         /** Data buffer
18          *
19          * Must initially be filled with NULs
20          */
21         char *buffer;
22         /** Current index within buffer */
23         size_t index;
24         /** Length of buffer
25          *
26          * The final character of the buffer will only ever be used as
27          * a potential terminating NUL.
28          */
29         size_t len;
30         /** ANSI escape sequence context */
31         struct ansiesc_context ctx;
32 };
33
34 extern size_t line_putchar ( struct line_console *line, int character );
35
36 #endif /* _IPXE_LINECONSOLE_H */