diff options
Diffstat (limited to 'gpxe/src/include/gpxe/ansiesc.h')
-rw-r--r-- | gpxe/src/include/gpxe/ansiesc.h | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/gpxe/src/include/gpxe/ansiesc.h b/gpxe/src/include/gpxe/ansiesc.h deleted file mode 100644 index 85f7a9f3..00000000 --- a/gpxe/src/include/gpxe/ansiesc.h +++ /dev/null @@ -1,120 +0,0 @@ -#ifndef _GPXE_ANSIESC_H -#define _GPXE_ANSIESC_H - -/** @file - * - * ANSI escape sequences - * - * ANSI X3.64 (aka ECMA-48 or ISO/IEC 6429, available from - * http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf) - * defines escape sequences consisting of: - * - * A Control Sequence Introducer (CSI) - * - * Zero or more Parameter Bytes (P) - * - * Zero or more Intermediate Bytes (I) - * - * A Final Byte (F) - * - * The CSI consists of ESC (0x1b) followed by "[" (0x5b). The - * Parameter Bytes, for a standardised (i.e. not private or - * experimental) sequence, consist of a list of ASCII decimal integers - * separated by semicolons. The Intermediate Bytes (in the range 0x20 - * to 0x2f) and the Final Byte (in the range 0x40 to 0x4f) determine - * the control function. - * - */ - -FILE_LICENCE ( GPL2_OR_LATER ); - -/** A handler for an escape sequence */ -struct ansiesc_handler { - /** The control function identifier - * - * The control function identifier consists of the - * Intermediate Bytes (if any) and the Final Byte. In - * practice, no more than one immediate byte is ever used, so - * the byte combination can be efficiently expressed as a - * single integer, in the obvious way (with the Final Byte - * being the least significant byte). - */ - unsigned int function; - /** Handle escape sequence - * - * @v count Parameter count - * @v params Parameter list - * - * A negative parameter value indicates that the parameter was - * omitted and that the default value for this control - * function should be used. - * - * Since all parameters are optional, there is no way to - * distinguish between "zero parameters" and "single parameter - * omitted". Consequently, the parameter list will always - * contain at least one item. - */ - void ( * handle ) ( unsigned int count, int params[] ); -}; - -/** Maximum number of parameters within a single escape sequence */ -#define ANSIESC_MAX_PARAMS 4 - -/** - * ANSI escape sequence context - * - * This provides temporary storage for processing escape sequences, - * and points to the list of escape sequence handlers. - */ -struct ansiesc_context { - /** Array of handlers - * - * Must be terminated by a handler with @c function set to - * zero. - */ - struct ansiesc_handler *handlers; - /** Parameter count - * - * Will be zero when not currently in an escape sequence. - */ - unsigned int count; - /** Parameter list */ - int params[ANSIESC_MAX_PARAMS]; - /** Control function identifier */ - unsigned int function; -}; - -/** Escape character */ -#define ESC 0x1b - -/** Control Sequence Introducer */ -#define CSI "\033[" - -/** - * @defgroup ansifuncs ANSI escape sequence function identifiers - * @{ - */ - -/** Cursor position */ -#define ANSIESC_CUP 'H' - -/** Erase in page */ -#define ANSIESC_ED 'J' - -/** Erase from cursor to end of page */ -#define ANSIESC_ED_TO_END 0 - -/** Erase from start of page to cursor */ -#define ANSIESC_ED_FROM_START 1 - -/** Erase whole page */ -#define ANSIESC_ED_ALL 2 - -/** Select graphic rendition */ -#define ANSIESC_SGR 'm' - -/** @} */ - -extern int ansiesc_process ( struct ansiesc_context *ctx, int c ); - -#endif /* _GPXE_ANSIESC_H */ |