*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> vcs (4)              



NAME    [Toc]    [Back]

       vcs, vcsa - virtual console memory

DESCRIPTION    [Toc]    [Back]

       /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 position: 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];
	    chown root:tty /dev/vcs*

       No ioctl() requests are supported.

EXAMPLES    [Toc]    [Back]

       You  may  do  a	screendump  on	vt3 by switching to vt1 and typing cat
       /dev/vcs3 >foo. Note that the output does not contain  newline  characters,
  so some processing may be required, like in fold -w 81 /dev/vcs3
       | lpr or (horrors) setterm -dump 3 -file /proc/self/fd/1.

       The /dev/vcsa0 device is used for Braille support.

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

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

	    int 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);
		 return 0;

FILES    [Toc]    [Back]


AUTHOR    [Toc]    [Back]

       Andries Brouwer <aeb@cwi.nl>

HISTORY    [Toc]    [Back]

       Introduced with version 1.1.92 of the Linux kernel.

SEE ALSO    [Toc]    [Back]

       console(4), tty(4), ttys(4), selection(1)

Linux				  1995-02-19				VCS(4)
[ Back ]
 Similar pages
Name OS Title
console Linux console terminal and virtual consoles
vt FreeBSD VT220 virtual screen system console
console_ioctl Linux ioctl's for console terminal and virtual consoles
pcvt FreeBSD VT220 virtual screen system console
vm_map FreeBSD virtual address space portion of virtual memory subsystem
console_ioctls Linux 0console ioctl's- ioctl's for console terminal and virtual consoles
syslog Tru64 enables and disables printing to the console device, /dev/console, by the syslogd daemon.
mremap Linux re-map a virtual memory address
vmstat Tru64 Displays virtual memory statistics
vmstat HP-UX report virtual memory statistics
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service