63 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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__ */
 |