Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / include / ipxe / ansicol.h
1 #ifndef _IPXE_ANSICOL_H
2 #define _IPXE_ANSICOL_H
3
4 /** @file
5  *
6  * ANSI colours
7  *
8  */
9
10 FILE_LICENCE ( GPL2_OR_LATER );
11
12 #include <stdint.h>
13 #include <curses.h> /* For COLOR_RED etc. */
14
15 /** Default colour (usually white foreground, black background) */
16 #define COLOUR_DEFAULT 9
17 #define COLOR_DEFAULT COLOUR_DEFAULT
18
19 /** Magic colour
20  *
21  * The magic basic colour is automatically remapped to the colour
22  * stored in @c ansicol_magic.  This is used to allow the UI
23  * background to automatically become transparent when a background
24  * picture is used.
25  */
26 #define ANSICOL_MAGIC 15
27
28 /** RGB value for "not defined" */
29 #define ANSICOL_NO_RGB 0x01000000
30
31 /**
32  * @defgroup ansicolpairs ANSI colour pairs
33  * @{
34  */
35
36 /** Default colour pair */
37 #define CPAIR_DEFAULT 0
38
39 /** Normal text */
40 #define CPAIR_NORMAL 1
41
42 /** Highlighted text */
43 #define CPAIR_SELECT 2
44
45 /** Unselectable text (e.g. continuation ellipses, menu separators) */
46 #define CPAIR_SEPARATOR 3
47
48 /** Editable text */
49 #define CPAIR_EDIT 4
50
51 /** Error text */
52 #define CPAIR_ALERT 5
53
54 /** URL text */
55 #define CPAIR_URL 6
56
57 /** PXE selected menu entry */
58 #define CPAIR_PXE 7
59
60 /** @} */
61
62 /** An ANSI colour pair definition */
63 struct ansicol_pair {
64         /** Foreground colour index */
65         uint8_t foreground;
66         /** Background colour index */
67         uint8_t background;
68 } __attribute__ (( packed ));
69
70 /* ansicol.c */
71 extern void ansicol_set_pair ( unsigned int cpair );
72 extern int ansicol_define_pair ( unsigned int cpair, unsigned int foreground,
73                                  unsigned int background );
74
75 /* ansicoldef.c */
76 extern int ansicol_define ( unsigned int colour, unsigned int ansi,
77                             uint32_t rgb );
78 extern void ansicol_reset_magic ( void );
79 extern void ansicol_set_magic_transparent ( void );
80
81 /* Function provided by ansicol.c but overridden by ansicoldef.c, if present */
82 extern void ansicol_set ( unsigned int colour, unsigned int which );
83
84 #endif /* _IPXE_ANSICOL_H */