Rechercher une page de manuel
adjtimex
Langue: pl
Version: 1997-07-30 (openSuse - 09/10/07)
Section: 2 (Appels système)
NAZWA
adjtimex - dopasowanie zegara w j±drzeSK£ADNIA
#include <sys/timex.h>int adjtimex(struct timex *buf);
OPIS
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æ bitoweor 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).Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre