NAZWA¶
adjtimex - dopasowanie zegara w jądrze
SKŁADNIA¶
#include <sys/timex.h>
 
int adjtimex(struct timex *buf);
OPIS¶
 Uwaga! To tłumaczenie może być nieaktualne!
Linux używa algorytmu dopasowywania Davida L. Millsa (zobacz w RFC 1305).
  Wywołanie systemowe 
adjtimex czyta i opcjonalnie ustawia parametry
  sterujące tego algorytmu. 
adjtimex pobiera wskaźnik do
  struktury 
timex, poprawia parametry w jądrze na podstawie
  wartości przekazanych w polach i zwraca tę samą strukturę
  z bieżącymi ustawieniami jądra. Struktura jest zadeklarowana
  następująco:
struct timex {
    int modes;           /* przełącznik trybu */
    long offset;         /* offset czasu (usec) */
    long frequency;      /* offset częstotliwości (skalowany ppm) */
    long maxerror;       /* maksymalny błąd (usec) */
    long esterror;       /* obliczony błąd (usec) */
    int status;          /* komenda/status zegara */
    long constant;       /* stała czasu pll */
    long precision;      /* dokładność zegara (usec) (tylko do odczytu) */
    long tolerance;      /* tolerancja częstotliwości zegara (ppm)
                            (tylko do odczytu) */
    struct timeval time; /* aktualny czas (tylko do odczytu) */
    long tick;           /* czas miedzy tyknięciami zegara (usec) */
};
 
Pole 
modes określa, które parametry (jeśli w ogóle)
  ustawić. Może ono zawierać bitowe
or kombinacji zera lub
  więcej spośród następujących bitów:
#define ADJ_OFFSET            0x0001 /* offset czasu */
#define ADJ_FREQUENCY         0x0002 /* offset częstotliwości */
#define ADJ_MAXERROR          0x0004 /* maksymalny błąd czasu */
#define ADJ_ESTERROR          0x0008 /* obliczany błąd czasu */
#define ADJ_STATUS            0x0010 /* status zegara */
#define ADJ_TIMECONST         0x0020 /* stała czasu pll */
#define ADJ_TICK              0x4000 /* wartość tyknięcia */
#define ADJ_OFFSET_SINGLESHOT 0x8001 /* staromodne adjtime */
 
Zwyczajni użytkownicy są ograniczeni do wartości zero dla
  
mode. Jedynie superużytkownik może ustawiać jakiekolwiek
  parametry.
 
WARTOŚĆ ZWRACANA¶
Po pomyślnym zakończeniu, 
adjtimex zwraca stan zegara z
#define TIME_OK   0 /* zegar zsynchronizowany */
#define TIME_INS  1 /* dodaj sekundę przestępną */
#define TIME_DEL  2 /* skasuj sekundę przestępną */
#define TIME_OOP  3 /* sekunda przestępna trwa */
#define TIME_WAIT 4 /* wystąpiła sekunda przestępna */
#define TIME_BAD  5 /* zegar nie zsynchronizowany */
 
W przypadku błędu, 
adjtimex zwraca -1 i ustawia 
errno.
BŁĘDY¶
  - EFAULT
 
  - buf nie wskazuje do zapisywalnej pamięci.
 
  - EPERM
 
  - buf.mode jest niezerowe, a użytkownik nie jest
      superużytkownikiem.
 
  - EINVAL
 
  - Próbowano ustawić buf.offset na
      wartość poza obszarem od -131071 do +131071, lub ustawić
      buf.status na wartość inną niż te wymienione
      powyżej, lub ustawić buf.tick na wartość spoza
      zakresu 900000/HZ do 1100000/HZ, gdzie HZ jest
      częstotliwością przerwania systemowego timera.
 
ZGODNE Z¶
adjtimex jest specyficzny dla Linuksa i nie powinien być
  używany w programach, które mają być przenośne. W
  SVr4 istnieje podobna, lecz mniej ogólna funkcja 
adjtime.
ZOBACZ TAKŻE¶
settimeofday(2).
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
  Tłumaczenia Manuali i 
może nie być aktualne. W razie
  zauważenia różnic między powyższym opisem a
  rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
  zapoznanie się z oryginalną (angielską) wersją strony
  podręcznika za pomocą polecenia:
  
  - man --locale=C 2 adjtimex
 
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
  znaleźć pod adresem
  
http://sourceforge.net/projects/manpages-pl/.