vcs

Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services

NAME

       vcs, vcsa - virtual console memory


DESCRIPTION

       /dev/vcs0  is  a  character device with major number 7 and
       minor number 0, usually of mode 0644 and  owner  root.tty.
       It refers to the memory of the currently displayed virtual
       console terminal.

       /dev/vcs[1-63] are character devices for  virtual  console
       terminals,  they have major number 7 and minor number 1 to
       63, usually mode 0644 and owner root.tty.  /dev/vcsa[0-63]
       are  the same, but including attributes, and prefixed with
       four bytes giving the screen dimensions and  cursor  posi-
       tion:  lines,  columns,  x, y.  (x = y = 0 at the top left
       corner of the screen.)

       These replace the screendump ioctls of console(4), so  the
       system  administrator can control access using file system
       permissions.

       The devices for the first eight virtual  consoles  may  be
       created by:

            for x in 0 1 2 3 4 5 6 7 8; do
                 mknod -m 644 /dev/vcs$x c 7 $x;
                 mknod -m 644 /dev/vcsa$x c 7 $[$x+128];
            done
            chown root.tty /dev/vcs*

       No ioctl() requests are supported.


EXAMPLES

       You  may  do  a  screendump on vt3 by switching to vt1 and
       typing cat /dev/vcs3 >foo.

       This program displays the character and screen  attributes
       under  the  cursor  of  the  second  virtual console, then
       changes the background color there:

            #include <unistd.h>
            #include <stdio.h>
            #include <fcntl.h>

            void main()
            {    int fd;
                 struct {char lines, cols, x, y;} scrn;
                 char ch, attrib;

                 fd = open("/dev/vcsa2", O_RDWR);
                 (void)read(fd, &scrn, 4);
                 (void)lseek(fd, 4 + 2*(scrn.y*scrn.cols + scrn.x), 0);
                 (void)read(fd, &ch, 1);
                 (void)read(fd, &attrib, 1);
                 printf("ch='%c' attrib=0x%02x\n", ch, attrib);
                 attrib ^= 0x10;
                 (void)lseek(fd, -1, 1);
                 (void)write(fd, &attrib, 1);
            }



FILES

       /dev/vcs[0-63]
       /dev/vcsa[0-63]


AUTHOR

       Andries Brouwer <aeb@cwi.nl>


HISTORY

       Introduced with version 1.1.92 of the Linux kernel.


SEE ALSO

       console(4), tty(4), ttys(4), selection(1)
Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services
Copyright (C) 1998 Hurricane Electric. All Rights Reserved.