| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * consolemap.h |
| * |
| * Interface between console.c, selection.c and consolemap.c |
| */ |
| #ifndef __LINUX_CONSOLEMAP_H__ |
| #define __LINUX_CONSOLEMAP_H__ |
| |
| enum translation_map { |
| LAT1_MAP, |
| GRAF_MAP, |
| IBMPC_MAP, |
| USER_MAP, |
| |
| FIRST_MAP = LAT1_MAP, |
| LAST_MAP = USER_MAP, |
| }; |
| |
| #include <linux/types.h> |
| |
| struct vc_data; |
| |
| #ifdef CONFIG_CONSOLE_TRANSLATIONS |
| u16 inverse_translate(const struct vc_data *conp, u16 glyph, bool use_unicode); |
| unsigned short *set_translate(enum translation_map m, struct vc_data *vc); |
| int conv_uni_to_pc(struct vc_data *conp, long ucs); |
| u32 conv_8bit_to_uni(unsigned char c); |
| int conv_uni_to_8bit(u32 uni); |
| void console_map_init(void); |
| #else |
| static inline u16 inverse_translate(const struct vc_data *conp, u16 glyph, |
| bool use_unicode) |
| { |
| return glyph; |
| } |
| |
| static inline unsigned short *set_translate(enum translation_map m, |
| struct vc_data *vc) |
| { |
| return NULL; |
| } |
| |
| static inline int conv_uni_to_pc(struct vc_data *conp, long ucs) |
| { |
| return ucs > 0xff ? -1 : ucs; |
| } |
| |
| static inline u32 conv_8bit_to_uni(unsigned char c) |
| { |
| return c; |
| } |
| |
| static inline int conv_uni_to_8bit(u32 uni) |
| { |
| return uni & 0xff; |
| } |
| |
| static inline void console_map_init(void) { } |
| #endif /* CONFIG_CONSOLE_TRANSLATIONS */ |
| |
| #endif /* __LINUX_CONSOLEMAP_H__ */ |