gettimeofday(2) - wariua/manpages-ko GitHub Wiki
gettimeofday, settimeofday - μκ° μ»κΈ°/μ€μ νκΈ°
#include <sys/time.h>
int gettimeofday(struct timeval *tv, struct timezone *tz);
int settimeofday(const struct timeval *tv, const struct timezone *tz);
glibc κΈ°λ₯ νμΈ λ§€ν¬λ‘ μ건 (feature_test_macros(7) μ°Έκ³ ):
-
settimeofday()
: -
- glibc 2.19λΆν°:
_DEFAULT_SOURCE
- glibc 2.19 λ° μ΄μ :
_BSD_SOURCE
gettimeofday()
λ° settimeofday()
ν¨μλ μκ°μ λν΄μ μκ°λλ₯Ό μ»κ±°λ μ€μ ν μ μλ€. tv
μΈμλ (<sys/time.h>
μ μλ) struct timeval
μ΄λ©°,
struct timeval {
time_t tv_sec; /* μ΄ */
suseconds_t tv_usec; /* λ§μ΄ν¬λ‘μ΄ */
};
μν¬ν¬(time(2) μ°Έκ³ ) μ΄νμ μ΄ λ° λ§μ΄ν¬λ‘μ΄ μλ₯Ό λνλΈλ€. tz
μΈμλ struct timezone
μ΄λ€.
struct timezone {
int tz_minuteswest; /* 그리λμΉ μμͺ½μΌλ‘ λͺ λΆ */
int tz_dsttime; /* DST μμ μ’
λ₯ */
};
tv
λ tz
μ€ μ΄λ μͺ½μ΄λΌλ NULLμ΄λ©΄ ν΄λΉ ꡬ쑰체λ₯Ό μ€μ λ΄μ§ λ°ννμ§ μλλ€. (νμ§λ§ tv
κ° NULLμ΄λ©΄ μ»΄νμΌ κ²½κ³ κ° λκ² λλ€.)
timezone
ꡬ쑰체 μ¬μ©μ ꡬμνλμλ€. 보ν΅μ tz
μΈμλ₯Ό NULLλ‘ μ§μ νλ κ² μ’λ€. (μλ NOTES μ°Έκ³ .)
리λ
μ€μλ settimeofday()
μμ€ν
νΈμΆκ³Ό κ΄λ ¨ν΄ μ’ λ
νΉν "ν΄λ μ곑" λμ λ°©μμ΄ μλ€. (λΆν
ν) μ΅μ΄ νΈμΆμμ tz
μΈμκ° NULLμ΄ μλκ³ tz
μΈμκ° NULLμ΄λ©΄μ tz_minuteswest
νλκ° 0μ΄ μλ λμ λμμ΄λ€. (μ΄λ tz_dsttime
μ 0μΌλ‘ νλ κ² μ’λ€.) μ΄λ° κ²½μ°μλ CMOS ν΄λμ΄ μ§μ μκ°μ΄κ³ , κ±°κΈ°μ κ·Έλ§νΌ μκ°μ λν΄μΌ UTC μμ€ν
μκ°μ μ»μ μ μλ€κ³ μΉλ€. μ΄ κΈ°λ₯μ μ°μ§ μλ κ² μ’λ€λ λ°λ λλ§ν λμκ° μλ€.
gettimeofday()
μ settimeofday()
λ μ±κ³΅ μ 0μ λ°ννκ³ μ€ν¨ μ -1μ λ°ννλ€. (μ€ν¨ μ errno
μ μ μ ν μ€μ νλ€.)
EFAULT
-
tv
λtz
μ€ νλκ° μ κ·Ό κ°λ₯ μ£Όμ κ³΅κ° λ°μ κ°λ¦¬ν¨λ€. EINVAL
- (
settimeofday()
):timezone
μ΄ μ ν¨νμ§ μλ€. EINVAL
- (
settimeofday()
):tv.tv_sec
μ΄ μμκ±°λtv.tv_usec
μ΄ [0..999,999] λ²μ λ°μ΄λ€. -
EINVAL
(리λ μ€ 4.3λΆν°) - (
settimeofday()
): μκ°μCLOCK_MONOTONIC
ν΄λμ νμ¬ κ°λ³΄λ€ μμ κ°μΌλ‘ μ€μ νλ € νλ€. (clock_gettime(2) μ°Έκ³ .) EPERM
- νΈμΆ νλ‘μΈμ€μκ²
settimeofday()
νΈμΆμ μν μΆ©λΆν νΉκΆμ΄ μλ€. 리λ μ€μμλCAP_SYS_TIME
μλ₯μ΄ νμνλ€.
SVr4, 4.3BSD. POSIX.1-2001μμλ gettimeofday()
λ κΈ°μ νμ§λ§ settimeofday()
λ κΈ°μ νκ³ μμ§ μλ€. POSIX.1-2008μμλ gettimeofday()
λ₯Ό ꡬμμΌλ‘ νμνκ³ μμΌλ©° λμ clock_gettime(2) μ¬μ©μ κΆμ₯νλ€.
gettimeofday()
κ° λ°ννλ μκ°μ (μμ€ν
κ΄λ¦¬μκ° μμ€ν
μκ°μ μλμΌλ‘ λ°κΎΈλ κ²½μ° κ°μ) λΆμ°μμ μμ€ν
μκ° λμ½μ μν₯μ λ°λλ€. λ¨μ‘° μ¦κ°νλ ν΄λμ΄ νμνλ€λ©΄ clock_gettime(2)μ 보λΌ.
timeval
ꡬ쑰체λ₯Ό λ€λ£¨κΈ° μν λ§€ν¬λ‘λ€μ timeradd(3)μμ μ€λͺ
νλ€.
μ ν΅μ μΌλ‘ struct timeval
μ νλλ€μ long
νμ
μ΄μλ€.
μΌλΆ μν€ν
μ²μμλ vdso(7)μμ gettimeofday()
ꡬνμ μ 곡νλ€.
리λ
μ€ μλ 컀λ μμμ glibcλ₯Ό μ°λ κ²½μ°μλ νμ¬ μκ°λμμ ν λ²μ΄λΌλ μΌκ΄ μ μ½ κ·μΉμ μ μ©ν μ μ΄ μκ±°λ μ μ©ν μμ μ΄λ©΄ gettimeofday()
μμ struct timezone
μ tz_dsttime
νλλ₯Ό 0 μλ κ°μΌλ‘ μ€μ νκ² λλ€. μ¦ νμ¬ μκ°λμ λν΄ daylight(3)μ μλ―Έλ₯Ό μ νν λ°μνλ€. 리λ
μ€ μμμ glibcλ₯Ό μ°λ κ²½μ°μλ settimeofday()
λ gettimeofday()
μμ struct timezone
μ tz_dsttime
νλ μ€μ μ μ΄μ©ν μ μ΄ ν λ²λ μλ€. λ°λΌμ λ€μ λ΄μ©μ μμνκ² μμ¬μ κ΄μ¬μ¬μΌ λΏμ΄λ€.
μ€λλ μμ€ν
λ€μμ tz_dsttime
νλμλ κ·Έ ν΄ μ΄λ μκΈ°μ μΌκ΄ μ μ½ μκ°μ΄ μνλλμ§ λνλ΄λ μ¬λ³Ό μμ(μλμ κ°λ€μ΄ μμ)κ° λ΄κΈ΄λ€. (μ°Έκ³ : μ΄ κ°μ νν΄ λ΄λ΄ κ³ μ λΌ μλ€. μ¦ DSTκ° μν μ€μμ λνλ΄λ κ² μλλΌ μκ³ λ¦¬μ¦μ μ μ ν λΏμ΄λ€.) λ€μ μΌκ΄ μ μ½ μκ° μκ³ λ¦¬μ¦λ€μ΄ μ μλΌ μλ€.
DST_NONE /* DST λΉμν */
DST_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λ
λ³κ²½ λ°©μ */
λΉμ°νκ²λ μΌκ΄ μ μ½ μκ° μν μκΈ°λ₯Ό λλΌλ§λ€ νλμ©μ λ¨μν μκ³ λ¦¬μ¦μΌλ‘ λνλΌ μλ μλ€λ κ² λλ¬λ¬λ€. μ€μ λ‘ κ·Έ μκΈ°λ μμΈ‘ λΆκ°λ₯ν μ μΉμ νλ¨μ λ°λΌ μ ν΄μ§λ€. κ·Έλμ μ΄λ κ² μκ°λλ₯Ό λνλ΄λ λ°©μμ λ²λ €μ‘λ€.
date(1)
, adjtimex(2), clock_gettime(2), time(2), ctime(3), ftime(3), timeradd(3), capabilities(7), time(7), vdso(7), hwclock(8)
2019-03-06