| .\" Copyright (c) 1995 Jim Van Zandt <jrv@vanzandt.mv.com> and aeb |
| .\" Sun Feb 26 11:46:23 MET 1995 |
| .\" |
| .\" This is free documentation; you can redistribute it and/or |
| .\" modify it under the terms of the GNU General Public License as |
| .\" published by the Free Software Foundation; either version 2 of |
| .\" the License, or (at your option) any later version. |
| .\" |
| .\" The GNU General Public License's references to "object code" |
| .\" and "executables" are to be interpreted as the output of any |
| .\" document formatting or typesetting system, including |
| .\" intermediate and printed output. |
| .\" |
| .\" This manual is distributed in the hope that it will be useful, |
| .\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| .\" GNU General Public License for more details. |
| .\" |
| .\" You should have received a copy of the GNU General Public |
| .\" License along with this manual; if not, write to the Free |
| .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, |
| .\" USA. |
| .\" |
| .\" Modified, Sun Feb 26 15:04:20 1995, faith@cs.unc.edu |
| .\" Modified, Thu Apr 20 22:08:17 1995, jrv@vanzandt.mv.com |
| .\" Modified, Mon Sep 18 22:32:47 1995, hpa@storm.net (H. Peter Anvin) |
| .\" FIXME The following are not documented: |
| .\" KDFONTOP (since 2.1.111) |
| .\" KDGKBDIACRUC (since 2.6.24) |
| .\" KDSKBDIACR |
| .\" KDSKBDIACRUC (since 2.6.24) |
| .\" KDKBDREP (since 2.1.113) |
| .\" KDMAPDISP (not implemented as at 2.6.27) |
| .\" KDUNMAPDISP (not implemented as at 2.6.27) |
| .\" VT_LOCKSWITCH (since 1.3.47, needs CAP_SYS_TTY_CONFIG) |
| .\" VT_UNLOCKSWITCH (since 1.3.47, needs CAP_SYS_TTY_CONFIG) |
| .\" VT_GETHIFONTMASK (since 2.6.18) |
| .\" |
| .TH CONSOLE_IOCTL 4 2009-02-28 "Linux" "Linux Programmer's Manual" |
| .SH NAME |
| console_ioctl \- ioctl's for console terminal and virtual consoles |
| .SH DESCRIPTION |
| The following Linux-specific |
| .BR ioctl (2) |
| requests are supported. |
| Each requires a third argument, assumed here to be \fIargp\fP. |
| .IP \fBKDGETLED\fP |
| Get state of LEDs. |
| \fIargp\fP points to a \fIchar\fP. |
| The lower three bits |
| of \fI*argp\fP are set to the state of the LEDs, as follows: |
| |
| LED_CAP 0x04 caps lock led |
| LEC_NUM 0x02 num lock led |
| LED_SCR 0x01 scroll lock led |
| .IP \fBKDSETLED\fP |
| Set the LEDs. |
| The LEDs are set to correspond to the lower three bits of |
| \fIargp\fP. |
| However, if a higher order bit is set, |
| the LEDs revert to normal: displaying the state of the |
| keyboard functions of caps lock, num lock, and scroll lock. |
| .LP |
| Before 1.1.54, the LEDs just reflected the state of the corresponding |
| keyboard flags, and KDGETLED/KDSETLED would also change the keyboard |
| flags. |
| Since 1.1.54 the leds can be made to display arbitrary |
| information, but by default they display the keyboard flags. |
| The following two ioctl's are used to access the keyboard flags. |
| .IP \fBKDGKBLED\fP |
| Get keyboard flags CapsLock, NumLock, ScrollLock (not lights). |
| \fIargp\fP points to a char which is set to the flag state. |
| The low order three bits (mask 0x7) get the current flag state, |
| and the low order bits of the next nibble (mask 0x70) get |
| the default flag state. |
| (Since 1.1.54.) |
| .IP \fBKDSKBLED\fP |
| Set keyboard flags CapsLock, NumLock, ScrollLock (not lights). |
| \fIargp\fP has the desired flag state. |
| The low order three bits (mask 0x7) have the flag state, |
| and the low order bits of the next nibble (mask 0x70) have |
| the default flag state. |
| (Since 1.1.54.) |
| .IP \fBKDGKBTYPE\fP |
| Get keyboard type. |
| This returns the value KB_101, defined as 0x02. |
| .IP \fBKDADDIO\fP |
| Add I/O port as valid. |
| Equivalent to \fIioperm(arg,1,1)\fP. |
| .IP \fBKDDELIO\fP |
| Delete I/O port as valid. |
| Equivalent to \fIioperm(arg,1,0)\fP. |
| .IP \fBKDENABIO\fP |
| Enable I/O to video board. |
| Equivalent to \fIioperm(0x3b4, 0x3df-0x3b4+1, 1)\fP. |
| .IP \fBKDDISABIO\fP |
| Disable I/O to video board. |
| Equivalent to \fIioperm(0x3b4, 0x3df-0x3b4+1, 0)\fP. |
| .IP \fBKDSETMODE\fP |
| Set text/graphics mode. |
| \fIargp\fP is one of these: |
| |
| KD_TEXT 0x00 |
| KD_GRAPHICS 0x01 |
| .IP \fBKDGETMODE\fP |
| Get text/graphics mode. |
| \fIargp\fP points to a \fIlong\fP which is set to one |
| of the above values. |
| .IP \fBKDMKTONE\fP |
| Generate tone of specified length. |
| The lower 16 bits of \fIargp\fP specify the period in clock cycles, |
| and the upper 16 bits give the duration in msec. |
| If the duration is zero, the sound is turned off. |
| Control returns immediately. |
| For example, \fIargp\fP = (125<<16) + 0x637 would specify |
| the beep normally associated with a ctrl-G. |
| (Thus since 0.99pl1; broken in 2.1.49-50.) |
| .IP \fBKIOCSOUND\fP |
| Start or stop sound generation. |
| The lower 16 bits of |
| \fIargp\fP specify the period in clock cycles |
| (that is, \fIargp\fP = 1193180/frequency). |
| \fIargp\fP = 0 turns sound off. |
| In either case, control returns immediately. |
| .IP \fBGIO_CMAP\fP |
| Get the current default color map from kernel. |
| \fIargp\fP points to |
| a 48-byte array. |
| (Since 1.3.3.) |
| .IP \fBPIO_CMAP\fP |
| Change the default text-mode color map. |
| \fIargp\fP points to a |
| 48-byte array which contains, in order, the Red, Green, and Blue |
| values for the 16 available screen colors: 0 is off, and 255 is full |
| intensity. |
| The default colors are, in order: black, dark red, dark |
| green, brown, dark blue, dark purple, dark cyan, light grey, dark |
| grey, bright red, bright green, yellow, bright blue, bright purple, |
| bright cyan and white. |
| (Since 1.3.3.) |
| .IP \fBGIO_FONT\fP |
| Gets 256-character screen font in expanded form. |
| \fIargp\fP points to an 8192 byte array. |
| Fails with error code \fBEINVAL\fP if the |
| currently loaded font is a 512-character font, or if the console is |
| not in text mode. |
| .IP \fBGIO_FONTX\fP |
| Gets screen font and associated information. |
| \fIargp\fP points to a |
| \fIstruct consolefontdesc\fP (see \fBPIO_FONTX\fP). |
| On call, the |
| \fIcharcount\fP field should be set to the maximum number of |
| characters that would fit in the buffer pointed to by \fIchardata\fP. |
| On return, the \fIcharcount\fP and \fIcharheight\fP are filled with |
| the respective data for the currently loaded font, and the |
| \fIchardata\fP array contains the font data if the initial value of |
| \fIcharcount\fP indicated enough space was available; otherwise the |
| buffer is untouched and \fIerrno\fP is set to \fBENOMEM\fP. |
| (Since 1.3.1.) |
| .IP \fBPIO_FONT\fP |
| Sets 256-character screen font. |
| Load font into the EGA/VGA character |
| generator. |
| \fIargp\fP points to a 8192 byte map, with 32 bytes per |
| character. |
| Only first \fIN\fP of them are used for an 8x\fIN\fP font |
| (0 < \fIN\fP <= 32). |
| This call also invalidates the Unicode mapping. |
| .IP \fBPIO_FONTX\fP |
| Sets screen font and associated rendering information. |
| \fIargp\fP |
| points to a |
| |
| .in +4n |
| .nf |
| struct consolefontdesc { |
| unsigned short charcount; /* characters in font |
| (256 or 512) */ |
| unsigned short charheight; /* scan lines per |
| character (1-32) */ |
| char *chardata; /* font data in |
| expanded form */ |
| }; |
| .fi |
| .in |
| |
| If necessary, the screen will be appropriately resized, and |
| \fBSIGWINCH\fP sent to the appropriate processes. |
| This call also invalidates the Unicode mapping. |
| (Since 1.3.1.) |
| .IP \fBPIO_FONTRESET\fP |
| Resets the screen font, size and Unicode mapping to the bootup |
| defaults. |
| \fIargp\fP is unused, but should be set to NULL to |
| ensure compatibility with future versions of Linux. |
| (Since 1.3.28.) |
| .IP \fBGIO_SCRNMAP\fP |
| Get screen mapping from kernel. |
| \fIargp\fP points to an area of size |
| E_TABSZ, which is loaded with the font positions used to display each |
| character. |
| This call is likely to return useless information if the |
| currently loaded font is more than 256 characters. |
| .IP \fBGIO_UNISCRNMAP\fP |
| Get full Unicode screen mapping from kernel. |
| \fIargp\fP points to an |
| area of size E_TABSZ*sizeof(unsigned short), which is loaded with the |
| Unicodes each character represent. |
| A special set of Unicodes, |
| starting at U+F000, are used to represent "direct to font" mappings. |
| (Since 1.3.1.) |
| .IP \fBPIO_SCRNMAP\fP |
| Loads the "user definable" (fourth) table in the kernel which maps |
| bytes into console screen symbols. |
| \fIargp\fP points to an area of |
| size E_TABSZ. |
| .IP \fBPIO_UNISCRNMAP\fP |
| Loads the "user definable" (fourth) table in the kernel which maps |
| bytes into Unicodes, which are then translated into screen symbols |
| according to the currently loaded Unicode-to-font map. |
| Special Unicodes starting at U+F000 can be used to map directly to the font |
| symbols. |
| (Since 1.3.1.) |
| .IP \fBGIO_UNIMAP\fP |
| Get Unicode-to-font mapping from kernel. |
| \fIargp\fP points to a |
| |
| .in +4n |
| .nf |
| struct unimapdesc { |
| unsigned short entry_ct; |
| struct unipair *entries; |
| }; |
| .fi |
| .in |
| |
| where \fIentries\fP points to an array of |
| |
| .in +4n |
| .nf |
| struct unipair { |
| unsigned short unicode; |
| unsigned short fontpos; |
| }; |
| .fi |
| .in |
| |
| (Since 1.1.92.) |
| .IP \fBPIO_UNIMAP\fP |
| Put unicode-to-font mapping in kernel. |
| \fIargp\fP points to a |
| \fIstruct unimapdesc\fP. |
| (Since 1.1.92) |
| .IP \fBPIO_UNIMAPCLR\fP |
| Clear table, possibly advise hash algorithm. |
| \fIargp\fP points to a |
| |
| .in +4n |
| .nf |
| struct unimapinit { |
| unsigned short advised_hashsize; /* 0 if no opinion */ |
| unsigned short advised_hashstep; /* 0 if no opinion */ |
| unsigned short advised_hashlevel; /* 0 if no opinion */ |
| }; |
| .fi |
| .in |
| |
| (Since 1.1.92.) |
| .IP \fBKDGKBMODE\fP |
| Gets current keyboard mode. |
| \fIargp\fP points to a \fIlong\fP which is set to one |
| of these: |
| |
| K_RAW 0x00 |
| K_XLATE 0x01 |
| K_MEDIUMRAW 0x02 |
| K_UNICODE 0x03 |
| .IP \fBKDSKBMODE\fP |
| Sets current keyboard mode. |
| \fIargp\fP is a \fIlong\fP equal to one of the above values. |
| .IP \fBKDGKBMETA\fP |
| Gets meta key handling mode. |
| \fIargp\fP points to a \fIlong\fP which is |
| set to one of these: |
| |
| K_METABIT 0x03 set high order bit |
| K_ESCPREFIX 0x04 escape prefix |
| .IP \fBKDSKBMETA\fP |
| Sets meta key handling mode. |
| \fIargp\fP is a \fIlong\fP equal to one of the above values. |
| .IP \fBKDGKBENT\fP |
| Gets one entry in key translation table (keycode to action code). |
| \fIargp\fP points to a |
| |
| .in +4n |
| .nf |
| struct kbentry { |
| unsigned char kb_table; |
| unsigned char kb_index; |
| unsigned short kb_value; |
| }; |
| .fi |
| .in |
| |
| with the first two members filled in: |
| \fIkb_table\fP selects the key table (0 <= \fIkb_table\fP < MAX_NR_KEYMAPS), |
| and \fIkb_index\fP is the keycode (0 <= \fIkb_index\fP < NR_KEYS). |
| \fIkb_value\fP is set to the corresponding action code, |
| or K_HOLE if there is no such key, |
| or K_NOSUCHMAP if \fIkb_table\fP is invalid. |
| .IP \fBKDSKBENT\fP |
| Sets one entry in translation table. |
| \fIargp\fP points to |
| a \fIstruct kbentry\fP. |
| .IP \fBKDGKBSENT\fP |
| Gets one function key string. |
| \fIargp\fP points to a |
| |
| .in +4n |
| .nf |
| struct kbsentry { |
| unsigned char kb_func; |
| unsigned char kb_string[512]; |
| }; |
| .fi |
| .in |
| |
| \fIkb_string\fP is set to the (null-terminated) string corresponding to |
| the \fIkb_func\fPth function key action code. |
| .IP \fBKDSKBSENT\fP |
| Sets one function key string entry. |
| \fIargp\fP points to |
| a \fIstruct kbsentry\fP. |
| .IP \fBKDGKBDIACR\fP |
| Read kernel accent table. |
| \fIargp\fP points to a |
| |
| .in +4n |
| .nf |
| struct kbdiacrs { |
| unsigned int kb_cnt; |
| struct kbdiacr kbdiacr[256]; |
| }; |
| .fi |
| .in |
| |
| where \fIkb_cnt\fP is the number of entries in the array, each of which |
| is a |
| |
| .in +4n |
| .nf |
| struct kbdiacr { |
| unsigned char diacr; |
| unsigned char base; |
| unsigned char result; |
| }; |
| .fi |
| .in |
| .IP \fBKDGETKEYCODE\fP |
| Read kernel keycode table entry (scan code to keycode). |
| \fIargp\fP points to a |
| |
| .in +4n |
| .nf |
| struct kbkeycode { |
| unsigned int scancode; |
| unsigned int keycode; |
| }; |
| .fi |
| .in |
| |
| \fIkeycode\fP is set to correspond to the given \fIscancode\fP. |
| (89 <= \fIscancode\fP <= 255 only. |
| For 1 <= \fIscancode\fP <= 88, \fIkeycode\fP==\fIscancode\fP.) |
| (Since 1.1.63.) |
| .IP \fBKDSETKEYCODE\fP |
| Write kernel keycode table entry. |
| \fIargp\fP points to |
| a \fIstruct kbkeycode\fP. |
| (Since 1.1.63.) |
| .IP \fBKDSIGACCEPT\fP |
| The calling process indicates its willingness to accept the signal |
| \fIargp\fP when it is generated by pressing an appropriate key combination. |
| (1 <= \fIargp\fP <= NSIG). |
| (See spawn_console() in linux/drivers/char/keyboard.c.) |
| .IP \fBVT_OPENQRY\fP |
| Returns the first available (non-opened) console. |
| \fIargp\fP points to an \fIint\fP which is set to the |
| number of the vt (1 <= \fI*argp\fP <= MAX_NR_CONSOLES). |
| .IP \fBVT_GETMODE\fP |
| Get mode of active vt. |
| \fIargp\fP points to a |
| |
| .in +4n |
| .nf |
| struct vt_mode { |
| char mode; /* vt mode */ |
| char waitv; /* if set, hang on writes if not active */ |
| short relsig; /* signal to raise on release req */ |
| short acqsig; /* signal to raise on acquisition */ |
| short frsig; /* unused (set to 0) */ |
| }; |
| .fi |
| .in |
| |
| which is set to the mode of the active vt. |
| \fImode\fP is set to one of these values: |
| |
| VT_AUTO auto vt switching |
| VT_PROCESS process controls switching |
| VT_ACKACQ acknowledge switch |
| .IP \fBVT_SETMODE\fP |
| Set mode of active vt. |
| \fIargp\fP points to |
| a \fIstruct vt_mode\fP. |
| .IP \fBVT_GETSTATE\fP |
| Get global vt state info. |
| \fIargp\fP points to a |
| |
| .in +4n |
| .nf |
| struct vt_stat { |
| unsigned short v_active; /* active vt */ |
| unsigned short v_signal; /* signal to send */ |
| unsigned short v_state; /* vt bit mask */ |
| }; |
| .fi |
| .in |
| |
| For each vt in use, the corresponding bit in the \fIv_state\fP member is set. |
| (Kernels 1.0 through 1.1.92.) |
| .IP \fBVT_RELDISP\fP |
| Release a display. |
| .IP \fBVT_ACTIVATE\fP |
| Switch to vt \fIargp\fP (1 <= \fIargp\fP <= MAX_NR_CONSOLES). |
| .IP \fBVT_WAITACTIVE\fP |
| Wait until vt \fIargp\fP has been activated. |
| .IP \fBVT_DISALLOCATE\fP |
| Deallocate the memory associated with vt \fIargp\fP. |
| (Since 1.1.54.) |
| .IP \fBVT_RESIZE\fP |
| Set the kernel's idea of screensize. |
| \fIargp\fP points to a |
| |
| .in +4n |
| .nf |
| struct vt_sizes { |
| unsigned short v_rows; /* # rows */ |
| unsigned short v_cols; /* # columns */ |
| unsigned short v_scrollsize; /* no longer used */ |
| }; |
| .fi |
| .in |
| |
| Note that this does not change the videomode. |
| See |
| .BR resizecons (8). |
| (Since 1.1.54.) |
| .IP \fBVT_RESIZEX\fP |
| Set the kernel's idea of various screen parameters. |
| \fIargp\fP points to a |
| |
| .in +4n |
| .nf |
| struct vt_consize { |
| unsigned short v_rows; /* number of rows */ |
| unsigned short v_cols; /* number of columns */ |
| unsigned short v_vlin; /* number of pixel rows |
| on screen */ |
| unsigned short v_clin; /* number of pixel rows |
| per character */ |
| unsigned short v_vcol; /* number of pixel columns |
| on screen */ |
| unsigned short v_ccol; /* number of pixel columns |
| per character */ |
| }; |
| .fi |
| .in |
| |
| Any parameter may be set to zero, indicating "no change", but if |
| multiple parameters are set, they must be self-consistent. |
| Note that this does not change the videomode. |
| See |
| .BR resizecons (8). |
| (Since 1.3.3.) |
| .PP |
| The action of the following ioctls depends on the first byte in the struct |
| pointed to by \fIargp\fP, referred to here as the \fIsubcode\fP. |
| These are legal only for the superuser or the owner of the current terminal. |
| .IP "\fBTIOCLINUX, subcode=0\fP" |
| Dump the screen. |
| Disappeared in 1.1.92. (With kernel 1.1.92 or later, read from |
| /dev/vcsN or /dev/vcsaN instead.) |
| .IP "\fBTIOCLINUX, subcode=1\fP" |
| Get task information. |
| Disappeared in 1.1.92. |
| .IP "\fBTIOCLINUX, subcode=2\fP" |
| Set selection. |
| \fIargp\fP points to a |
| .in +4n |
| .nf |
| |
| struct { |
| char subcode; |
| short xs, ys, xe, ye; |
| short sel_mode; |
| }; |
| |
| .fi |
| .in |
| \fIxs\fP and \fIys\fP are the starting column and row. |
| \fIxe\fP and \fIye\fP are the ending |
| column and row. |
| (Upper left corner is row=column=1.) |
| \fIsel_mode\fP is 0 for character-by-character selection, |
| 1 for word-by-word selection, |
| or 2 for line-by-line selection. |
| The indicated screen characters are highlighted and saved |
| in the static array sel_buffer in devices/char/console.c. |
| .IP "\fBTIOCLINUX, subcode=3\fP" |
| Paste selection. |
| The characters in the selection buffer are |
| written to \fIfd\fP. |
| .IP "\fBTIOCLINUX, subcode=4\fP" |
| Unblank the screen. |
| .IP "\fBTIOCLINUX, subcode=5\fP" |
| Sets contents of a 256-bit look up table defining characters in a "word", |
| for word-by-word selection. |
| (Since 1.1.32.) |
| .IP "\fBTIOCLINUX, subcode=6\fP" |
| \fIargp\fP points to a char which is set to the value of the kernel |
| variable \fIshift_state\fP. |
| (Since 1.1.32.) |
| .IP "\fBTIOCLINUX, subcode=7\fP" |
| \fIargp\fP points to a char which is set to the value of the kernel |
| variable \fIreport_mouse\fP. |
| (Since 1.1.33.) |
| .IP "\fBTIOCLINUX, subcode=8\fP" |
| Dump screen width and height, cursor position, and all the |
| character-attribute pairs. |
| (Kernels 1.1.67 through 1.1.91 only. |
| With kernel 1.1.92 or later, read from /dev/vcsa* instead.) |
| .IP "\fBTIOCLINUX, subcode=9\fP" |
| Restore screen width and height, cursor position, and all the |
| character-attribute pairs. |
| (Kernels 1.1.67 through 1.1.91 only. |
| With kernel 1.1.92 or later, write to /dev/vcsa* instead.) |
| .IP "\fBTIOCLINUX, subcode=10\fP" |
| Handles the Power Saving |
| feature of the new generation of monitors. |
| VESA screen blanking mode is set to \fIargp\fP[1], which governs what |
| screen blanking does: |
| |
| \fI0\fP: Screen blanking is disabled. |
| |
| \fI1\fP: The current video adapter |
| register settings are saved, then the controller is programmed to turn off |
| the vertical synchronization pulses. |
| This puts the monitor into "standby" mode. |
| If your monitor has an Off_Mode timer, then |
| it will eventually power down by itself. |
| |
| \fI2\fP: The current |
| settings are saved, then both the vertical and horizontal |
| synchronization pulses are turned off. |
| This puts the monitor into "off" mode. |
| If your monitor has no Off_Mode timer, |
| or if you want your monitor to power down immediately when the |
| blank_timer times out, then you choose this option. |
| (\fICaution:\fP Powering down frequently will damage the monitor.) |
| |
| (Since 1.1.76.) |
| .SH "RETURN VALUE" |
| On success, 0 is returned. |
| On error \-1 is returned, and \fIerrno\fP is set. |
| .SH ERRORS |
| \fIerrno\fP may take on these values: |
| .TP |
| .B EBADF |
| The file descriptor is invalid. |
| .TP |
| .B ENOTTY |
| The file descriptor is not associated with a character special device, |
| or the specified request does not apply to it. |
| .TP |
| .B EINVAL |
| The file descriptor or \fIargp\fP is invalid. |
| .TP |
| .B EPERM |
| Insufficient permission. |
| .SH NOTES |
| .BR Warning : |
| Do not regard this man page as documentation of the Linux console ioctl's. |
| This is provided for the curious only, as an alternative to reading the |
| source. |
| Ioctl's are undocumented Linux internals, liable to be changed |
| without warning. |
| (And indeed, this page more or less describes the |
| situation as of kernel version 1.1.94; |
| there are many minor and not-so-minor |
| differences with earlier versions.) |
| |
| Very often, ioctl's are introduced for communication between the |
| kernel and one particular well-known program (fdisk, hdparm, setserial, |
| tunelp, loadkeys, selection, setfont, etc.), and their behavior will be |
| changed when required by this particular program. |
| |
| Programs using these ioctl's will not be portable to other versions |
| of UNIX, will not work on older versions of Linux, and will not work |
| on future versions of Linux. |
| |
| Use POSIX functions. |
| .SH "SEE ALSO" |
| .BR dumpkeys (1), |
| .BR kbd_mode (1), |
| .BR loadkeys (1), |
| .BR mknod (1), |
| .BR setleds (1), |
| .BR setmetamode (1), |
| .BR execve (2), |
| .BR fcntl (2), |
| .BR ioperm (2), |
| .BR termios (3), |
| .BR console (4), |
| .BR console_codes (4), |
| .BR mt (4), |
| .BR sd (4), |
| .BR tty (4), |
| .BR tty_ioctl (4), |
| .BR ttyS (4), |
| .BR vcs (4), |
| .BR vcsa (4), |
| .BR charsets (7), |
| .BR mapscrn (8), |
| .BR resizecons (8), |
| .BR setfont (8) |
| |
| .IR /usr/include/linux/kd.h , |
| .I /usr/include/linux/vt.h |