ioctl_vt(2) System Calls Manual ioctl_vt(2)

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.

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).
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_AUTO auto vt switching
VT_PROCESS process controls switching
VT_ACKACQ acknowledge switch
Set mode of active vt. argp points to a struct vt_mode.
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.)
Release a display.
Switch to vt argp (1 <= argp <= MAX_NR_CONSOLES).
Wait until vt argp has been activated.
Deallocate the memory associated with vt argp. (Since Linux 1.1.54.)
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.)
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.)

On success, 0 is returned (except where indicated). On failure, -1 is returned, and errno is set to indicate the error.

argp is invalid.

Linux.

ioctl(2), ioctl_console(2)

2024-06-13 Linux man-pages 6.9.1