1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * consolemap.h 4 * 5 * Interface between console.c, selection.c and consolemap.c 6 */ 7 #ifndef __LINUX_CONSOLEMAP_H__ 8 #define __LINUX_CONSOLEMAP_H__ 9 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 }; 19 20 #include <linux/types.h> 21 22 struct vc_data; 23 24 #ifdef CONFIG_CONSOLE_TRANSLATIONS 25 u16 inverse_translate(const struct vc_data *conp, u16 glyph, bool use_unicode); 26 unsigned short *set_translate(enum translation_map m, struct vc_data *vc); 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); 30 void console_map_init(void); 31 #else 32 static inline u16 inverse_translate(const struct vc_data *conp, u16 glyph, 33 bool use_unicode) 34 { 35 return glyph; 36 } 37 38 static inline unsigned short *set_translate(enum translation_map m, 39 struct vc_data *vc) 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) { } 60 #endif /* CONFIG_CONSOLE_TRANSLATIONS */ 61 62 #endif /* __LINUX_CONSOLEMAP_H__ */ 63
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.