.\" -*- coding: UTF-8 -*-
.\" Copyright (c) 1995 James R. Van Zandt <jrv@vanzandt.mv.com>
.\" Sat Feb 18 09:11:07 EST 1995
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified, Sun Feb 26 15:08:05 1995, faith@cs.unc.edu
.\" 2007-12-17, Samuel Thibault <samuel.thibault@ens-lyon.org>:
.\"     document the VT_GETHIFONTMASK ioctl
.\" "
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH vcs 4 "5 lutego 2023 r." "Linux man\-pages 6.03" 
.SH NAZWA
vcs, vcsa \- pamięć konsoli wirtualnej
.SH OPIS
\fI/dev/vcs0\fP is a character device with major number 7 and minor number 0,
usually with mode 0644 and ownership root:tty.  It refers to the memory of
the currently displayed virtual console terminal.
.PP
\fI/dev/vcs[1\-63]\fP are character devices for virtual console terminals, they
have major number 7 and minor number 1 to 63, usually mode 0644 and
ownership root:tty.  \fI/dev/vcsa[0\-63]\fP are the same, but using \fIunsigned short\fPs (in host byte order) that include attributes, and prefixed with four
bytes giving the screen dimensions and cursor position: \fIlines\fP,
\fIcolumns\fP, \fIx\fP, \fIy\fP.  (\fIx\fP = \fIy\fP = 0 at the top left corner of the
screen.)
.PP
When a 512\-character font is loaded, the 9th bit position can be fetched by
applying the \fBioctl\fP(2)  \fBVT_GETHIFONTMASK\fP operation (available since
Linux 2.6.18)  on \fI/dev/tty[1\-63]\fP; the value is returned in the \fIunsigned short\fP pointed to by the third \fBioctl\fP(2)  argument.
.PP
Opisywane urządzenia zastępują operacje \fIioctl\fP(2) zrzucające zawartość
ekranu z \fBioctl_console\fP(2), więc administrator systemu może kontrolować
uprawnienia przy użyciu praw dostępu do plików.
.PP
Urządzenia dla pierwszych ośmiu konsoli wirtualnych można stworzyć
poleceniami:
.PP
.in +4n
.EX
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*
.EE
.in
.PP
Nie są wspierane żadne odwołania \fBioctl\fP(2).
.SH PLIKI
\fI/dev/vcs[0\-63]\fP
.br
.\" .SH AUTHOR
.\" Andries Brouwer <aeb@cwi.nl>
\fI/dev/vcsa[0\-63]\fP
.SH WERSJE
Introduced with Linux 1.1.92.
.SH PRZYKŁADY
Zrzut ekranu na vt3 można wykonać przez przełączenie na vt1 i wpisanie
.PP
.in +4n
.EX
cat /dev/vcs3 >foo
.EE
.in
.PP
Proszę zauważyć, że wynik nie będzie zawierał znaków nowego wiersza, więc
konieczne może być pewne zmodyfikowanie go np.
.PP
.in +4n
.EX
fold \-w 81 /dev/vcs3 | lpr
.EE
.in
.PP
lub (ohyda)
.PP
.in +4n
.EX
setterm \-dump 3 \-file /proc/self/fd/1
.EE
.in
.PP
Urządzenie \fI/dev/vcsa0\fP jest wykorzystywane przy wsparciu dla alfabetu
Braille'a.
.PP
Poniższy program wyświetla aktualne atrybuty znaków i ekranu w miejscu
kursora na drugiej wirtualnej konsoli, a następnie zmienia tam kolor tła:
.PP
.EX
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/vt.h>

int
main(void)
{
    int fd;
    char *device = "/dev/vcsa2";
    char *console = "/dev/tty2";
    struct {unsigned char lines, cols, x, y;} scrn;
    unsigned short s;
    unsigned short mask;
    unsigned char attrib;
    int ch;

    fd = open(console, O_RDWR);
    if (fd < 0) {
        perror(console);
        exit(EXIT_FAILURE);
    }
    if (ioctl(fd, VT_GETHIFONTMASK, &mask) < 0) {
        perror("VT_GETHIFONTMASK");
        exit(EXIT_FAILURE);
    }
    (void) close(fd);
    fd = open(device, O_RDWR);
    if (fd < 0) {
        perror(device);
        exit(EXIT_FAILURE);
    }
    (void) read(fd, &scrn, 4);
    (void) lseek(fd, 4 + 2*(scrn.y*scrn.cols + scrn.x), SEEK_SET);
    (void) read(fd, &s, 2);
    ch = s & 0xff;
    if (s & mask)
        ch |= 0x100;
    attrib = ((s & \[ti]mask) >> 8);
    printf("ch=%#03x attrib=%#02x\en", ch, attrib);
    s \[ha]= 0x1000;
    (void) lseek(fd, \-2, SEEK_CUR);
    (void) write(fd, &s, 2);
    exit(EXIT_SUCCESS);
}
.EE
.SH "ZOBACZ TAKŻE"
\fBioctl_console\fP(2), \fBtty\fP(4), \fBttyS\fP(4), \fBgpm\fP(8)
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Paweł Olszewski <alder@amg.net.pl>,
Robert Luberda <robert@debian.org>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
