Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux-block.git] / include / linux / consolemap.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
1da177e4
LT
2/*
3 * consolemap.h
4 *
5 * Interface between console.c, selection.c and consolemap.c
6 */
a29ccf6f
DW
7#ifndef __LINUX_CONSOLEMAP_H__
8#define __LINUX_CONSOLEMAP_H__
9
5a904a93
JS
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};
1da177e4 19
759448f4
JE
20#include <linux/types.h>
21
1da177e4
LT
22struct vc_data;
23
f827c754 24#ifdef CONFIG_CONSOLE_TRANSLATIONS
d9ebb906 25u16 inverse_translate(const struct vc_data *conp, u16 glyph, bool use_unicode);
5a904a93 26unsigned short *set_translate(enum translation_map m, struct vc_data *vc);
0b75f796
JS
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);
3cb340ec 30void console_map_init(void);
a29ccf6f 31#else
d9ebb906
JS
32static inline u16 inverse_translate(const struct vc_data *conp, u16 glyph,
33 bool use_unicode)
f827c754
JS
34{
35 return glyph;
36}
37
5a904a93
JS
38static inline unsigned short *set_translate(enum translation_map m,
39 struct vc_data *vc)
f827c754
JS
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) { }
a29ccf6f
DW
60#endif /* CONFIG_CONSOLE_TRANSLATIONS */
61
62#endif /* __LINUX_CONSOLEMAP_H__ */