/* 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 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__ */