forked from mirrors/linux
		
	Again, instead of magic constants in the code, declare an enum and be a little bit more explicit. Both in the translations definition and in the loops etc. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Link: https://lore.kernel.org/r/20220607104946.18710-17-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			62 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__ */
 |