'\" t .\" Copyright 1995, Jim Van Zandt and aeb .\" Copyright 1995, .\" Copyright 1995, .\" Copyright 1995, "H. Peter Anvin" .\" Copyright 2024, Alejandro Colomar .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" FIXME The following are not documented: .\" VT_LOCKSWITCH (since Linux 1.3.47, needs CAP_SYS_TTY_CONFIG) .\" VT_UNLOCKSWITCH (since Linux 1.3.47, needs CAP_SYS_TTY_CONFIG) .\" VT_GETHIFONTMASK (since Linux 2.6.18) .\" .TH ioctl_vt 2 2024-06-13 "Linux man-pages 6.9.1" .SH NAME ioctl_vt \- ioctls for console terminal and virtual consoles .SH SYNOPSIS .nf .BR "#include " " /* Definition of " VT_* " constants */" .B #include .P .BI "int ioctl(int " fd ", unsigned long " op ", void *" argp ); .fi .SH DESCRIPTION The following Linux-specific .BR ioctl (2) operations are supported for console terminals and virtual consoles. .TP .B VT_OPENQRY Returns the first available (non-opened) console. .I argp points to an .I int which is set to the number of the vt (1 <= .I *argp <= MAX_NR_CONSOLES). .TP .B VT_GETMODE Get mode of active vt. .I argp points to a .IP .in +4n .EX 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) */ }; .EE .in .IP which is set to the mode of the active vt. .I mode is set to one of these values: .TS l l. VT_AUTO auto vt switching VT_PROCESS process controls switching VT_ACKACQ acknowledge switch .TE .TP .B VT_SETMODE Set mode of active vt. .I argp points to a .IR "struct vt_mode" . .TP .B VT_GETSTATE Get global vt state info. .I argp points to a .IP .in +4n .EX struct vt_stat { unsigned short v_active; /* active vt */ unsigned short v_signal; /* signal to send */ unsigned short v_state; /* vt bit mask */ }; .EE .in .IP For each vt in use, the corresponding bit in the .I v_state member is set. (Linux 1.0 through Linux 1.1.92.) .TP .B VT_RELDISP Release a display. .TP .B VT_ACTIVATE Switch to vt .I argp (1 <= .I argp <= MAX_NR_CONSOLES). .TP .B VT_WAITACTIVE Wait until vt .I argp has been activated. .TP .B VT_DISALLOCATE Deallocate the memory associated with vt .IR argp . (Since Linux 1.1.54.) .TP .B VT_RESIZE Set the kernel's idea of screensize. .I argp points to a .IP .in +4n .EX struct vt_sizes { unsigned short v_rows; /* # rows */ unsigned short v_cols; /* # columns */ unsigned short v_scrollsize; /* no longer used */ }; .EE .in .IP Note that this does not change the videomode. See .BR resizecons (8). (Since Linux 1.1.54.) .TP .B VT_RESIZEX Set the kernel's idea of various screen parameters. .I argp points to a .IP .in +4n .EX 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 */ }; .EE .in .IP 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 Linux 1.3.3.) .SH RETURN VALUE On success, 0 is returned (except where indicated). On failure, \-1 is returned, and .I errno is set to indicate the error. .SH ERRORS .TP .B EINVAL .I argp is invalid. .SH STANDARDS Linux. .SH SEE ALSO .BR ioctl (2), .BR ioctl_console (2)