ioctl_vt − ioctls for console terminal and virtual consoles
#include
<linux/vt.h> /* Definition of VT_*
constants */
#include <sys/ioctl.h>
int ioctl(int fd, unsigned long op, void *argp);
The following
Linux-specific ioctl(2) operations are supported for
console terminals and virtual consoles.
VT_OPENQRY
Returns the first available (non-opened) console. argp points to an int which is set to the number of the vt (1 <= *argp <= MAX_NR_CONSOLES).
VT_GETMODE
Get mode of active vt. argp points to a
struct vt_mode
{
char mode; /* vt mode */
char waitv; /* if set, hang on writes if not active */
short relsig; /* signal to raise on release op */
short acqsig; /* signal to raise on acquisition */
short frsig; /* unused (set to 0) */
};
which is set to the mode of the active vt. mode is set to one of these values:
VT_SETMODE
Set mode of active vt. argp points to a struct vt_mode.
VT_GETSTATE
Get global vt state info. argp points to a
struct vt_stat
{
unsigned short v_active; /* active vt */
unsigned short v_signal; /* signal to send */
unsigned short v_state; /* vt bit mask */
};
For each vt in use, the corresponding bit in the v_state member is set. (Linux 1.0 through Linux 1.1.92.)
VT_RELDISP
Release a display.
VT_ACTIVATE
Switch to vt argp (1 <= argp <= MAX_NR_CONSOLES).
VT_WAITACTIVE
Wait until vt argp has been activated.
VT_DISALLOCATE
Deallocate the memory associated with vt argp. (Since Linux 1.1.54.)
VT_RESIZE
Set the kernel’s idea of screensize. argp points to a
struct vt_sizes
{
unsigned short v_rows; /* # rows */
unsigned short v_cols; /* # columns */
unsigned short v_scrollsize; /* no longer used */
};
Note that this does not change the videomode. See resizecons(8). (Since Linux 1.1.54.)
VT_RESIZEX
Set the kernel’s idea of various screen parameters. argp points to a
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 */
};
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 resizecons(8). (Since Linux 1.3.3.)
VT_GETCONSIZECSRPOS
Get console size and cursor position. argp points to a
struct
vt_consizecsrpos {
__u16 con_rows; /* number of console rows */
__u16 con_cols; /* number of console columns */
__u16 csr_row; /* current cursor’s row */
__u16 csr_col; /* current cursor’s column */
};
(Since Linux 6.16.)
On success, 0 is returned (except where indicated). On failure, −1 is returned, and errno is set to indicate the error.
|
EINVAL |
argp is invalid. |
Linux.
ioctl(2), ioctl_console(2)