# ioctl_vt

## NAME



           ioctl_vt - ioctls for console terminal and virtual consoles
    


## SYNOPSIS



           **#include <linux/vt.h>  **/* Definition of **VT_*** constants */
           **#include <sys/ioctl.h>**
    
           **int ioctl(int** _fd_**, unsigned long** _op_**, void ***_argp_**);**
    


## DESCRIPTION



           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_AUTO      auto vt switching
                  VT_PROCESS   process controls switching
                  VT_ACKACQ    acknowledge switch
    
           **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.)
    


## RETURN VALUE



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


## ERRORS



           **EINVAL** _argp_ is invalid.
    


## STANDARDS



           Linux.
    


* * *