linux/include/uapi/linux/vt.h
<<
>>
Prefs
   1#ifndef _UAPI_LINUX_VT_H
   2#define _UAPI_LINUX_VT_H
   3
   4
   5/*
   6 * These constants are also useful for user-level apps (e.g., VC
   7 * resizing).
   8 */
   9#define MIN_NR_CONSOLES 1       /* must be at least 1 */
  10#define MAX_NR_CONSOLES 63      /* serial lines start at 64 */
  11                /* Note: the ioctl VT_GETSTATE does not work for
  12                   consoles 16 and higher (since it returns a short) */
  13
  14/* 0x56 is 'V', to avoid collision with termios and kd */
  15
  16#define VT_OPENQRY      0x5600  /* find available vt */
  17
  18struct vt_mode {
  19        char mode;              /* vt mode */
  20        char waitv;             /* if set, hang on writes if not active */
  21        short relsig;           /* signal to raise on release req */
  22        short acqsig;           /* signal to raise on acquisition */
  23        short frsig;            /* unused (set to 0) */
  24};
  25#define VT_GETMODE      0x5601  /* get mode of active vt */
  26#define VT_SETMODE      0x5602  /* set mode of active vt */
  27#define         VT_AUTO         0x00    /* auto vt switching */
  28#define         VT_PROCESS      0x01    /* process controls switching */
  29#define         VT_ACKACQ       0x02    /* acknowledge switch */
  30
  31struct vt_stat {
  32        unsigned short v_active;        /* active vt */
  33        unsigned short v_signal;        /* signal to send */
  34        unsigned short v_state;         /* vt bitmask */
  35};
  36#define VT_GETSTATE     0x5603  /* get global vt state info */
  37#define VT_SENDSIG      0x5604  /* signal to send to bitmask of vts */
  38
  39#define VT_RELDISP      0x5605  /* release display */
  40
  41#define VT_ACTIVATE     0x5606  /* make vt active */
  42#define VT_WAITACTIVE   0x5607  /* wait for vt active */
  43#define VT_DISALLOCATE  0x5608  /* free memory associated to vt */
  44
  45struct vt_sizes {
  46        unsigned short v_rows;          /* number of rows */
  47        unsigned short v_cols;          /* number of columns */
  48        unsigned short v_scrollsize;    /* number of lines of scrollback */
  49};
  50#define VT_RESIZE       0x5609  /* set kernel's idea of screensize */
  51
  52struct vt_consize {
  53        unsigned short v_rows;  /* number of rows */
  54        unsigned short v_cols;  /* number of columns */
  55        unsigned short v_vlin;  /* number of pixel rows on screen */
  56        unsigned short v_clin;  /* number of pixel rows per character */
  57        unsigned short v_vcol;  /* number of pixel columns on screen */
  58        unsigned short v_ccol;  /* number of pixel columns per character */
  59};
  60#define VT_RESIZEX      0x560A  /* set kernel's idea of screensize + more */
  61#define VT_LOCKSWITCH   0x560B  /* disallow vt switching */
  62#define VT_UNLOCKSWITCH 0x560C  /* allow vt switching */
  63#define VT_GETHIFONTMASK 0x560D  /* return hi font mask */
  64
  65struct vt_event {
  66        unsigned int event;
  67#define VT_EVENT_SWITCH         0x0001  /* Console switch */
  68#define VT_EVENT_BLANK          0x0002  /* Screen blank */
  69#define VT_EVENT_UNBLANK        0x0004  /* Screen unblank */
  70#define VT_EVENT_RESIZE         0x0008  /* Resize display */
  71#define VT_MAX_EVENT            0x000F
  72        unsigned int oldev;             /* Old console */
  73        unsigned int newev;             /* New console (if changing) */
  74        unsigned int pad[4];            /* Padding for expansion */
  75};
  76
  77#define VT_WAITEVENT    0x560E  /* Wait for an event */
  78
  79struct vt_setactivate {
  80        unsigned int console;
  81        struct vt_mode mode;
  82};
  83
  84#define VT_SETACTIVATE  0x560F  /* Activate and set the mode of a console */
  85
  86#endif /* _UAPI_LINUX_VT_H */
  87