adjtimex

Autres langues

Langue: ja

Autres versions - même langue

Version: 2004-05-27 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

̾Á°

adjtimex - ¥«¡¼¥Í¥ë¤Î»þ·×¤òÄ´À°¤¹¤ë

½ñ¼°

#include <sys/timex.h>

int adjtimex(struct timex *buf);

ÀâÌÀ

Linux ¤Ï David L. Mill ¤Î»þ·×Ä´Àᥢ¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë (RFC 1305 ¤ò»²¾È)¡£ ¥·¥¹¥Æ¥à¥³¡¼¥ë adjtimex() ¤Ï¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤ÎÄ´Àá¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤òÆɤ߼è¤Ã¤¿¤ê¡¢ÀßÄꤷ¤¿¤ê¤¹¤ë¡£ ¤³¤Î´Ø¿ô¤Ï timex ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¼¤ò¼õ¤±¼è¤ê¡¢¤½¤ÎÃͤǥ«¡¼¥Í¥ë¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò¹¹¿·¤·¤Æ¡¢ Ʊ¤¸¹½Â¤ÂΤ˸½ºß¤Î¥«¡¼¥Í¥ë¤ÎÃͤòÊÖ¤¹¡£ ¤³¤Î¹½Â¤ÂΤϰʲ¼¤Î¤è¤¦¤ËÀë¸À¤µ¤ì¤ë:

struct timex {

    int modes;           /* mode selector */

    long offset;         /* time offset (usec) */

    long freq;           /* frequency offset (scaled ppm) */

    long maxerror;       /* maximum error (usec) */

    long esterror;       /* estimated error (usec) */

    int status;          /* clock command/status */

    long constant;       /* pll time constant */

    long precision;      /* clock precision (usec) (read only) */

    long tolerance;      /* clock frequency tolerance (ppm)

                            (read only) */

    struct timeval time; /* current time (read only) */

    long tick;           /* usecs between clock ticks */

};

modes ¥Õ¥£¡¼¥ë¥É¤Ï (ɬÍפ˱þ¤¸¤Æ) ¤É¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤òÀßÄꤹ¤ë¤«·èÄꤹ¤ë¡£ ¤½¤ì¤Ï°Ê²¼¤Î¥Ó¥Ã¥ÈÃͤΠ0 ¸Ä°Ê¾å¤Î ¥Ó¥Ã¥È OR ¤«¤é¤Ê¤ë:


#define ADJ_OFFSET            0x0001 /* time offset */

#define ADJ_FREQUENCY         0x0002 /* frequency offset */

#define ADJ_MAXERROR          0x0004 /* maximum time error */

#define ADJ_ESTERROR          0x0008 /* estimated time error */

#define ADJ_STATUS            0x0010 /* clock status */

#define ADJ_TIMECONST         0x0020 /* pll time constant */

#define ADJ_TICK              0x4000 /* tick value */

#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime() */

Ä̾ï¤Î¥æ¡¼¥¶¡¼¤Ï mode ¤ÎÃÍ¤Ï 0 ¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤ë¡£ ¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Î¤ß¤¬Á´¤Æ¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤òÀßÄê¤Ç¤­¤ë¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¡¢ adjtimex() ¤Ï ¥¯¥í¥Ã¥¯¤Î¾õÂÖ¤òÊÖ¤¹:

#define TIME_OK  0 /* clock synchronized */

#define TIME_INS 1 /* insert leap second */

#define TIME_DEL 2 /* delete leap second */

#define TIME_OOP 3 /* leap second in progress */

#define TIME_BAD 4 /* clock not synchronized */

¼ºÇÔ¤·¤¿¾ì¹ç¤Ï adjtimex() ¤Ï -1 ¤òÊÖ¤·¡¢ errno ¤¬ÀßÄꤵ¤ì¤ë¡£

¥¨¥é¡¼

EFAULT
buf ¤¬½ñ¤­¹þ¤ß²Äǽ¤Ê¥á¥â¥ê¤ò»Ø¤·¤Æ¤¤¤Ê¤¤¡£
EINVAL
buf.offset ¤Ø -131071 ¡Á +131071 ¤ÎÈϰϰʳ°¤ÎÃͤòÀßÄꤷ¤è¤¦¤È¤·¤¿¤«¡¢ buf.status ¤Ë¾åµ­°Ê³°¤ÎÃͤòÀßÄꤷ¤è¤¦¤È¤·¤¿¤«¡¢ buf.tick ¤Ë 900000/HZ ¡Á 1100000/HZ ¤ÎÈϰϰʳ°¤ÎÃͤòÀßÄꤷ¤è¤¦¤È¤·¤¿¡£ ¤³¤³¤Ç HZ ¤Ï¥·¥¹¥Æ¥à¤Î¥¿¥¤¥Þ¡¼³ä¤ê¹þ¤ß¤Î¼þ´ü¤Ç¤¢¤ë¡£
EPERM
buf.mode ¤¬ 0 ¤Ç¤Ê¤¯¡¢¤«¤Ä¸Æ¤Ó½Ð¤·¸µ¤¬½½Ê¬¤ÊÆø¢¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£ Linux ¤Ç¤Ï CAP_SYS_TIME ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬É¬ÍפǤ¢¤ë¡£

½àµò

adjtimex() ¤Ï Linux ÆÃÍ­¤Ç¤¢¤ê¡¢ °Ü¿¢¤ò°Õ¿Þ¤·¤¿¥×¥í¥°¥é¥à¤Ç»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£ ¥·¥¹¥Æ¥à¥¯¥í¥Ã¥¯¤òÄ´À°¤¹¤ëÊýË¡¤Ç¡¢ °Ü¿¢À­¤¬¤¢¤ë¤¬¼«Í³ÅÙ¤ÏÎô¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï adjtime(3) ¤ò»²¾È¤Î¤³¤È¡£

´ØÏ¢¹àÌÜ

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