gettimeofday

GETTIMEOFDAY(2)            리ëì¤ íë¡ê·¸ë머 ë©ë´ì¼            GETTIMEOFDAY(2)



ì´ë¦
       gettimeofday, settimeofday - ìê°ì ììë´ê±°ë ì¤ì íë¤.

ì¬ì©ë²
       #include <sys/time.h>
       #include <unistd.h>

       int gettimeofday(struct timeval *tv, struct timezone *tz);
       int settimeofday(const struct timeval *tv , const struct timezone *tz);

ì¤ëª
       gettimeofdayì settimeofdayë ìê°ë(timezone)ê³¼ ìê°ì ì¤ì í  ì ìë¤.  tvë
       /usr/include/sys/time.hì ì ìëì´ ìë timeval 구조체ì´ë¤:

       struct timeval {
               long tv_sec;     /* ì´ */
               long tv_usec;    /* ë§ì´í¬ë¡ì´ */
       };

       tzë timezoneì´ë¤ :

       struct timezone {
               int  tz_minuteswest; /* 그리ëì¹ ì측 ë¶ì°¨(minutes) */
               int  tz_dsttime;     /* DST ë³´ì  íì */
       };

       timezone struct ë ì¬ì©íì§ ìëë¤; 리ëì¤ìì tz_dsttime íëê° ì¬ì©ëì§ ìëë¤.
       - ì§ê¸ê¹ì§ ê·¸ë ê³  ìì¼ë¡ë libcë glibcìì ì§ìëì§ ìì ê²ì´ë¤.  커ë
       ìì¤ìì(ì ì¸ ì´ì¸ì) ì´ íëê° ëì¤ë ëª¨ë  ê²½ì°ë ë²ê·¸ì´ë¤.  ê·¸ëì ë¤ì ë´ì©ì
       ììí ìì¬ì ì¸ í¥ë¯¸ê±°ë¦¬ë¤.

       tz_dsttime íëë Daylight Saving Time(ì¼ê´ ì ì½ ìê°) ëëì ê°ì ë¡ ì§ì ëë
       ìì§ì ì¸ ììê°(ìëì ìë ê°ë¤)ì ê°ëë¤.  (주ì: ì´ ê°ì ê·¸ í´ëì ì¼ì íë¤. -
       DST ê°ì ê°ì ë¡ ì§ì ëì§ ìì¼ë©°, ìê³ ë¦¬ì¦ìì ì íëë¤.)  Daylight Saving
       Time ìê³ ë¦¬ì¦ì ìëì²ë¼ ì ìëë¤:

        DST_NONE     /* dst ì¬ì©íì§ ìì */
        DST_USA      /* USA ì¤íì¼ dst */
        DST_AUST     /* ì¤ì¤í¸ë ì¼ë¦¬ì ì¤íì¼ dst */
        DST_WET      /* ìë¶ ì ë½ dst */
        DST_MET      /* ì¤ë¶ ì ë½ dst */
        DST_EET      /* ëë¶ ì ë½ dst */
        DST_CAN      /* ìºëë¤ */
        DST_GB       /* ìêµì ìì¼ëë */
        DST_RUM      /* 루ë§ëì */
        DST_TUR      /* í°í¤ */
        DST_AUSTALT  /* 1986ì ì¤ì¤í¸ë ì¼ë¦¬ì ì¤íì¼ */

       ë¬¼ë¡ , ì´ê²ì Daylight Saving Time 기ê°ì´ ëë¼ë§ë¤ ë¨ìí ìê³ ë¦¬ì¦ì¼ë¡
       ê°ì ë¡ ì£¼ì´ì§ ì ììì ë§íë¤: ì¤ì ë¡, ì´ ê¸°ê°ì ì ì¹ì  ì´ì ë¡ ê²°ì ëë¤.
       ê·¸ëì ìê°ëì íííë ì´ ë°©ë²ì ë²ë ¤ì¡ë¤. 리ëì¤ìì, settimeofday ìì¤í ì½ì
       tz_dsttime íëë 0ì´ì´ì¼ íë¤.

       리ëì¤ììë, tz ì¸ìê° NULLì´ ìë ê²½ì°ë, tv ì¸ìê° NULLì´ê³  tz_minuteswest
       íëê° 0ì´ ìë ì¸ìë¡ settimeofdayê° (ë¶íí) ì²ì í¸ì¶ëë¤ë©´ í¹ë³í `wrap
       clock` ìë¯¸ê° ìë¤.  ê·¸ë° ê²½ì°ë CMOS ìê³ë ë¡ì»¬ ìê°ì´ë©°, UTC ìì¤í
       ìê°ì ì»ê¸° ìí ìê°ë§í¼ ì¦ê°íìì ë§íë¤. ìì¬í  ì¬ì§ìì´ ì´ë¬í í¹ì§ì ì¬ì©íë
       ê²ì ì¢ì§ ìë¤.

       ë¤ì 매í¬ë¡ë timeval 구조체 ì°ì°ì ìí´ ì ìëë¤:

       #define       timerisset(tvp)\
               ((tvp)->tv_sec || (tvp)->tv_usec)
       #define       timercmp(tvp, uvp, cmp)\
               ((tvp)->tv_sec cmp (uvp)->tv_sec ||\
               (tvp)->tv_sec == (uvp)->tv_sec &&\
               (tvp)->tv_usec cmp (uvp)->tv_usec)
       #define       timerclear(tvp)\
               ((tvp)->tv_sec = (tvp)->tv_usec = 0)

       ë§ì¼, tvë tzê° nullì´ë¼ë©´, ê´ë ¨ 구조체ë ì¤ì ëì§ ìê±°ë ë°íëì§ ìëë¤.

       ìí¼ì ì ë§ì´ settimeofday를 ì¬ì©í  ì ìë¤.

ë°íê°
       gettimeofdayì settimeofday 모ë ì±ê³µíë©´ 0ì 리í´íë©°, ì¤í¨ììë -1ì
       리í´íë¤.  (errnoë ì ë¹í ê°ì¼ë¡ ì¤ì ëë¤.)

ìë¬
       EPERM  settimeofdayê° ìí¼ì ì ì´ì¸ì ë¤ë¥¸ ì¬ì©ìì ìí´ í¸ì¶ëìë¤.

       EINVAL ìê°ë(ëë ê·¸ì¸ì ì´ë¤ ê²)ê° ì í¨íì§ ìë¤.

       EFAULT tvë tz ì¤ íëê° ì ê·¼í  ì ìë ììì ê°ë¦¬í¤ê³  ìë¤.

í¸í
       SVr4, BSD 4.3

ê´ë ¨ í목
       date(1), adjtimex(2), time(2), ctime(3), ftime(3)

ìì
       ì ê°í <skyeyes@soback.kornet.net>, 2000ë 5ì 1ì¼



리ëì¤ 2.0.32                   1997ë 12ì 10ì¼                 GETTIMEOFDAY(2)