.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995.
.\" and Copyright (C) 2014, 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 1997-07-30 by Paul Slootman <paul@wurtel.demon.nl>
.\" Modified 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH adjtimex 2 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
adjtimex, clock_adjtime, ntp_adjtime \- dopasowuje zegar w jądrze
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/timex.h>\fP
.P
\fBint adjtimex(struct timex *\fP\fIbuf\fP\fB);\fP
.P
\fBint clock_adjtime(clockid_t \fP\fIclk_id,\fP\fB struct timex *\fP\fIbuf\fP\fB);\fP
.P
\fBint adjtimex(struct timex *\fP\fIbuf\fP\fB);\fP
.fi
.SH OPIS
Linux używa algorytmu dopasowywania Davida L. Millsa (zob. w RFC\ 1305). Wywołanie systemowe \fBadjtimex\fP czyta i opcjonalnie ustawia parametry
sterujące tego algorytmu. Pobiera wskaźnik do struktury \fItimex\fP,
aktualizuje parametry w jądrze na podstawie (wybranych) wartości
przekazanych w polach i zwraca tę samą strukturę z bieżącymi ustawieniami
jądra. Struktura jest zadeklarowana następująco:
.P
.in +4n
.EX
struct timex {
    int  modes;      /* Wybór trybu */
    long offset;     /* Przesunięcie czasu; nanosekundy jeśli
                        ustawiono znacznik statusu STA_NANO, jeśli
                        nie \- mikrosekundy */
    long freq;       /* Przesunięcie częstotliwości; zob. UWAGI
                        dotyczące jednostek */
    long maxerror;   /* Maksymalny błąd (mikrosekundy) */
    long esterror;   /* Szacowany błąd (mikrosekundy) */
    int  status;     /* Polecenie/status zegara */
    long constant;   /* Stała czasu PLL (phase\-locked loop) */
    long precision;  /* Precyzja zegara
                        (mikrosekundy, tylko do odczytu) */
    long tolerance;  /* Tolerancja częstotliwości zegara (tylko do
                        odczytu); zob. UWAGI dotyczące jednostek */
    struct timeval time;
                     /* Bieżący czas (tylko do odczytu, za wyjątkiem
                        ADJ_SETOFFSET); przy powrocie time.tv_usec
                        zawiera nanosekundy jeśli ustawiono znacznik
                        statusu STA_NANO, jeśli nie \- mikrosekundy */
    long tick;       /* Mikrosekundy pomiędzy impulsami zegara */
    long ppsfreq;    /* Częstotliwość PPS (pulse per second) (tylko
                        do odczytu); zob. UWAGI dot. jednostek */
    long jitter;     /* Fluktuacja PPS (tylko do odczytu); nanosek.
                        jeśli ustawiono znacznik statusu STA_NANO,
                        jeśli nie \- mikrosekundy */
    int  shift;      /* Czas interwału PPS
                        (sekundy, tylko do odczytu) */
    long stabil;     /* Stabilność PPS (tylko do odczytu);
                        zob. UWAGI dotyczące jednostek */
    long jitcnt;     /* Liczba zdarzeń wykroczenia poza limit
                        fluktuacji PPS (tylko do odczytu) */
    long calcnt;     /* Liczba interwałów kalibracji PPS
                        (tylko do odczytu) */
    long errcnt;     /* Liczba interwałów błędów PPS
                        (tylko do odczytu) */
    long stbcnt;     /* Liczba zdarzeń wykroczenia poza limit
                        stabilności PPS (tylko do odczytu) */
    int tai;         /* Przesunięcie TAI, zgodnie z ustawieniem
                        poprzednią operacją ADJ_TAI (sekundy,
                        tylko do odczytu, od Linuksa 2.6.26) */
    /* Kolejne bajty wyrównania do przyszłych rozszerzeń */
};
.EE
.in
.P
Pole \fImodes\fP określa, które parametry (jeśli w ogóle) ustawić (jak opisano
później w niniejszym podręczniku, stałe używane w \fBntp_adjtime\fP() są
równoważne, lecz inaczej nazwane). Jest to maska bitowa zawierająca sumę
bitową (OR) kombinacji zera lub więcej spośród następujących bitów:
.TP 
\fBADJ_OFFSET\fP
.\" commit 074b3b87941c99bc0ce35385b5817924b1ed0c23
Ustawia przesunięcie czasu z \fIbuf.offset\fP. Od Linuksa 2.6.26, podana
wartość jest ograniczana do przedziału (\-0.5s, +0.5s). W starszych jądrach
występował błąd \fBEINVAL\fP, gdy podało się wartość spoza zakresu.
.TP 
\fBADJ_FREQUENCY\fP
.\" commit 074b3b87941c99bc0ce35385b5817924b1ed0c23
Ustawia przesunięcie częstotliwości z \fIbuf.freq\fP.  Od Linuksa 2.6.26,
podana wartość jest ograniczana do przedziału (\-32768000, +32768000). W
starszych jądrach występował błąd \fBEINVAL\fP, gdy podało się wartość spoza
zakresu.
.TP 
\fBADJ_MAXERROR\fP
Ustawia maksymalny błąd czasu z \fIbuf.maxerror\fP.
.TP 
\fBADJ_ESTERROR\fP
Ustawia szacowany błąd czasu z \fIbuf.esterror\fP.
.TP 
\fBADJ_STATUS\fP
Ustawia bity statusu zegara z \fIbuf.status\fP. Niżej dostępny jest opis tych
bitów.
.TP 
\fBADJ_TIMECONST\fP
Ustawia stałą czasu PLL z \fIbuf.constant\fP. Jeśli znacznik statusu
\fBSTA_NANO\fP (zob. niżej) jest wyczyszczony, jądro dodaje do tej wartości 4.
.TP 
\fBADJ_SETOFFSET\fP (od Linuksa 2.6.39)
.\" commit 094aa1881fdc1b8889b442eb3511b31f3ec2b762
.\" Author: Richard Cochran <richardcochran@gmail.com>
Dodaje \fIbuf.time\fP do bieżącego czasu. Jeśli \fIbuf.status\fP obejmuje znacznik
\fBADJ_NANO\fP, to \fIbuf.time.tv_usec\fP jest interpretowane jako wartość w
nanosekundach, w przeciwnym razie jest interpretowane jako mikrosekundy.
.IP
Wartość \fIbuf.time\fP jest sumą jego dwóch pól, lecz pole \fIbuf.time.tv_usec\fP
musi być zawsze nieujemne. Poniższy przykład ukazuje sposób normalizacji
\fItimeval\fP z nanosekundową rozdzielczością.
.IP
.in +4n
.EX
while (buf.time.tv_usec < 0) {
    buf.time.tv_sec  \-= 1;
    buf.time.tv_usec += 1000000000;
}
.EE
.in
.TP 
\fBADJ_MICRO\fP (od Linuksa 2.6.26)
.\" commit eea83d896e318bda54be2d2770d2c5d6668d11db
.\" Author: Roman Zippel <zippel@linux-m68k.org>
Wybiera rozdzielczość mikrosekundową.
.TP 
\fBADJ_NANO\fP (od Linuksa 2.6.26)
.\" commit eea83d896e318bda54be2d2770d2c5d6668d11db
.\" Author: Roman Zippel <zippel@linux-m68k.org>
Wybiera rozdzielczość nanosekundową. Powinno się użyć tylko jednego ze
znaczników \fBADJ_MICRO\fP lub \fBADJ_NANO\fP.
.TP 
\fBADJ_TAI\fP (od Linuksa 2.6.26)
.\" commit 153b5d054ac2d98ea0d86504884326b6777f683d
Ustawia przesunięcie międzynarodowego czasu atomowego \[em] TAI (ang. Atomic
International Time) z \fIbuf.constant\fP.
.IP
\fBADJ_TAI\fP nie należy używać łącznie z \fBADJ_TIMECONST\fP, ponieważ ten
ostatni również używa pola \fIbuf.constant\fP.
.IP
Pełne wytłumaczenie TAI oraz różnic między TAI i UTC, opisano na stronie
.UR http://www.bipm.org/en/bipm/tai/tai.html
\fIBIPM\fP
.UE
.TP 
\fBADJ_TICK\fP
Ustawia wartość impulsu na \fIbuf.tick\fP.
.P
.\" In general, the other bits are ignored, but ADJ_OFFSET_SINGLESHOT 0x8001
.\" ORed with ADJ_NANO (0x2000) gives 0xa0001 == ADJ_OFFSET_SS_READ!!
Alternatywnie, można podać \fImodes\fP jako jedną z następujących wartości
(wielobitowej maski); wówczas w \fImodes\fP nie należy podawać innych bitów:
.TP 
\fBADJ_OFFSET_SINGLESHOT\fP
.\" In user space, ADJ_OFFSET_SINGLESHOT is 0x8001
.\" In kernel space it is 0x0001, and must be ANDed with ADJ_ADJTIME (0x8000)
Staromodne \fBadjtime\fP(3): (stopniowo) dostosowuje czas przy użyciu wartości
podanej w \fIbuf.offset\fP, określającej dostosowanie w mikrosekundach.
.TP 
\fBADJ_OFFSET_SS_READ\fP (działa od Linuksa 2.6.28)
.\" In user space, ADJ_OFFSET_SS_READ is 0xa001
.\" In kernel space there is ADJ_OFFSET_READONLY (0x2000) anded with
.\" ADJ_ADJTIME (0x8000) and ADJ_OFFSET_SINGLESHOT (0x0001) to give 0xa001)
.\" commit 52bfb36050c8529d9031d2c2513b281a360922ec
.\" commit 916c7a855174e3b53d182b97a26b2e27a29726a1
Zwraca (w \fIbuf.offset\fP) czas pozostały do dostosowania po wcześniejszej
operacji \fBADJ_OFFSET_SINGLESHOT\fP. Funkcjonalność tę dodano w Linuksie
2.6.24, lecz nie działała poprawnie do Linuksa 2.6.28.
.P
Zwykli użytkownicy są ograniczeni do wartości 0 lub \fBADJ_OFFSET_SS_READ\fP
dla \fImodes\fP. Jedynie superużytkownik może ustawiać jakiekolwiek parametry.
.P
Pole \fIbuf.status\fP jest maską bitową używaną do ustawiania/pobierania bitów
statusu powiązanych z implementacją NTP. Niektóre bity w masce można
odczytać i ustawić, inne są tylko do odczytu.
.TP 
\fBSTA_PLL\fP (tylko do odczytu)
Włącza aktualizacje phase\-locked loop (PLL) za pomocą \fBADJ_OFFSET\fP.
.TP 
\fBSTA_PPSFREQ\fP (tylko do odczytu)
Włącza dostosowanie częstotliwości (ang. frequency discipline) PPS
(pulse\-per\-second) .
.TP 
\fBSTA_PPSTIME\fP (tylko do odczytu)
Włącza dostosowanie czasu (ang. time discipline) PPS (pulse\-per\-second) .
.TP 
\fBSTA_FLL\fP (tylko do odczytu)
Wybiera tryb frequency\-locked loop (FLL).
.TP 
\fBSTA_INS\fP (tylko do odczytu)
.\" John Stultz;
.\"     Usually this is written as extending the day by one second,
.\"     which is represented as:
.\"        23:59:59
.\"        23:59:60
.\"        00:00:00
.\"
.\"     But since posix cannot represent 23:59:60, we repeat the last second:
.\"        23:59:59 + TIME_INS
.\"        23:59:59 + TIME_OOP
.\"        00:00:00 + TIME_WAIT
.\"
Umieszcza sekundę przestępną po ostatniej sekundzie dnia UTC, wydłużając
zatem ostatnią minutę dnia o jedną sekundę. Sekunda przestępna będzie
występowała każdego dnia, dopóki ten znacznik pozostanie ustawiony.
.TP 
\fBSTA_DEL\fP (tylko do odczytu)
.\" John Stultz:
.\"     Similarly the progression here is:
.\"        23:59:57 + TIME_DEL
.\"        23:59:58 + TIME_DEL
.\"        00:00:00 + TIME_WAIT
.\" FIXME Does there need to be a statement that it is nonsensical to set
.\" to set both STA_INS and STA_DEL?
Odejmuje sekundę przestępną z ostatniej sekundy dnia UTC. Odjęcie sekundy
przestępnej będzie występowało każdego dnia, dopóki ten znacznik pozostanie
ustawiony.
.TP 
\fBSTA_UNSYNC\fP (tylko do odczytu)
Zegar nie jest zsynchronizowany.
.TP 
\fBSTA_FREQHOLD\fP (tylko do odczytu)
.\" Following text from John Stultz:
Utrzymuje częstotliwość. Zwykle, dostosowania częstotliwości uczynione za
pomocą \fBADJ_OFFSET\fP powodują również stopniowe korekcje częstotliwości. Tak
więc jedno wywołanie poprawia bieżące przesunięcie, ale że przesunięcia w
tym samym kierunku są czynione wielokrotnie, mniejsze dostosowania
częstotliwości skumulują się poprawiając odchylenie występujące w dłuższym
okresie.
.IP
.\" According to the Kernel Application Program Interface document,
.\" STA_FREQHOLD is not used by the NTP version 4 daemon
Ten znacznik zapobiega wykonywaniu mniejszych dostosowań częstotliwości,
przy poprawianiu wartości \fBADJ_OFFSET\fP.
.TP 
\fBSTA_PPSSIGNAL\fP (tylko do odczytu)
Dostępny jest prawidłowy sygnał PPS (pulse\-per\-second).
.TP 
\fBSTA_PPSJITTER\fP (tylko do odczytu)
Przekroczono fluktuację sygnału PSS.
.TP 
\fBSTA_PPSWANDER\fP (tylko do odczytu)
Przekroczono dryft sygnału PSS.
.TP 
\fBSTA_PPSERROR\fP (tylko do odczytu)
Błąd kalibracji sygnału PPS.
.TP 
\fBSTA_CLOCKERR\fP (tylko do odczytu)
.\" Not set in current kernel (4.5), but checked in a few places
Usterka zegara sprzętowego.
.TP 
\fBSTA_NANO\fP (tylko do odczytu; od Linuksa 2.6.26)
.\" commit eea83d896e318bda54be2d2770d2c5d6668d11db
.\" Author: Roman Zippel <zippel@linux-m68k.org>
Rozdzielczość (0 = mikrosekundowa, 1 = nanosekundowa). Ustawiana poprzez
\fBADJ_NANO\fP, czyszczona poprzez \fBADJ_MICRO\fP.
.TP 
\fBSTA_MODE\fP (od Linuksa 2.6.26)
.\" commit eea83d896e318bda54be2d2770d2c5d6668d11db
.\" Author: Roman Zippel <zippel@linux-m68k.org>
Tryb (0 = Phase Locked Loop, 1 = Frequency Locked Loop).
.TP 
\fBSTA_CLK\fP (tylko do odczytu; od Linuksa 2.6.26)
.\" commit eea83d896e318bda54be2d2770d2c5d6668d11db
.\" Author: Roman Zippel <zippel@linux-m68k.org>
Źródło zegara (0 = A, 1 = B); aktualnie nieużywane.
.P
.\"
Próby ustawienia bitów \fIstatusu\fP tylko do odczytu są po cichu ignorowane.
.SS "clock_adjtime ()"
Wywołanie systemowe \fBclock_adjtime\fP() (dodane w Linuksie 2.6.39) zachowuje
się jak \fBadjtimex\fP(), lecz przyjmuje dodatkowy argument \fIclk_id\fP
określający konkretny zegar, na którym ma działać.
.SS "ntp_adjtime ()"
Funkcja biblioteczna \fBntp_adjtime\fP() (opisana w \[Bq]Kernel Application
Program API\[rq] \[em] KAPI NTP) jest bardziej przenośnym interfejsem,
wykonującym takie samo zadanie jak \fBadjtimex\fP(). Oprócz poniższych punktów,
jest identyczne do \fBadjtimex\fP():
.IP \[bu] 3
Stałe używane w \fImodes\fP mają przedrostki \[Bq]MOD_\[rq] zamiast
\[Bq]ADJ_\[rq] i takie same przyrostki (co daje \fBMOD_OFFSET\fP,
\fBMOD_FREQUENCY\fP, itd.), poza wyjątkami opisanymi poniżej.
.IP \[bu]
\fBMOD_CLKA\fP jest synonimem \fBADJ_OFFSET_SINGLESHOT\fP.
.IP \[bu]
\fBMOD_CLKB\fP jest synonimem \fBADJ_TICK\fP.
.IP \[bu]
Brak jest synonimu dla \fBADJ_OFFSET_SS_READ\fP, czego nie opisano w KAPI.
.SH "WARTOŚĆ ZWRACANA"
W przypadku powodzenia, \fBadjtimex\fP() i \fBntp_adjtime\fP() zwracają stan
zegara; tj. jedną z poniższych wartości:
.TP  12
\fBTIME_OK\fP
Zegar zsynchronizowany, brak oczekującego dostosowania sekundy przestępnej.
.TP 
\fBTIME_INS\fP
Wskazuje, że sekunda przestępna zostanie dodana pod koniec dnia UTC.
.TP 
\fBTIME_DEL\fP
Wskazuje, że sekunda przestępna zostanie odjęta pod koniec dnia UTC.
.TP 
\fBTIME_OOP\fP
Trwa umieszczenie sekundy przestępnej.
.TP 
\fBTIME_WAIT\fP
Zakończono umieszczenie lub odjęcie sekundy przestępnej. Ta wartość będzie
zwracana do momentu wyczyszczenia znaczników \fBSTA_INS\fP i \fBSTA_DEL\fP, przez
następną operację \fBADJ_STATUS\fP.
.TP 
\fBTIME_ERROR\fP
Zegar systemowy nie został zsynchronizowany z wiarygodnym serwerem. Wartość
jest zwracana, w przypadku spełnienia dowolnego z poniższych warunków:
.RS
.IP \[bu] 3
Ustawiono \fBSTA_UNSYNC\fP albo \fBSTA_CLOCKERR\fP.
.IP \[bu]
\fBSTA_PPSSIGNAL\fP jest wyczyszczony i ustawiono \fBSTA_PPSFREQ\fP albo
\fBSTA_PPSTIME\fP.
.IP \[bu]
Ustawiono \fBSTA_PPSTIME\fP oraz \fBSTA_PPSJITTER\fP.
.IP \[bu]
Ustawiono \fBSTA_PPSFREQ\fP i ustawiono \fBSTA_PPSWANDER\fP albo \fBSTA_PPSJITTER\fP.
.RE
.IP
Nazwa symboliczna \fBTIME_BAD\fP jest synonimem \fBTIME_ERROR\fP, w celu
zachowania wstecznej kompatybilności.
.P
.\" commit 6b43ae8a619d17c4935c3320d2ef9e92bdeed05d changed to asynchronous
.\"  operation, so we can no longer rely on the return code.
Proszę zauważyć, że poczynając od Linuksa 3.4, wywołanie działa
asynchronicznie i zwracana wartość zwykle nie oddaje zmiany stanu
spowodowanej przez samo wywołanie.
.P
W przypadku błędu, wywołania zwracają \-1 i ustawiają \fIerrno\fP wskazując
błąd.
.SH BŁĘDY
.TP 
\fBEFAULT\fP
\fIbuf\fP nie wskazuje do zapisywalnej pamięci.
.TP 
\fBEINVAL\fP (przed Linuksem 2.6.26)
.\" From a quick glance, it appears there was no clamping or range check
.\" for buf.freq before Linux 2.0
Próbowano ustawić wartość \fIbuf.freq\fP spoza przedziału (\-33554432,
+33554432).
.TP 
\fBEINVAL\fP (przed Linuksem 2.6.26)
Próbowano ustawić wartość \fIbuf.offset\fP spoza dozwolonego przedziału. Przed
Linuksem 2.0, dozwolony przedział wynosił (\-131072, +131072). Od Linuksa
2.0, dozwolony przedział wynosił (\-512000, +512000).
.TP 
\fBEINVAL\fP
Próbowano ustawić \fIbuf.status\fP na wartość inną niż opisaną powyżej.
.TP 
\fBEINVAL\fP
\fIclk_id\fP przekazane do \fBclock_adjtime\fP() jest nieprawidłowe z jednego z
dwóch powodów: albo dodatnia wartość identyfikatora zegara zakodowana na
stałe w stylu Systemu V jest poza zakresem, albo dynamiczne \fIclk_id\fP nie
odnosi się do prawidłowego wystąpienia obiektu zegara. Opis dynamicznych
zegarów znajduje się w podręczniku \fBclock_gettime\fP(2).
.TP 
\fBEINVAL\fP
Próbowano ustawić \fIbuf.tick\fP na wartość spoza zakresu 900000/\fBHZ\fP do
1100000/\fBHZ\fP, gdzie \fBHZ\fP jest częstotliwością przerwania systemowego
czasomierza.
.TP 
\fBENODEV\fP
Urządzenie umożliwiające podłączenie \[Bq]na gorąco\[rq] (np. USB)
reprezentowane przez dynamiczny \fIclk_id\fP zniknęło po otwarciu jego
urządzenia znakowego. Zob. podręcznik \fBclock_gettime\fP(2) aby dowiedzieć się
więcej o zegarach dynamicznych.
.TP 
\fBEOPNOTSUPP\fP
Podany \fIclk_id\fP nie obsługuje dostosowywania.
.TP 
\fBEPERM\fP
\fIbuf.modes\fP nie wynosi ani 0, ani \fBADJ_OFFSET_SS_READ\fP i wywołujący nie
jest wystarczająco uprzywilejowany. W Linuksie wymagany jest przywilej
(ang. capability) \fBCAP_SYS_TIME\fP.
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.TS
allbox;
lbx lb lb
l l l.
Interfejs	Atrybut	Wartość
T{
.na
.nh
\fB\%ntp_adjtime\fP()
T}	Bezpieczeństwo wątkowe	MT\-bezpieczne
.TE
.SH STANDARDY
.TP 
\fBadjtimex\fP()
.TQ
\fBclock_adjtime\fP()
Linux.
.P
Preferowanym API do demona NTP jest \fBntp_adjtime\fP().
.SH UWAGI
W strukturach \fItimex\fP, \fIfreq\fP, \fIppsfreq\fP i \fIstabil\fP występują ppm
(części na milion) z 16\-bitową częścią ułamkową, co oznacza, że wartość w
tych polach wynosi tak naprawdę 2\[ha]\-16 ppm, a 2\[ha]16=65536 jest równe 1
ppm. Jest to prawdziwe zarówno w przypadku wartości wejściowych (stosowane
do \fIfreq\fP) i wyjściowych.
.P
Przetwarzanie sekundy przestępnej, wyzwolone przez \fBSTA_INS\fP i \fBSTA_DEL\fP
jest dokonywane przez jądro w kontekście czasomierza. Z tego względu, zajmie
to jeden impuls w sekundzie, zanim sekunda przestępna zostanie dodana lub
usunięta.
.SH "ZOBACZ TAKŻE"
\fBclock_gettime\fP(2), \fBclock_settime\fP(2), \fBsettimeofday\fP(2), \fBadjtime\fP(3),
\fBntp_gettime\fP(3), \fBcapabilities\fP(7), \fBtime\fP(7), \fBadjtimex\fP(8),
\fBhwclock\fP(8)
.P
.ad l
.UR http://www.slac.stanford.edu/comp/unix/\:package/\:rtems/\:src/\:ssrlApps/\:ntpNanoclock/\:api.htm
NTP \[Bq]Kernel Application Program Interface\[rq]
.UE
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Przemek Borys <pborys@dione.ids.pl>,
Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>
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 .
