63 строки
1.3 KiB
C
63 строки
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__ */
|