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 10enum 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 22struct vc_data; 23 24#ifdef CONFIG_CONSOLE_TRANSLATIONS 25u16 inverse_translate(const struct vc_data *conp, u16 glyph, bool use_unicode); 26unsigned short *set_translate(enum translation_map m, struct vc_data *vc); 27int conv_uni_to_pc(struct vc_data *conp, long ucs); 28u32 conv_8bit_to_uni(unsigned char c); 29int conv_uni_to_8bit(u32 uni); 30void console_map_init(void); 31#else 32static inline u16 inverse_translate(const struct vc_data *conp, u16 glyph, 33 bool use_unicode) 34{ 35 return glyph; 36} 37 38static inline unsigned short *set_translate(enum translation_map m, 39 struct vc_data *vc) 40{ 41 return NULL; 42} 43 44static inline int conv_uni_to_pc(struct vc_data *conp, long ucs) 45{ 46 return ucs > 0xff ? -1 : ucs; 47} 48 49static inline u32 conv_8bit_to_uni(unsigned char c) 50{ 51 return c; 52} 53 54static inline int conv_uni_to_8bit(u32 uni) 55{ 56 return uni & 0xff; 57} 58 59static inline void console_map_init(void) { } 60#endif /* CONFIG_CONSOLE_TRANSLATIONS */ 61 62#endif /* __LINUX_CONSOLEMAP_H__ */ 63