Scroll to navigation

ADJTIMEX(2) п═я┐п╨п╬п╡п╬п╢я│я┌п╡п╬ п©я─п╬пЁя─п╟п╪п╪п╦я│я┌п╟ Linux ADJTIMEX(2)

п≤п°п╞

adjtimex - я┌п╬п╫п╨п╟я▐ п╫п╟я│я┌я─п╬п╧п╨п╟ я┤п╟я│п╬п╡ п╡ я▐п╢я─п╣

п·п▒п≈п·п═

#include <sys/timex.h>

int adjtimex(struct timex *buf);

п·п÷п≤п║п░п²п≤п∙

п▓ Linux п╢п╩я▐ п©п╬п╢я│я┌я─п╬п╧п╨п╦ я┤п╟я│п╬п╡ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╟п╩пЁп╬я─п╦я┌п╪ п■я█п╡п╦п╢п╟ п⌡. п°п╦п╩п╩я│п╟ (David L. Mills) (я│п╪. RFC 1305). п║п╦я│я┌п╣п╪п╫я▀п╧ п╡я▀п╥п╬п╡ adjtimex() я┤п╦я┌п╟п╣я┌ п╦ (п╫п╣п╬п╠я▐п╥п╟я┌п╣п╩я▄п╫п╬) я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─я▀ п©п╬п╢я│я┌я─п╬п╧п╨п╦ п╢п╩я▐ я█я┌п╬пЁп╬ п╟п╩пЁп╬я─п╦я┌п╪п╟. п▓ п╨п╟я┤п╣я│я┌п╡п╣ п╟я─пЁя┐п╪п╣п╫я┌п╟ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ я┐п╨п╟п╥п╟я┌п╣п╩я▄ п╫п╟ я│я┌я─я┐п╨я┌я┐я─я┐ timex, п©п╬ п╥п╫п╟я┤п╣п╫п╦я▐п╪ п╡ п©п╬п╩я▐я┘ п╨п╬я┌п╬я─п╬п╧ п╬я│я┐я┴п╣я│я┌п╡п╩я▐п╣я┌я│я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦п╣ п©п╟я─п╟п╪п╣я┌я─п╬п╡ я▐п╢я─п╟ п╦ п╡ я█я┌п╬п╧ п╤п╣ я│я┌я─я┐п╨я┌я┐я─п╣ п©я─п╬п╦я│я┘п╬п╢п╦я┌ п╡п╬п╥п╡я─п╟я┌ я┌п╣п╨я┐я┴п╦я┘ п╥п╫п╟я┤п╣п╫п╦п╧ п©п╟я─п╟п╪п╣я┌я─п╬п╡ я▐п╢я─п╟. п■п╟п╫п╫п╟я▐ я│я┌я─я┐п╨я┌я┐я─п╟ п╬п╠я┼я▐п╡п╩п╣п╫п╟ я┌п╟п╨:


struct timex {

int modes; /* п╡я▀п╠п╬я─ я─п╣п╤п╦п╪п╟ */
long offset; /* я│п╪п╣я┴п╣п╫п╦п╣ п©п╬ п╡я─п╣п╪п╣п╫п╦ (usec) */
long freq; /* я┤п╟я│я┌п╬я┌п╟ я│п╪п╣я┴п╣п╫п╦я▐ (scaled ppm) */
long maxerror; /* п╪п╟п╨я│п╦п╪п╟п╩я▄п╫п╟я▐ п╬я┬п╦п╠п╨п╟ (usec) */
long esterror; /* п╬п╤п╦п╢п╟п╣п╪п╟я▐ п╬я┬п╦п╠п╨п╟ (usec) */
int status; /* п╨п╬п╪п╟п╫п╢п╟/я│п╬я│я┌п╬я▐п╫п╦п╣ п╢п╩я▐ я┤п╟я│п╬п╡ */
long constant; /* п╡я─п╣п╪п╣п╫п╫п╟я▐ п╨п╬п╫я│я┌п╟п╫я┌п╟ pll */
long precision; /* я┌п╬я┤п╫п╬я│я┌я▄ я┤п╟я│п╬п╡ (usec) (я┌п╬п╩я▄п╨п╬ я┤я┌п╣п╫п╦п╣) */
long tolerance; /* clock frequency tolerance (ppm)
(read-only) */
struct timeval time; /* я┌п╣п╨я┐я┴п╣п╣ п╡я─п╣п╪я▐ (я┌п╬п╩я▄п╨п╬ я┤я┌п╣п╫п╦п╣) */
long tick; /* usecs between clock ticks */ };

п÷п╬п╩п╣ modes п╬п©я─п╣п╢п╣п╩я▐п╣я┌ п╨п╟п╨п╦п╣ п©п╟я─п╟п╪п╣я┌я─я▀, п╣я│п╩п╦ я█я┌п╬ п╫п╣п╬п╠я┘п╬п╢п╦п╪п╬, я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟я▌я┌я│я▐. п≈п╫п╟я┤п╣п╫п╦п╣ п©п╬п╩я▐ п╪п╬п╤п╣я┌ я│п╬п╢п╣я─п╤п╟я┌я▄ п╨п╬п╪п╠п╦п╫п╟я├п╦п╦ (or) п╠п╦я┌п╬п╡я▀я┘ п╪п╟я│п╬п╨, п╥п╫п╟я┤п╣п╫п╦я▐ п╨п╬я┌п╬я─я▀я┘ я│п╩п╣п╢я┐я▌я┴п╦п╣:


#define ADJ_OFFSET            0x0001 /* я│п╪п╣я┴п╣п╫п╦п╣ п╡я─п╣п╪п╣п╫п╦ */
#define ADJ_FREQUENCY         0x0002 /* я┤п╟я│я┌п╬я┌п╟ я│п╪п╣я┴п╣п╫п╦я▐ */
#define ADJ_MAXERROR          0x0004 /* п╪п╟п╨я│п╦п╪п╟п╩я▄п╫п╟я▐ п╬я┬п╦п╠п╨п╟ п╡я─п╣п╪п╣п╫п╦ */
#define ADJ_ESTERROR          0x0008 /* п╬п╤п╦п╢п╟п╣п╪п╟я▐ п╬я┬п╦п╠п╨п╟ п╡я─п╣п╪п╣п╫п╦ */
#define ADJ_STATUS            0x0010 /* я│п╬я│я┌п╬я▐п╫п╦п╣ я┤п╟я│п╬п╡ */
#define ADJ_TIMECONST         0x0020 /* п╡я─п╣п╪п╣п╫п╫п╟я▐ п╨п╬п╫я│я┌п╟п╫я┌п╟ pll */
#define ADJ_TICK              0x4000 /* п╥п╫п╟я┤п╣п╫п╦п╣ я┌п╦п╨п╟ */
#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime() */

п·п╠я▀я┤п╫я▀п╣ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╦ п╪п╬пЁя┐я┌ п©п╦я│п╟я┌я▄ п╡ mode я┌п╬п╩я▄п╨п╬ п╫п╬п╩я▄. п╒п╬п╩я▄п╨п╬ я│я┐п©п╣я─п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▄ п╪п╬п╤п╣я┌ п╥п╟п╢п╟п╡п╟я┌я▄ п╩я▌п╠я▀п╣ п©п╟я─п╟п╪п╣я┌я─я▀.

п▓п·п≈п▓п═п░п╘п░п∙п°п·п∙ п≈п²п░п╖п∙п²п≤п∙

п▓ я│п╩я┐я┤п╟п╣ я┐я│п©п╣я┘п╟, adjtimex() п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ я│п╬я│я┌п╬я▐п╫п╦п╣ я┤п╟я│п╬п╡:


#define TIME_OK   0 /* я┤п╟я│я▀ я│п╦п╫я┘я─п╬п╫п╦п╥п╦я─п╬п╡п╟п╫я▀ */
#define TIME_INS  1 /* п╡я│я┌п╟п╡п╩п╣п╫п╟ п╡п╦я│п╬п╨п╬я│п╫п╟я▐ я│п╣п╨я┐п╫п╢п╟ */
#define TIME_DEL  2 /* я┐п╢п╟п╩п╣п╫п╟ п╡п╦я│п╬п╨п╬я│п╫п╟я▐ я│п╣п╨я┐п╫п╢п╟ */
#define TIME_OOP  3 /* п╦п╢я▒я┌ п╡п╦я│п╬п╨п╬я│п╫п╟я▐ я│п╣п╨я┐п╫п╢п╟ */
#define TIME_WAIT 4 /* п╥п╟п╨п╬п╫я┤п╦п╩п╟я│я▄ п╡п╦я│п╬п╨п╬я│п╫п╟я▐ я│п╣п╨я┐п╫п╢п╟ */
#define TIME_BAD  5 /* я┤п╟я│я▀ п╫п╣ я│п╦п╫я┘я─п╬п╫п╦п╥п╦я─п╬п╡п╟п╫я▀ */

п▓ я│п╩я┐я┤п╟п╣ п╫п╣я┐п╢п╟я┤п╦, adjtimex() п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ -1 п╦ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌ errno.

п·п╗п≤п▒п п≤

buf п╫п╣ я▐п╡п╩я▐п╣я┌я│я▐ я┐п╨п╟п╥п╟я┌п╣п╩п╣п╪ п╫п╟ п╢п╬я│я┌я┐п©п╫я┐я▌ п╢п╩я▐ п╥п╟п©п╦я│п╦ п╬п╠п╩п╟я│я┌я▄ п©п╟п╪я▐я┌п╦.
п÷п╬п©я▀я┌п╨п╟ я┐я│я┌п╟п╫п╬п╡п╦я┌я▄ buf.offset п╡ п╥п╫п╟я┤п╣п╫п╦п╣, п╡я▀я┘п╬п╢я▐я┴п╣п╣ п╥п╟ п╢п╦п╟п©п╟п╥п╬п╫ п╬я┌ -131071 п╢п╬ +131071, п╦п╩п╦ я┐я│я┌п╟п╫п╬п╡п╦я┌я▄ buf.status п╡ п╥п╫п╟я┤п╣п╫п╦п╣ п╬я┌п╩п╦я┤п╫п╬п╣ п╬я┌ п©п╣я─п╣я┤п╦я│п╩п╣п╫п╫я▀я┘ п╡я▀я┬п╣, п╦п╩п╦ я┐я│я┌п╟п╫п╬п╡п╦я┌я▄ buf.tick п╡ п╥п╫п╟я┤п╣п╫п╦п╣ п╥п╟ п©я─п╣п╢п╣п╩п╟п╪п╦ п╢п╦п╟п©п╟п╥п╬п╫п╟ п╬я┌ 900000/HZ п╢п╬ 1100000/HZ, пЁп╢п╣ HZ — я┤п╟я│я┌п╬я┌п╟ п©я─п╣я─я▀п╡п╟п╫п╦п╧ я│п╦я│я┌п╣п╪п╫п╬пЁп╬ я┌п╟п╧п╪п╣я─п╟.
buf.mode п╫п╣ п╫п╬п╩я▄, п╟ п╡я▀п╥п╡п╟п╡я┬п╦п╧ п©я─п╬я├п╣я│я│ п╫п╣ п╦п╪п╣п╣я┌ п╢п╬я│я┌п╟я┌п╬я┤п╫я▀я┘ п©я─п╟п╡ п▓ Linux п╢п╩я▐ я█я┌п╬пЁп╬ я┌я─п╣п╠я┐п╣я┌я│я▐ п╪п╟п╫п╢п╟я┌ CAP_SYS_TIME.

п║п·п·п╒п▓п∙п╒п║п╒п▓п≤п∙ п║п╒п░п²п■п░п═п╒п░п°

adjtimex() — я█я┌п╬ я│п©п╣я├п╦я└п╦я┤п╫я▀п╧ п╢п╩я▐ Linux я│п╦я│я┌п╣п╪п╫я▀п╧ п╡я▀п╥п╬п╡ п╦ п╬п╫ п╫п╣ п╢п╬п╩п╤п╣п╫ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐ п╡ п©я─п╬пЁя─п╟п╪п╪п╟я┘, п╨п╬я┌п╬я─я▀п╣ п╢п╬п╩п╤п╫я▀ п╠я▀я┌я▄ п©п╣я─п╣п╫п╬я│п╦п╪я▀п╪п╦. п║я┐я┴п╣я│я┌п╡я┐п╣я┌ п©п╬я┘п╬п╤п╦п╧, п╠п╬п╩п╣п╣ п©п╣я─п╣п╫п╬я│п╦п╪я▀п╧, п╠п╬п╩п╣п╣ пЁп╦п╠п╨п╦п╧ п╪п╣я┌п╬п╢ п╫п╟я│я┌я─п╬п╧п╨п╦ я│п╦я│я┌п╣п╪п╫я▀я┘ я┤п╟я│п╬п╡ adjtime(3).

п║п°п·п╒п═п≤п╒п∙ п╒п░п п√п∙

settimeofday(2), adjtime(3), capabilities(7), time(7)

2004-05-27 Linux