Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4 LT |
2 | /* |
3 | * consolemap.h | |
4 | * | |
5 | * Interface between console.c, selection.c and consolemap.c | |
6 | */ | |
a29ccf6f DW |
7 | #ifndef __LINUX_CONSOLEMAP_H__ |
8 | #define __LINUX_CONSOLEMAP_H__ | |
9 | ||
5a904a93 JS |
10 | enum translation_map { |
11 | LAT1_MAP, | |
12 | GRAF_MAP, | |
13 | IBMPC_MAP, | |
14 | USER_MAP, | |
15 | ||
16 | FIRST_MAP = LAT1_MAP, | |
17 | LAST_MAP = USER_MAP, | |
18 | }; | |
1da177e4 | 19 | |
759448f4 JE |
20 | #include <linux/types.h> |
21 | ||
1da177e4 LT |
22 | struct vc_data; |
23 | ||
f827c754 | 24 | #ifdef CONFIG_CONSOLE_TRANSLATIONS |
d9ebb906 | 25 | u16 inverse_translate(const struct vc_data *conp, u16 glyph, bool use_unicode); |
5a904a93 | 26 | unsigned short *set_translate(enum translation_map m, struct vc_data *vc); |
0b75f796 JS |
27 | int conv_uni_to_pc(struct vc_data *conp, long ucs); |
28 | u32 conv_8bit_to_uni(unsigned char c); | |
29 | int conv_uni_to_8bit(u32 uni); | |
3cb340ec | 30 | void console_map_init(void); |
a29ccf6f | 31 | #else |
d9ebb906 JS |
32 | static inline u16 inverse_translate(const struct vc_data *conp, u16 glyph, |
33 | bool use_unicode) | |
f827c754 JS |
34 | { |
35 | return glyph; | |
36 | } | |
37 | ||
5a904a93 JS |
38 | static inline unsigned short *set_translate(enum translation_map m, |
39 | struct vc_data *vc) | |
f827c754 JS |
40 | { |
41 | return NULL; | |
42 | } | |
43 | ||
44 | static inline int conv_uni_to_pc(struct vc_data *conp, long ucs) | |
45 | { | |
46 | return ucs > 0xff ? -1 : ucs; | |
47 | } | |
48 | ||
49 | static inline u32 conv_8bit_to_uni(unsigned char c) | |
50 | { | |
51 | return c; | |
52 | } | |
53 | ||
54 | static inline int conv_uni_to_8bit(u32 uni) | |
55 | { | |
56 | return uni & 0xff; | |
57 | } | |
58 | ||
59 | static inline void console_map_init(void) { } | |
a29ccf6f DW |
60 | #endif /* CONFIG_CONSOLE_TRANSLATIONS */ |
61 | ||
62 | #endif /* __LINUX_CONSOLEMAP_H__ */ |