aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/selection.h
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2018-06-26 23:56:41 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-06-28 21:38:12 +0900
commitd21b0be246bf3bbf569e6e239f56abb529c7154e (patch)
treed3d40eba5bb90d02875e55f49e624e9d3b7a82f9 /include/linux/selection.h
parentvt: preserve unicode values corresponding to screen characters (diff)
downloadwireguard-linux-d21b0be246bf3bbf569e6e239f56abb529c7154e.tar.xz
wireguard-linux-d21b0be246bf3bbf569e6e239f56abb529c7154e.zip
vt: introduce unicode mode for /dev/vcs
Now that the core vt code knows how to preserve unicode values for each displayed character, it is then possible to let user space access it via /dev/vcs*. Unicode characters are presented as 32 bit values in native endianity via the /dev/vcsu* devices, mimicking the simple /dev/vcs* devices. Unicode with attributes (similarly to /dev/vcsa*) is not supported at the moment. Data is available only as long as the console is in UTF-8 mode. ENODATA is returned otherwise. This was tested with the latest development version (to become version 5.7) of BRLTTY. Amongst other things, this allows ⠋⠕⠗ ⠞⠓⠊⠎ ⠃⠗⠁⠊⠇⠇⠑⠀⠞⠑⠭⠞⠀to appear directly on braille displays regardless of the console font being used. Signed-off-by: Nicolas Pitre <nico@linaro.org> Tested-by: Dave Mielke <Dave@mielke.cc> Acked-by: Adam Borowski <kilobyte@angband.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/selection.h')
-rw-r--r--include/linux/selection.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/selection.h b/include/linux/selection.h
index 5b278ce99d8d..2b34df9f1e26 100644
--- a/include/linux/selection.h
+++ b/include/linux/selection.h
@@ -42,4 +42,9 @@ extern u16 vcs_scr_readw(struct vc_data *vc, const u16 *org);
extern void vcs_scr_writew(struct vc_data *vc, u16 val, u16 *org);
extern void vcs_scr_updated(struct vc_data *vc);
+extern int vc_uniscr_check(struct vc_data *vc);
+extern void vc_uniscr_copy_line(struct vc_data *vc, void *dest,
+ unsigned int row, unsigned int col,
+ unsigned int nr);
+
#endif