1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2014-04-17 13:14+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
20 #: build/C/man3/adjtime.3:25
26 #: build/C/man3/adjtime.3:25
32 #: build/C/man3/adjtime.3:25 build/C/man2/adjtimex.2:30 build/C/man3/clock_getcpuclockid.3:26 build/C/man2/clock_nanosleep.2:26 build/C/man3/futimes.3:25 build/C/man2/futimesat.2:25 build/C/man2/gettimeofday.2:40 build/C/man2/nanosleep.2:34 build/C/man4/rtc.4:30 build/C/man2/stime.2:30 build/C/man2/time.2:29 build/C/man7/time.7:28 build/C/man3/timeradd.3:27 build/C/man2/times.2:38 build/C/man2/utime.2:31 build/C/man2/utimensat.2:26
38 #: build/C/man3/adjtime.3:25 build/C/man2/adjtimex.2:30 build/C/man3/clock.3:29 build/C/man3/clock_getcpuclockid.3:26 build/C/man2/clock_getres.2:30 build/C/man2/clock_nanosleep.2:26 build/C/man3/ctime.3:35 build/C/man3/difftime.3:30 build/C/man3/dysize.3:26 build/C/man3/ftime.3:30 build/C/man3/futimes.3:25 build/C/man2/futimesat.2:25 build/C/man3/getdate.3:30 build/C/man2/gettimeofday.2:40 build/C/man2/nanosleep.2:34 build/C/man4/rtc.4:30 build/C/man2/stime.2:30 build/C/man3/strftime.3:37 build/C/man3/strptime.3:31 build/C/man2/time.2:29 build/C/man7/time.7:28 build/C/man3/timegm.3:25 build/C/man3/timeradd.3:27 build/C/man2/times.2:38 build/C/man5/tzfile.5:8 build/C/man3/tzset.3:33 build/C/man2/utime.2:31 build/C/man2/utimensat.2:26
40 msgid "Linux Programmer's Manual"
44 #: build/C/man3/adjtime.3:26 build/C/man2/adjtimex.2:31 build/C/man3/clock.3:30 build/C/man3/clock_getcpuclockid.3:27 build/C/man2/clock_getres.2:31 build/C/man2/clock_nanosleep.2:27 build/C/man3/ctime.3:36 build/C/man3/difftime.3:31 build/C/man3/dysize.3:27 build/C/man3/ftime.3:31 build/C/man3/futimes.3:26 build/C/man2/futimesat.2:26 build/C/man3/getdate.3:31 build/C/man2/gettimeofday.2:41 build/C/man2/nanosleep.2:35 build/C/man4/rtc.4:31 build/C/man2/stime.2:31 build/C/man3/strftime.3:38 build/C/man3/strptime.3:32 build/C/man1/time.1:10 build/C/man2/time.2:30 build/C/man7/time.7:29 build/C/man3/timegm.3:26 build/C/man3/timeradd.3:28 build/C/man2/times.2:39 build/C/man5/tzfile.5:9 build/C/man8/tzselect.8:6 build/C/man3/tzset.3:34 build/C/man2/utime.2:32 build/C/man2/utimensat.2:27 build/C/man8/zdump.8:6 build/C/man8/zic.8:6
50 #: build/C/man3/adjtime.3:28
51 msgid "adjtime - correct the time to synchronize the system clock"
55 #: build/C/man3/adjtime.3:28 build/C/man2/adjtimex.2:33 build/C/man3/clock.3:32 build/C/man3/clock_getcpuclockid.3:29 build/C/man2/clock_getres.2:33 build/C/man2/clock_nanosleep.2:29 build/C/man3/ctime.3:39 build/C/man3/difftime.3:33 build/C/man3/dysize.3:29 build/C/man3/ftime.3:33 build/C/man3/futimes.3:28 build/C/man2/futimesat.2:29 build/C/man3/getdate.3:33 build/C/man2/gettimeofday.2:43 build/C/man2/nanosleep.2:37 build/C/man4/rtc.4:33 build/C/man2/stime.2:33 build/C/man3/strftime.3:40 build/C/man3/strptime.3:34 build/C/man1/time.1:12 build/C/man2/time.2:32 build/C/man3/timegm.3:28 build/C/man3/timeradd.3:30 build/C/man2/times.2:41 build/C/man8/tzselect.8:8 build/C/man3/tzset.3:36 build/C/man2/utime.2:34 build/C/man2/utimensat.2:29 build/C/man8/zdump.8:8 build/C/man8/zic.8:8
61 #: build/C/man3/adjtime.3:31
64 "B<int adjtime(const struct timeval *>I<delta>B<, struct timeval "
65 "*>I<olddelta>B<);>\n"
69 #: build/C/man3/adjtime.3:36 build/C/man3/clock_getcpuclockid.3:42 build/C/man2/clock_getres.2:47 build/C/man2/clock_nanosleep.2:44 build/C/man3/ctime.3:65 build/C/man3/dysize.3:37 build/C/man3/futimes.3:40 build/C/man2/futimesat.2:41 build/C/man3/getdate.3:47 build/C/man2/gettimeofday.2:56 build/C/man2/nanosleep.2:45 build/C/man2/stime.2:41 build/C/man3/timegm.3:40 build/C/man3/timeradd.3:50 build/C/man3/tzset.3:50 build/C/man2/utimensat.2:43
70 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
74 #: build/C/man3/adjtime.3:40
75 msgid "B<adjtime>(): _BSD_SOURCE"
79 #: build/C/man3/adjtime.3:40 build/C/man2/adjtimex.2:37 build/C/man3/clock.3:38 build/C/man3/clock_getcpuclockid.3:49 build/C/man2/clock_getres.2:57 build/C/man2/clock_nanosleep.2:51 build/C/man3/ctime.3:77 build/C/man3/difftime.3:39 build/C/man3/dysize.3:41 build/C/man3/ftime.3:37 build/C/man3/futimes.3:45 build/C/man2/futimesat.2:45 build/C/man3/getdate.3:62 build/C/man2/gettimeofday.2:60 build/C/man2/nanosleep.2:49 build/C/man4/rtc.4:37 build/C/man2/stime.2:45 build/C/man3/strftime.3:47 build/C/man3/strptime.3:41 build/C/man1/time.1:14 build/C/man2/time.2:36 build/C/man7/time.7:31 build/C/man3/timegm.3:45 build/C/man3/timeradd.3:54 build/C/man2/times.2:45 build/C/man5/tzfile.5:11 build/C/man8/tzselect.8:10 build/C/man3/tzset.3:63 build/C/man2/utime.2:46 build/C/man2/utimensat.2:68 build/C/man8/zdump.8:21 build/C/man8/zic.8:32
85 #: build/C/man3/adjtime.3:49
87 "The B<adjtime>() function gradually adjusts the system clock (as returned "
88 "by B<gettimeofday>(2)). The amount of time by which the clock is to be "
89 "adjusted is specified in the structure pointed to by I<delta>. This "
90 "structure has the following form:"
94 #: build/C/man3/adjtime.3:56 build/C/man2/gettimeofday.2:79 build/C/man3/timeradd.3:67
98 " time_t tv_sec; /* seconds */\n"
99 " suseconds_t tv_usec; /* microseconds */\n"
104 #: build/C/man3/adjtime.3:68
106 "If the adjustment in I<delta> is positive, then the system clock is speeded "
107 "up by some small percentage (i.e., by adding a small amount of time to the "
108 "clock value in each second) until the adjustment has been completed. If the "
109 "adjustment in I<delta> is negative, then the clock is slowed down in a "
114 #: build/C/man3/adjtime.3:78
116 "If a clock adjustment from an earlier B<adjtime>() call is already in "
117 "progress at the time of a later B<adjtime>() call, and I<delta> is not NULL "
118 "for the later call, then the earlier adjustment is stopped, but any already "
119 "completed part of that adjustment is not undone."
123 #: build/C/man3/adjtime.3:84
125 "If I<olddelta> is not NULL, then the buffer that it points to is used to "
126 "return the amount of time remaining from any previous adjustment that has "
127 "not yet been completed."
131 #: build/C/man3/adjtime.3:84 build/C/man2/adjtimex.2:93 build/C/man3/clock.3:42 build/C/man3/clock_getcpuclockid.3:60 build/C/man2/clock_getres.2:180 build/C/man2/clock_nanosleep.2:146 build/C/man3/ctime.3:277 build/C/man3/ftime.3:67 build/C/man3/futimes.3:61 build/C/man2/futimesat.2:84 build/C/man3/getdate.3:135 build/C/man2/gettimeofday.2:138 build/C/man2/nanosleep.2:102 build/C/man2/stime.2:53 build/C/man3/strftime.3:327 build/C/man3/strptime.3:288 build/C/man2/time.2:46 build/C/man3/timeradd.3:140 build/C/man2/times.2:101 build/C/man2/utime.2:124 build/C/man2/utimensat.2:225
137 #: build/C/man3/adjtime.3:91
139 "On success, B<adjtime>() returns 0. On failure, -1 is returned, and "
140 "I<errno> is set to indicate the error."
144 #: build/C/man3/adjtime.3:91 build/C/man2/adjtimex.2:113 build/C/man3/clock_getcpuclockid.3:65 build/C/man2/clock_getres.2:188 build/C/man2/clock_nanosleep.2:152 build/C/man3/futimes.3:66 build/C/man2/futimesat.2:91 build/C/man3/getdate.3:151 build/C/man2/gettimeofday.2:145 build/C/man2/nanosleep.2:110 build/C/man2/stime.2:58 build/C/man2/time.2:50 build/C/man3/timeradd.3:145 build/C/man2/times.2:110 build/C/man2/utime.2:129 build/C/man2/utimensat.2:234
150 #: build/C/man3/adjtime.3:92 build/C/man2/adjtimex.2:118 build/C/man2/clock_getres.2:193 build/C/man2/clock_nanosleep.2:162 build/C/man2/clock_nanosleep.2:169 build/C/man2/gettimeofday.2:153 build/C/man2/nanosleep.2:124 build/C/man2/utimensat.2:307 build/C/man2/utimensat.2:311 build/C/man2/utimensat.2:322
156 #: build/C/man3/adjtime.3:97
157 msgid "The adjustment in I<delta> is outside the permitted range."
161 #: build/C/man3/adjtime.3:97 build/C/man2/adjtimex.2:135 build/C/man3/clock_getcpuclockid.3:72 build/C/man2/clock_getres.2:201 build/C/man2/gettimeofday.2:156 build/C/man2/stime.2:62 build/C/man2/utime.2:153 build/C/man2/utimensat.2:365
167 #: build/C/man3/adjtime.3:103
169 "The caller does not have sufficient privilege to adjust the time. Under "
170 "Linux the B<CAP_SYS_TIME> capability is required."
174 #: build/C/man3/adjtime.3:103 build/C/man3/clock_getcpuclockid.3:88 build/C/man3/difftime.3:48 build/C/man3/dysize.3:51 build/C/man3/ftime.3:70 build/C/man3/futimes.3:93 build/C/man3/getdate.3:196
180 #: build/C/man3/adjtime.3:104 build/C/man3/clock_getcpuclockid.3:89 build/C/man3/difftime.3:49 build/C/man3/dysize.3:52 build/C/man3/ftime.3:71 build/C/man3/futimes.3:94 build/C/man3/getdate.3:197
182 msgid "Multithreading (see pthreads(7))"
186 #: build/C/man3/adjtime.3:108
187 msgid "The B<adjtime>() function is thread-safe."
191 #: build/C/man3/adjtime.3:108 build/C/man2/adjtimex.2:142 build/C/man3/clock.3:50 build/C/man3/clock_getcpuclockid.3:93 build/C/man2/clock_getres.2:207 build/C/man2/clock_nanosleep.2:181 build/C/man3/ctime.3:282 build/C/man3/difftime.3:53 build/C/man3/dysize.3:56 build/C/man3/ftime.3:75 build/C/man3/futimes.3:100 build/C/man2/futimesat.2:112 build/C/man3/getdate.3:205 build/C/man2/gettimeofday.2:163 build/C/man2/nanosleep.2:131 build/C/man2/stime.2:68 build/C/man3/strftime.3:361 build/C/man3/strptime.3:302 build/C/man2/time.2:55 build/C/man3/timegm.3:54 build/C/man3/timeradd.3:147 build/C/man2/times.2:115 build/C/man3/tzset.3:216 build/C/man2/utime.2:166 build/C/man2/utimensat.2:421
193 msgid "CONFORMING TO"
197 #: build/C/man3/adjtime.3:110
198 msgid "4.3BSD, System V."
202 #: build/C/man3/adjtime.3:110 build/C/man3/clock.3:56 build/C/man3/clock_getcpuclockid.3:95 build/C/man2/clock_getres.2:224 build/C/man2/clock_nanosleep.2:183 build/C/man3/ctime.3:301 build/C/man3/difftime.3:55 build/C/man3/dysize.3:58 build/C/man2/futimesat.2:119 build/C/man3/getdate.3:207 build/C/man2/gettimeofday.2:174 build/C/man2/nanosleep.2:133 build/C/man4/rtc.4:302 build/C/man3/strftime.3:385 build/C/man3/strptime.3:304 build/C/man2/time.2:61 build/C/man3/timegm.3:58 build/C/man2/times.2:117 build/C/man3/tzset.3:218 build/C/man2/utime.2:175 build/C/man2/utimensat.2:426 build/C/man8/zic.8:412
208 #: build/C/man3/adjtime.3:121
210 "The adjustment that B<adjtime>() makes to the clock is carried out in such "
211 "a manner that the clock is always monotonically increasing. Using "
212 "B<adjtime>() to adjust the time prevents the problems that can be caused "
213 "for certain applications (e.g., B<make>(1)) by abrupt positive or negative "
214 "jumps in the system time."
218 #: build/C/man3/adjtime.3:131
220 "B<adjtime>() is intended to be used to make small adjustments to the system "
221 "time. Most systems impose a limit on the adjustment that can be specified "
222 "in I<delta>. In the glibc implementation, I<delta> must be less than or "
223 "equal to (INT_MAX / 1000000 - 2) and greater than or equal to (INT_MIN / "
224 "1000000 + 2) (respectively 2145 and -2145 seconds on i386)."
228 #: build/C/man3/adjtime.3:131 build/C/man2/clock_getres.2:266 build/C/man3/ftime.3:90 build/C/man2/nanosleep.2:196 build/C/man3/strftime.3:454 build/C/man1/time.1:253 build/C/man2/times.2:193 build/C/man2/utimensat.2:460
233 #. http://sourceware.org/bugzilla/show_bug?id=2449
234 #. http://bugzilla.kernel.org/show_bug.cgi?id=6761
235 #. Thanks to the new adjtimex() ADJ_OFFSET_SS_READ flag
237 #: build/C/man3/adjtime.3:147
239 "A longstanding bug meant that if I<delta> was specified as NULL, no valid "
240 "information about the outstanding clock adjustment was returned in "
241 "I<olddelta>. (In this circumstance, B<adjtime>() should return the "
242 "outstanding clock adjustment, without changing it.) This bug is fixed on "
243 "systems with glibc 2.8 or later and Linux kernel 2.6.26 or later."
247 #: build/C/man3/adjtime.3:147 build/C/man2/adjtimex.2:150 build/C/man3/clock.3:97 build/C/man3/clock_getcpuclockid.3:154 build/C/man2/clock_getres.2:276 build/C/man2/clock_nanosleep.2:247 build/C/man3/ctime.3:362 build/C/man3/difftime.3:68 build/C/man3/dysize.3:62 build/C/man3/ftime.3:99 build/C/man3/futimes.3:103 build/C/man2/futimesat.2:128 build/C/man3/getdate.3:310 build/C/man2/gettimeofday.2:246 build/C/man2/nanosleep.2:210 build/C/man4/rtc.4:331 build/C/man2/stime.2:70 build/C/man3/strftime.3:564 build/C/man3/strptime.3:429 build/C/man1/time.1:306 build/C/man2/time.2:76 build/C/man7/time.7:188 build/C/man3/timegm.3:102 build/C/man3/timeradd.3:150 build/C/man2/times.2:208 build/C/man5/tzfile.5:157 build/C/man8/tzselect.8:47 build/C/man3/tzset.3:233 build/C/man2/utime.2:185 build/C/man2/utimensat.2:606 build/C/man8/zdump.8:56 build/C/man8/zic.8:418
253 #: build/C/man3/adjtime.3:151
254 msgid "B<adjtimex>(2), B<gettimeofday>(2), B<time>(7)"
258 #: build/C/man3/adjtime.3:151 build/C/man2/adjtimex.2:156 build/C/man3/clock.3:101 build/C/man3/clock_getcpuclockid.3:159 build/C/man2/clock_getres.2:288 build/C/man2/clock_nanosleep.2:255 build/C/man3/ctime.3:374 build/C/man3/difftime.3:75 build/C/man3/dysize.3:64 build/C/man3/ftime.3:102 build/C/man3/futimes.3:107 build/C/man2/futimesat.2:134 build/C/man3/getdate.3:316 build/C/man2/gettimeofday.2:256 build/C/man2/nanosleep.2:218 build/C/man4/rtc.4:344 build/C/man2/stime.2:74 build/C/man3/strftime.3:571 build/C/man3/strptime.3:435 build/C/man1/time.1:310 build/C/man2/time.2:82 build/C/man7/time.7:220 build/C/man3/timegm.3:107 build/C/man3/timeradd.3:153 build/C/man2/times.2:215 build/C/man5/tzfile.5:164 build/C/man8/tzselect.8:52 build/C/man3/tzset.3:240 build/C/man2/utime.2:192 build/C/man2/utimensat.2:615 build/C/man8/zdump.8:60 build/C/man8/zic.8:422
264 #: build/C/man3/adjtime.3:158 build/C/man2/adjtimex.2:163 build/C/man3/clock.3:108 build/C/man3/clock_getcpuclockid.3:166 build/C/man2/clock_getres.2:295 build/C/man2/clock_nanosleep.2:262 build/C/man3/ctime.3:381 build/C/man3/difftime.3:82 build/C/man3/dysize.3:71 build/C/man3/ftime.3:109 build/C/man3/futimes.3:114 build/C/man2/futimesat.2:141 build/C/man3/getdate.3:323 build/C/man2/gettimeofday.2:263 build/C/man2/nanosleep.2:225 build/C/man4/rtc.4:351 build/C/man2/stime.2:81 build/C/man3/strftime.3:578 build/C/man3/strptime.3:442 build/C/man1/time.1:317 build/C/man2/time.2:89 build/C/man7/time.7:227 build/C/man3/timegm.3:114 build/C/man3/timeradd.3:160 build/C/man2/times.2:222 build/C/man5/tzfile.5:171 build/C/man8/tzselect.8:59 build/C/man3/tzset.3:247 build/C/man2/utime.2:199 build/C/man2/utimensat.2:622 build/C/man8/zdump.8:67 build/C/man8/zic.8:429
266 "This page is part of release 3.64 of the Linux I<man-pages> project. A "
267 "description of the project, and information about reporting bugs, can be "
268 "found at \\%http://www.kernel.org/doc/man-pages/."
272 #: build/C/man2/adjtimex.2:30
278 #: build/C/man2/adjtimex.2:30
284 #: build/C/man2/adjtimex.2:33
285 msgid "adjtimex - tune kernel clock"
289 #: build/C/man2/adjtimex.2:35
290 msgid "B<#include E<lt>sys/timex.hE<gt>>"
294 #: build/C/man2/adjtimex.2:37
295 msgid "B<int adjtimex(struct timex *>I<buf>B<);>"
299 #: build/C/man2/adjtimex.2:47
301 "Linux uses David L. Mills' clock adjustment algorithm (see RFC\\ 1305). The "
302 "system call B<adjtimex>() reads and optionally sets adjustment parameters "
303 "for this algorithm. It takes a pointer to a I<timex> structure, updates "
304 "kernel parameters from field values, and returns the same structure with "
305 "current kernel values. This structure is declared as follows:"
308 #. FIXME -- what is the scaling unit? 2^16 ?
310 #: build/C/man2/adjtimex.2:65
314 " int modes; /* mode selector */\n"
315 " long offset; /* time offset (usec) */\n"
316 " long freq; /* frequency offset (scaled ppm) */\n"
317 " long maxerror; /* maximum error (usec) */\n"
318 " long esterror; /* estimated error (usec) */\n"
319 " int status; /* clock command/status */\n"
320 " long constant; /* pll time constant */\n"
321 " long precision; /* clock precision (usec) (read-only) */\n"
322 " long tolerance; /* clock frequency tolerance (ppm)\n"
324 " struct timeval time; /* current time (read-only) */\n"
325 " long tick; /* usecs between clock ticks */\n"
330 #: build/C/man2/adjtimex.2:74
332 "The I<modes> field determines which parameters, if any, to set. It may "
333 "contain a bitwise-I<or> combination of zero or more of the following bits:"
337 #: build/C/man2/adjtimex.2:85
340 "#define ADJ_OFFSET 0x0001 /* time offset */\n"
341 "#define ADJ_FREQUENCY 0x0002 /* frequency offset */\n"
342 "#define ADJ_MAXERROR 0x0004 /* maximum time error */\n"
343 "#define ADJ_ESTERROR 0x0008 /* estimated time error */\n"
344 "#define ADJ_STATUS 0x0010 /* clock status */\n"
345 "#define ADJ_TIMECONST 0x0020 /* pll time constant */\n"
346 "#define ADJ_TICK 0x4000 /* tick value */\n"
347 "#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime() */\n"
351 #: build/C/man2/adjtimex.2:91
353 "Ordinary users are restricted to a zero value for I<mode>. Only the "
354 "superuser may set any parameters."
358 #: build/C/man2/adjtimex.2:97
359 msgid "On success, B<adjtimex>() returns the clock state:"
363 #: build/C/man2/adjtimex.2:106
366 "#define TIME_OK 0 /* clock synchronized */\n"
367 "#define TIME_INS 1 /* insert leap second */\n"
368 "#define TIME_DEL 2 /* delete leap second */\n"
369 "#define TIME_OOP 3 /* leap second in progress */\n"
370 "#define TIME_WAIT 4 /* leap second has occurred */\n"
371 "#define TIME_BAD 5 /* clock not synchronized */\n"
375 #: build/C/man2/adjtimex.2:113
376 msgid "On failure, B<adjtimex>() returns -1 and sets I<errno>."
380 #: build/C/man2/adjtimex.2:114 build/C/man2/clock_getres.2:189 build/C/man2/clock_nanosleep.2:153 build/C/man2/gettimeofday.2:146 build/C/man2/nanosleep.2:111 build/C/man2/stime.2:59 build/C/man2/time.2:51 build/C/man2/times.2:111 build/C/man2/utimensat.2:297
386 #: build/C/man2/adjtimex.2:118
387 msgid "I<buf> does not point to writable memory."
391 #: build/C/man2/adjtimex.2:135
393 "An attempt is made to set I<buf.offset> to a value outside the range -131071 "
394 "to +131071, or to set I<buf.status> to a value other than those listed "
395 "above, or to set I<buf.tick> to a value outside the range 900000/B<HZ> to "
396 "1100000/B<HZ>, where B<HZ> is the system timer interrupt frequency."
400 #: build/C/man2/adjtimex.2:142
402 "I<buf.mode> is nonzero and the caller does not have sufficient privilege. "
403 "Under Linux the B<CAP_SYS_TIME> capability is required."
407 #: build/C/man2/adjtimex.2:150
409 "B<adjtimex>() is Linux-specific and should not be used in programs intended "
410 "to be portable. See B<adjtime>(3) for a more portable, but less flexible, "
411 "method of adjusting the system clock."
415 #: build/C/man2/adjtimex.2:156
417 "B<settimeofday>(2), B<adjtime>(3), B<capabilities>(7), B<time>(7), "
422 #: build/C/man3/clock.3:29
428 #: build/C/man3/clock.3:29
434 #: build/C/man3/clock.3:29 build/C/man3/difftime.3:30 build/C/man3/dysize.3:26 build/C/man3/ftime.3:30 build/C/man3/strftime.3:37 build/C/man3/strptime.3:31 build/C/man3/timegm.3:25
440 #: build/C/man3/clock.3:32
441 msgid "clock - determine processor time"
445 #: build/C/man3/clock.3:35 build/C/man3/ctime.3:42 build/C/man3/difftime.3:36 build/C/man3/strftime.3:43 build/C/man3/timegm.3:31 build/C/man3/tzset.3:39
447 msgid "B<#include E<lt>time.hE<gt>>\n"
451 #: build/C/man3/clock.3:37
453 msgid "B<clock_t clock(void);>\n"
457 #: build/C/man3/clock.3:42
459 "The B<clock>() function returns an approximation of processor time used by "
464 #: build/C/man3/clock.3:50
466 "The value returned is the CPU time used so far as a I<clock_t>; to get the "
467 "number of seconds used, divide by B<CLOCKS_PER_SEC>. If the processor time "
468 "used is not available or its value cannot be represented, the function "
469 "returns the value I<(clock_t)\\ -1>."
473 #: build/C/man3/clock.3:56
475 "C89, C99, POSIX.1-2001. POSIX requires that B<CLOCKS_PER_SEC> equals "
476 "1000000 independent of the actual resolution."
480 #: build/C/man3/clock.3:61
482 "The C standard allows for arbitrary values at the start of the program; "
483 "subtract the value returned from a call to B<clock>() at the start of the "
484 "program to get maximum portability."
488 #: build/C/man3/clock.3:67
490 "Note that the time can wrap around. On a 32-bit system where "
491 "B<CLOCKS_PER_SEC> equals 1000000 this function will return the same value "
492 "approximately every 72 minutes."
495 #. I have seen this behavior on Irix 6.3, and the OSF/1, HP/UX, and
496 #. Solaris manual pages say that clock() also does this on those systems.
497 #. POSIX.1-2001 doesn't explicitly allow this, nor is there an
498 #. explicit prohibition. -- MTK
500 #: build/C/man3/clock.3:86
502 "On several other implementations, the value returned by B<clock>() also "
503 "includes the times of any children whose status has been collected via "
504 "B<wait>(2) (or another wait-type call). Linux does not include the times "
505 "of waited-for children in the value returned by B<clock>(). The B<times>(2) "
506 "function, which explicitly returns (separate) information about the caller "
507 "and its children, may be preferable."
511 #: build/C/man3/clock.3:97
513 "In glibc 2.17 and earlier, B<clock>() was implemented on top of "
514 "B<times>(2). For improved precision, since glibc 2.18, it is implemented on "
515 "top of B<clock_gettime>(2) (using the B<CLOCK_PROCESS_CPUTIME_ID> clock)."
519 #: build/C/man3/clock.3:101
520 msgid "B<clock_gettime>(2), B<getrusage>(2), B<times>(2)"
524 #: build/C/man3/clock_getcpuclockid.3:26
526 msgid "CLOCK_GETCPUCLOCKID"
530 #: build/C/man3/clock_getcpuclockid.3:26 build/C/man3/timegm.3:25
536 #: build/C/man3/clock_getcpuclockid.3:29
537 msgid "clock_getcpuclockid - obtain ID of a process CPU-time clock"
541 #: build/C/man3/clock_getcpuclockid.3:31 build/C/man2/clock_getres.2:35 build/C/man2/clock_nanosleep.2:31 build/C/man3/dysize.3:31 build/C/man3/getdate.3:35 build/C/man3/getdate.3:41 build/C/man2/nanosleep.2:39 build/C/man2/stime.2:35 build/C/man3/strptime.3:38 build/C/man2/time.2:34
542 msgid "B<#include E<lt>time.hE<gt>>"
546 #: build/C/man3/clock_getcpuclockid.3:34
548 msgid "B<int clock_getcpuclockid(pid_t >I<pid>B<, clockid_t *>I<clock_id>B<);>\n"
552 #: build/C/man3/clock_getcpuclockid.3:37 build/C/man2/clock_getres.2:43 build/C/man2/clock_nanosleep.2:39
553 msgid "Link with I<-lrt> (only for glibc versions before 2.17)."
557 #: build/C/man3/clock_getcpuclockid.3:45
558 msgid "B<clock_getcpuclockid>():"
562 #: build/C/man3/clock_getcpuclockid.3:47 build/C/man2/clock_nanosleep.2:49
563 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
567 #: build/C/man3/clock_getcpuclockid.3:60
569 "The B<clock_getcpuclockid>() function obtains the ID of the CPU-time clock "
570 "of the process whose ID is I<pid>, and returns it in the location pointed to "
571 "by I<clock_id>. If I<pid> is zero, then the clock ID of the CPU-time clock "
572 "of the calling process is returned."
576 #: build/C/man3/clock_getcpuclockid.3:65
578 "On success, B<clock_getcpuclockid>() returns 0; on error, it returns one of "
579 "the positive error numbers listed in ERRORS."
583 #: build/C/man3/clock_getcpuclockid.3:66 build/C/man3/futimes.3:75 build/C/man3/futimes.3:83
589 #: build/C/man3/clock_getcpuclockid.3:72
591 "The kernel does not support obtaining the per-process CPU-time clock of "
592 "another process, and I<pid> does not specify the calling process."
596 #: build/C/man3/clock_getcpuclockid.3:80
598 "The caller does not have permission to access the CPU-time clock of the "
599 "process specified by I<pid>. (Specified as an optional error in "
600 "POSIX.1-2001; does not occur on Linux unless the kernel does not support "
601 "obtaining the per-process CPU-time clock of another process.)"
605 #: build/C/man3/clock_getcpuclockid.3:80 build/C/man2/utimensat.2:408
611 #: build/C/man3/clock_getcpuclockid.3:84
612 msgid "There is no process with the ID I<pid>."
616 #: build/C/man3/clock_getcpuclockid.3:84 build/C/man2/clock_getres.2:205 build/C/man2/clock_nanosleep.2:176 build/C/man3/futimes.3:86 build/C/man2/futimesat.2:108 build/C/man2/utimensat.2:413
622 #: build/C/man3/clock_getcpuclockid.3:88
624 "The B<clock_getcpuclockid>() function is available in glibc since version "
629 #: build/C/man3/clock_getcpuclockid.3:93
630 msgid "The B<clock_getcpuclockid>() function is thread-safe."
634 #: build/C/man3/clock_getcpuclockid.3:95 build/C/man2/clock_nanosleep.2:183 build/C/man3/getdate.3:207 build/C/man2/nanosleep.2:133
635 msgid "POSIX.1-2001."
639 #: build/C/man3/clock_getcpuclockid.3:105
641 "Calling B<clock_gettime>(2) with the clock ID obtained by a call to "
642 "B<clock_getcpuclockid>() with a I<pid> of 0, is the same as using the clock "
643 "ID B<CLOCK_PROCESS_CPUTIME_ID>."
647 #: build/C/man3/clock_getcpuclockid.3:105 build/C/man3/getdate.3:221 build/C/man3/strftime.3:505 build/C/man3/strptime.3:403
653 #: build/C/man3/clock_getcpuclockid.3:112
655 "The example program below obtains the CPU-time clock ID of the process whose "
656 "ID is given on the command line, and then uses B<clock_gettime>(2) to "
657 "obtain the time on that clock. An example run is the following:"
661 #: build/C/man3/clock_getcpuclockid.3:117
664 "$B< ./a.out 1> # Show CPU clock of init process\n"
665 "CPU-time clock for PID 1 is 2.213466748 seconds\n"
669 #: build/C/man3/clock_getcpuclockid.3:119 build/C/man3/getdate.3:272 build/C/man3/strftime.3:535
671 msgid "Program source"
675 #: build/C/man3/clock_getcpuclockid.3:127
678 "#define _XOPEN_SOURCE 600\n"
679 "#include E<lt>stdio.hE<gt>\n"
680 "#include E<lt>unistd.hE<gt>\n"
681 "#include E<lt>stdlib.hE<gt>\n"
682 "#include E<lt>time.hE<gt>\n"
686 #: build/C/man3/clock_getcpuclockid.3:133
690 "main(int argc, char *argv[])\n"
692 " clockid_t clockid;\n"
693 " struct timespec ts;\n"
697 #: build/C/man3/clock_getcpuclockid.3:138
700 " if (argc != 2) {\n"
701 " fprintf(stderr, \"%s E<lt>process-IDE<gt>\\en\", argv[0]);\n"
702 " exit(EXIT_FAILURE);\n"
707 #: build/C/man3/clock_getcpuclockid.3:143
710 " if (clock_getcpuclockid(atoi(argv[1]), &clockid) != 0) {\n"
711 " perror(\"clock_getcpuclockid\");\n"
712 " exit(EXIT_FAILURE);\n"
717 #: build/C/man3/clock_getcpuclockid.3:148
720 " if (clock_gettime(clockid, &ts) == -1) {\n"
721 " perror(\"clock_gettime\");\n"
722 " exit(EXIT_FAILURE);\n"
727 #: build/C/man3/clock_getcpuclockid.3:153
730 " printf(\"CPU-time clock for PID %s is %ld.%09ld seconds\\en\",\n"
731 " argv[1], (long) ts.tv_sec, (long) ts.tv_nsec);\n"
732 " exit(EXIT_SUCCESS);\n"
737 #: build/C/man3/clock_getcpuclockid.3:159
739 "B<clock_getres>(2), B<timer_create>(2), B<pthread_getcpuclockid>(3), "
744 #: build/C/man2/clock_getres.2:30
750 #: build/C/man2/clock_getres.2:30
756 #: build/C/man2/clock_getres.2:33
757 msgid "clock_getres, clock_gettime, clock_settime - clock and time functions"
761 #: build/C/man2/clock_getres.2:37
762 msgid "B<int clock_getres(clockid_t >I<clk_id>B<, struct timespec *>I<res>B<);>"
766 #: build/C/man2/clock_getres.2:39
767 msgid "B<int clock_gettime(clockid_t >I<clk_id>B<, struct timespec *>I<tp>B<);>"
771 #: build/C/man2/clock_getres.2:41
773 "B<int clock_settime(clockid_t >I<clk_id>B<, const struct timespec "
778 #: build/C/man2/clock_getres.2:53
779 msgid "B<clock_getres>(), B<clock_gettime>(), B<clock_settime>():"
783 #: build/C/man2/clock_getres.2:55
784 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
788 #: build/C/man2/clock_getres.2:76
790 "The function B<clock_getres>() finds the resolution (precision) of the "
791 "specified clock I<clk_id>, and, if I<res> is non-NULL, stores it in the "
792 "I<struct timespec> pointed to by I<res>. The resolution of clocks depends "
793 "on the implementation and cannot be configured by a particular process. If "
794 "the time value pointed to by the argument I<tp> of B<clock_settime>() is "
795 "not a multiple of I<res>, then it is truncated to a multiple of I<res>."
799 #: build/C/man2/clock_getres.2:83
801 "The functions B<clock_gettime>() and B<clock_settime>() retrieve and set "
802 "the time of the specified clock I<clk_id>."
806 #: build/C/man2/clock_getres.2:92
808 "The I<res> and I<tp> arguments are I<timespec> structures, as specified in "
809 "I<E<lt>time.hE<gt>>:"
813 #: build/C/man2/clock_getres.2:99
816 "struct timespec {\n"
817 " time_t tv_sec; /* seconds */\n"
818 " long tv_nsec; /* nanoseconds */\n"
823 #: build/C/man2/clock_getres.2:107
825 "The I<clk_id> argument is the identifier of the particular clock on which to "
826 "act. A clock may be system-wide and hence visible for all processes, or "
827 "per-process if it measures time only within a single process."
831 #: build/C/man2/clock_getres.2:114
833 "All implementations support the system-wide real-time clock, which is "
834 "identified by B<CLOCK_REALTIME>. Its time represents seconds and "
835 "nanoseconds since the Epoch. When its time is changed, timers for a "
836 "relative interval are unaffected, but timers for an absolute point in time "
841 #: build/C/man2/clock_getres.2:118
843 "More clocks may be implemented. The interpretation of the corresponding "
844 "time values and the effect on timers is unspecified."
848 #: build/C/man2/clock_getres.2:121
850 "Sufficiently recent versions of glibc and the Linux kernel support the "
855 #: build/C/man2/clock_getres.2:121 build/C/man2/clock_nanosleep.2:80
857 msgid "B<CLOCK_REALTIME>"
861 #: build/C/man2/clock_getres.2:130
863 "System-wide clock that measures real (i.e., wall-clock) time. Setting this "
864 "clock requires appropriate privileges. This clock is affected by "
865 "discontinuous jumps in the system time (e.g., if the system administrator "
866 "manually changes the clock), and by the incremental adjustments performed by "
867 "B<adjtime>(3) and NTP."
871 #: build/C/man2/clock_getres.2:130
873 msgid "B<CLOCK_REALTIME_COARSE> (since Linux 2.6.32; Linux-specific)"
876 #. Added in commit da15cfdae03351c689736f8d142618592e3cebc3
878 #: build/C/man2/clock_getres.2:136
880 "A faster but less precise version of B<CLOCK_REALTIME>. Use when you need "
881 "very fast, but not fine-grained timestamps."
885 #: build/C/man2/clock_getres.2:137 build/C/man2/clock_nanosleep.2:83
887 msgid "B<CLOCK_MONOTONIC>"
891 #: build/C/man2/clock_getres.2:146
893 "Clock that cannot be set and represents monotonic time since some "
894 "unspecified starting point. This clock is not affected by discontinuous "
895 "jumps in the system time (e.g., if the system administrator manually changes "
896 "the clock), but is affected by the incremental adjustments performed by "
897 "B<adjtime>(3) and NTP."
901 #: build/C/man2/clock_getres.2:146
903 msgid "B<CLOCK_MONOTONIC_COARSE> (since Linux 2.6.32; Linux-specific)"
906 #. Added in commit da15cfdae03351c689736f8d142618592e3cebc3
908 #: build/C/man2/clock_getres.2:152
910 "A faster but less precise version of B<CLOCK_MONOTONIC>. Use when you need "
911 "very fast, but not fine-grained timestamps."
915 #: build/C/man2/clock_getres.2:152
917 msgid "B<CLOCK_MONOTONIC_RAW> (since Linux 2.6.28; Linux-specific)"
920 #. Added in commit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68, John Stultz
922 #: build/C/man2/clock_getres.2:161
924 "Similar to B<CLOCK_MONOTONIC>, but provides access to a raw hardware-based "
925 "time that is not subject to NTP adjustments or the incremental adjustments "
926 "performed by B<adjtime>(3)."
930 #: build/C/man2/clock_getres.2:161
932 msgid "B<CLOCK_BOOTTIME> (since Linux 2.6.39; Linux-specific)"
935 #. commit 7fdd7f89006dd5a4c702fa0ce0c272345fa44ae0
936 #. commit 70a08cca1227dc31c784ec930099a4417a06e7d0
938 #: build/C/man2/clock_getres.2:173
940 "Identical to B<CLOCK_MONOTONIC>, except it also includes any time that the "
941 "system is suspended. This allows applications to get a suspend-aware "
942 "monotonic clock without having to deal with the complications of "
943 "B<CLOCK_REALTIME>, which may have discontinuities if the time is changed "
944 "using B<settimeofday>(2)."
948 #: build/C/man2/clock_getres.2:173
950 msgid "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
954 #: build/C/man2/clock_getres.2:177
956 "Per-process CPU-time clock (measures CPU time consumed by all threads in the "
961 #: build/C/man2/clock_getres.2:177
963 msgid "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
967 #: build/C/man2/clock_getres.2:180
968 msgid "Thread-specific CPU-time clock."
972 #: build/C/man2/clock_getres.2:188
974 "B<clock_gettime>(), B<clock_settime>() and B<clock_getres>() return 0 for "
975 "success, or -1 for failure (in which case I<errno> is set appropriately)."
979 #: build/C/man2/clock_getres.2:193
980 msgid "I<tp> points outside the accessible address space."
983 #. Linux also gives this error on attempts to set CLOCK_PROCESS_CPUTIME_ID
984 #. and CLOCK_THREAD_CPUTIME_ID, when probably the proper error should be
987 #: build/C/man2/clock_getres.2:201
988 msgid "The I<clk_id> specified is not supported on this system."
992 #: build/C/man2/clock_getres.2:205
993 msgid "B<clock_settime>() does not have permission to set the clock indicated."
997 #: build/C/man2/clock_getres.2:207
998 msgid "These system calls first appeared in Linux 2.6."
1002 #: build/C/man2/clock_getres.2:209 build/C/man3/strptime.3:304
1003 msgid "SUSv2, POSIX.1-2001."
1007 #: build/C/man2/clock_getres.2:209
1009 msgid "AVAILABILITY"
1013 #: build/C/man2/clock_getres.2:224
1015 "On POSIX systems on which these functions are available, the symbol "
1016 "B<_POSIX_TIMERS> is defined in I<E<lt>unistd.hE<gt>> to a value greater than "
1017 "0. The symbols B<_POSIX_MONOTONIC_CLOCK>, B<_POSIX_CPUTIME>, "
1018 "B<_POSIX_THREAD_CPUTIME> indicate that B<CLOCK_MONOTONIC>, "
1019 "B<CLOCK_PROCESS_CPUTIME_ID>, B<CLOCK_THREAD_CPUTIME_ID> are available. (See "
1020 "also B<sysconf>(3).)"
1024 #: build/C/man2/clock_getres.2:225
1026 msgid "Historical note for SMP systems"
1030 #: build/C/man2/clock_getres.2:237
1032 "Before Linux added kernel support for B<CLOCK_PROCESS_CPUTIME_ID> and "
1033 "B<CLOCK_THREAD_CPUTIME_ID>, glibc implemented these clocks on many platforms "
1034 "using timer registers from the CPUs (TSC on i386, AR.ITC on Itanium). These "
1035 "registers may differ between CPUs and as a consequence these clocks may "
1036 "return B<bogus results> if a process is migrated to another CPU."
1040 #: build/C/man2/clock_getres.2:248
1042 "If the CPUs in an SMP system have different clock sources, then there is no "
1043 "way to maintain a correlation between the timer registers since each CPU "
1044 "will run at a slightly different frequency. If that is the case, then "
1045 "I<clock_getcpuclockid(0)> will return B<ENOENT> to signify this condition. "
1046 "The two clocks will then be useful only if it can be ensured that a process "
1047 "stays on a certain CPU."
1051 #: build/C/man2/clock_getres.2:257
1053 "The processors in an SMP system do not start all at exactly the same time "
1054 "and therefore the timer registers are typically running at an offset. Some "
1055 "architectures include code that attempts to limit these offsets on bootup. "
1056 "However, the code cannot guarantee to accurately tune the offsets. Glibc "
1057 "contains no provisions to deal with these offsets (unlike the Linux "
1058 "Kernel). Typically these offsets are small and therefore the effects may be "
1059 "negligible in most cases."
1063 #: build/C/man2/clock_getres.2:266
1065 "Since glibc 2.4, the wrapper functions for the system calls described in "
1066 "this page avoid the abovementioned problems by employing the kernel "
1067 "implementation of B<CLOCK_PROCESS_CPUTIME_ID> and "
1068 "B<CLOCK_THREAD_CPUTIME_ID>, on systems that provide such an implementation "
1069 "(i.e., Linux 2.6.12 and later)."
1072 #. See http://bugzilla.kernel.org/show_bug.cgi?id=11972
1074 #: build/C/man2/clock_getres.2:276
1076 "According to POSIX.1-2001, a process with \"appropriate privileges\" may set "
1077 "the B<CLOCK_PROCESS_CPUTIME_ID> and B<CLOCK_THREAD_CPUTIME_ID> clocks using "
1078 "B<clock_settime>(). On Linux, these clocks are not settable (i.e., no "
1079 "process has \"appropriate privileges\")."
1083 #: build/C/man2/clock_getres.2:288
1085 "B<date>(1), B<gettimeofday>(2), B<settimeofday>(2), B<time>(2), "
1086 "B<adjtime>(3), B<clock_getcpuclockid>(3), B<ctime>(3), B<ftime>(3), "
1087 "B<pthread_getcpuclockid>(3), B<sysconf>(3), B<time>(7)"
1091 #: build/C/man2/clock_nanosleep.2:26
1093 msgid "CLOCK_NANOSLEEP"
1097 #: build/C/man2/clock_nanosleep.2:26 build/C/man2/nanosleep.2:34
1103 #: build/C/man2/clock_nanosleep.2:29
1104 msgid "clock_nanosleep - high-resolution sleep with specifiable clock"
1108 #: build/C/man2/clock_nanosleep.2:36
1111 "B<int clock_nanosleep(clockid_t >I<clock_id>B<, int >I<flags>B<,>\n"
1112 "B< const struct timespec *>I<request>B<,>\n"
1113 "B< struct timespec *>I<remain>B<);>\n"
1117 #: build/C/man2/clock_nanosleep.2:47
1118 msgid "B<clock_nanosleep>():"
1122 #: build/C/man2/clock_nanosleep.2:61
1124 "Like B<nanosleep>(2), B<clock_nanosleep>() allows the calling thread to "
1125 "sleep for an interval specified with nanosecond precision. It differs in "
1126 "allowing the caller to select the clock against which the sleep interval is "
1127 "to be measured, and in allowing the sleep interval to be specified as either "
1128 "an absolute or a relative value."
1132 #: build/C/man2/clock_nanosleep.2:65
1134 "The time values passed to and returned by this call are specified using "
1135 "I<timespec> structures, defined as follows:"
1139 #: build/C/man2/clock_nanosleep.2:72
1142 "struct timespec {\n"
1143 " time_t tv_sec; /* seconds */\n"
1144 " long tv_nsec; /* nanoseconds [0 .. 999999999] */\n"
1149 #: build/C/man2/clock_nanosleep.2:80
1151 "The I<clock_id> argument specifies the clock against which the sleep "
1152 "interval is to be measured. This argument can have one of the following "
1157 #: build/C/man2/clock_nanosleep.2:83
1158 msgid "A settable system-wide real-time clock."
1161 #. On Linux this clock measures time since boot.
1163 #: build/C/man2/clock_nanosleep.2:89
1165 "A nonsettable, monotonically increasing clock that measures time since some "
1166 "unspecified point in the past that does not change after system startup."
1170 #: build/C/man2/clock_nanosleep.2:89
1172 msgid "B<CLOCK_PROCESS_CPUTIME_ID>"
1175 #. There is some trickery between glibc and the kernel
1176 #. to deal with the CLOCK_PROCESS_CPUTIME_ID case.
1178 #: build/C/man2/clock_nanosleep.2:95
1180 "A settable per-process clock that measures CPU time consumed by all threads "
1185 #: build/C/man2/clock_nanosleep.2:99
1186 msgid "See B<clock_getres>(2) for further details on these clocks."
1190 #: build/C/man2/clock_nanosleep.2:107
1192 "If I<flags> is 0, then the value specified in I<request> is interpreted as "
1193 "an interval relative to the current value of the clock specified by "
1198 #: build/C/man2/clock_nanosleep.2:122
1200 "If I<flags> is B<TIMER_ABSTIME>, then I<request> is interpreted as an "
1201 "absolute time as measured by the clock, I<clock_id>. If I<request> is less "
1202 "than or equal to the current value of the clock, then B<clock_nanosleep>() "
1203 "returns immediately without suspending the calling thread."
1207 #: build/C/man2/clock_nanosleep.2:130
1209 "B<clock_nanosleep>() suspends the execution of the calling thread until "
1210 "either at least the time specified by I<request> has elapsed, or a signal is "
1211 "delivered that causes a signal handler to be called or that terminates the "
1216 #: build/C/man2/clock_nanosleep.2:146
1218 "If the call is interrupted by a signal handler, B<clock_nanosleep>() fails "
1219 "with the error B<EINTR>. In addition, if I<remain> is not NULL, and "
1220 "I<flags> was not B<TIMER_ABSTIME>, it returns the remaining unslept time in "
1221 "I<remain>. This value can then be used to call B<clock_nanosleep>() again "
1222 "and complete a (relative) sleep."
1226 #: build/C/man2/clock_nanosleep.2:152
1228 "On successfully sleeping for the requested interval, B<clock_nanosleep>() "
1229 "returns 0. If the call is interrupted by a signal handler or encounters an "
1230 "error, then it returns one of the positive error number listed in ERRORS."
1234 #: build/C/man2/clock_nanosleep.2:159
1235 msgid "I<request> or I<remain> specified an invalid address."
1239 #: build/C/man2/clock_nanosleep.2:159 build/C/man2/nanosleep.2:114
1245 #: build/C/man2/clock_nanosleep.2:162
1246 msgid "The sleep was interrupted by a signal handler."
1250 #: build/C/man2/clock_nanosleep.2:169 build/C/man2/nanosleep.2:131
1252 "The value in the I<tv_nsec> field was not in the range 0 to 999999999 or "
1253 "I<tv_sec> was negative."
1257 #: build/C/man2/clock_nanosleep.2:176
1259 "I<clock_id> was invalid. (B<CLOCK_THREAD_CPUTIME_ID> is not a permitted "
1260 "value for I<clock_id>.)"
1264 #: build/C/man2/clock_nanosleep.2:181
1266 "The B<clock_nanosleep>() system call first appeared in Linux 2.6. Support "
1267 "is available in glibc since version 2.1."
1271 #: build/C/man2/clock_nanosleep.2:191
1273 "If the interval specified in I<request> is not an exact multiple of the "
1274 "granularity underlying clock (see B<time>(7)), then the interval will be "
1275 "rounded up to the next multiple. Furthermore, after the sleep completes, "
1276 "there may still be a delay before the CPU becomes free to once again execute "
1277 "the calling thread."
1281 #: build/C/man2/clock_nanosleep.2:206
1283 "Using an absolute timer is useful for preventing timer drift problems of the "
1284 "type described in B<nanosleep>(2). (Such problems are exacerbated in "
1285 "programs that try to restart a relative sleep that is repeatedly interrupted "
1286 "by signals.) To perform a relative sleep that avoids these problems, call "
1287 "B<clock_gettime>(2) for the desired clock, add the desired interval to the "
1288 "returned time value, and then call B<clock_nanosleep>() with the "
1289 "B<TIMER_ABSTIME> flag."
1293 #: build/C/man2/clock_nanosleep.2:213
1295 "B<clock_nanosleep>() is never restarted after being interrupted by a signal "
1296 "handler, regardless of the use of the B<sigaction>(2) B<SA_RESTART> flag."
1300 #: build/C/man2/clock_nanosleep.2:223
1302 "The I<remain> argument is unused, and unnecessary, when I<flags> is "
1303 "B<TIMER_ABSTIME>. (An absolute sleep can be restarted using the same "
1304 "I<request> argument.)"
1308 #: build/C/man2/clock_nanosleep.2:227
1310 "POSIX.1 specifies that B<clock_nanosleep>() has no effect on signals "
1311 "dispositions or the signal mask."
1315 #: build/C/man2/clock_nanosleep.2:239
1317 "POSIX.1 specifies that after changing the value of the B<CLOCK_REALTIME> "
1318 "clock via B<clock_settime>(2), the new clock value shall be used to "
1319 "determine the time at which a thread blocked on an absolute "
1320 "B<clock_nanosleep>() will wake up; if the new clock value falls past the "
1321 "end of the sleep interval, then the B<clock_nanosleep>() call will return "
1326 #: build/C/man2/clock_nanosleep.2:247
1328 "POSIX.1 specifies that changing the value of the B<CLOCK_REALTIME> clock via "
1329 "B<clock_settime>(2) shall have no effect on a thread that is blocked on a "
1330 "relative B<clock_nanosleep>()."
1334 #: build/C/man2/clock_nanosleep.2:255
1336 "B<clock_getres>(2), B<nanosleep>(2), B<restart_syscall>(2), "
1337 "B<timer_create>(2), B<sleep>(3), B<usleep>(3), B<time>(7)"
1341 #: build/C/man3/ctime.3:35
1347 #: build/C/man3/ctime.3:35
1353 #: build/C/man3/ctime.3:39
1355 "asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r, gmtime_r, "
1356 "localtime_r - transform date and time to broken-down time or ASCII"
1360 #: build/C/man3/ctime.3:44
1362 msgid "B<char *asctime(const struct tm *>I<tm>B<);>\n"
1366 #: build/C/man3/ctime.3:46
1368 msgid "B<char *asctime_r(const struct tm *>I<tm>B<, char *>I<buf>B<);>\n"
1372 #: build/C/man3/ctime.3:48
1374 msgid "B<char *ctime(const time_t *>I<timep>B<);>\n"
1378 #: build/C/man3/ctime.3:50
1380 msgid "B<char *ctime_r(const time_t *>I<timep>B<, char *>I<buf>B<);>\n"
1384 #: build/C/man3/ctime.3:52
1386 msgid "B<struct tm *gmtime(const time_t *>I<timep>B<);>\n"
1390 #: build/C/man3/ctime.3:54
1393 "B<struct tm *gmtime_r(const time_t *>I<timep>B<, struct tm "
1394 "*>I<result>B<);>\n"
1398 #: build/C/man3/ctime.3:56
1400 msgid "B<struct tm *localtime(const time_t *>I<timep>B<);>\n"
1404 #: build/C/man3/ctime.3:58
1407 "B<struct tm *localtime_r(const time_t *>I<timep>B<, struct tm "
1408 "*>I<result>B<);>\n"
1412 #: build/C/man3/ctime.3:60
1414 msgid "B<time_t mktime(struct tm *>I<tm>B<);>\n"
1418 #: build/C/man3/ctime.3:72
1419 msgid "B<asctime_r>(), B<ctime_r>(), B<gmtime_r>(), B<localtime_r>():"
1423 #: build/C/man3/ctime.3:75
1425 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1430 #: build/C/man3/ctime.3:87
1432 "The B<ctime>(), B<gmtime>() and B<localtime>() functions all take an "
1433 "argument of data type I<time_t>, which represents calendar time. When "
1434 "interpreted as an absolute time value, it represents the number of seconds "
1435 "elapsed since the Epoch, 1970-01-01 00:00:00 +0000 (UTC)."
1439 #: build/C/man3/ctime.3:95
1441 "The B<asctime>() and B<mktime>() functions both take an argument "
1442 "representing broken-down time, which is a representation separated into "
1443 "year, month, day, and so on."
1447 #: build/C/man3/ctime.3:98
1449 "Broken-down time is stored in the structure I<tm>, which is defined in "
1450 "I<E<lt>time.hE<gt>> as follows:"
1454 #: build/C/man3/ctime.3:112 build/C/man3/strptime.3:74
1458 " int tm_sec; /* Seconds (0-60) */\n"
1459 " int tm_min; /* Minutes (0-59) */\n"
1460 " int tm_hour; /* Hours (0-23) */\n"
1461 " int tm_mday; /* Day of the month (1-31) */\n"
1462 " int tm_mon; /* Month (0-11) */\n"
1463 " int tm_year; /* Year - 1900 */\n"
1464 " int tm_wday; /* Day of the week (0-6, Sunday = 0) */\n"
1465 " int tm_yday; /* Day in the year (0-365, 1 Jan = 0) */\n"
1466 " int tm_isdst; /* Daylight saving time */\n"
1471 #: build/C/man3/ctime.3:116
1472 msgid "The members of the I<tm> structure are:"
1476 #: build/C/man3/ctime.3:116
1482 #: build/C/man3/ctime.3:120
1484 "The number of seconds after the minute, normally in the range 0 to 59, but "
1485 "can be up to 60 to allow for leap seconds."
1489 #: build/C/man3/ctime.3:120
1495 #: build/C/man3/ctime.3:123
1496 msgid "The number of minutes after the hour, in the range 0 to 59."
1500 #: build/C/man3/ctime.3:123
1506 #: build/C/man3/ctime.3:126
1507 msgid "The number of hours past midnight, in the range 0 to 23."
1511 #: build/C/man3/ctime.3:126
1517 #: build/C/man3/ctime.3:129
1518 msgid "The day of the month, in the range 1 to 31."
1522 #: build/C/man3/ctime.3:129
1528 #: build/C/man3/ctime.3:132
1529 msgid "The number of months since January, in the range 0 to 11."
1533 #: build/C/man3/ctime.3:132
1539 #: build/C/man3/ctime.3:135
1540 msgid "The number of years since 1900."
1544 #: build/C/man3/ctime.3:135
1550 #: build/C/man3/ctime.3:138
1551 msgid "The number of days since Sunday, in the range 0 to 6."
1555 #: build/C/man3/ctime.3:138
1561 #: build/C/man3/ctime.3:141
1562 msgid "The number of days since January 1, in the range 0 to 365."
1566 #: build/C/man3/ctime.3:141
1572 #: build/C/man3/ctime.3:148
1574 "A flag that indicates whether daylight saving time is in effect at the time "
1575 "described. The value is positive if daylight saving time is in effect, zero "
1576 "if it is not, and negative if the information is not available."
1580 #: build/C/man3/ctime.3:155
1582 "The call B<ctime(>I<t>B<)> is equivalent to B<asctime(localtime(>I<t>B<))>. "
1583 "It converts the calendar time I<t> into a null-terminated string of the form"
1587 #: build/C/man3/ctime.3:158
1588 msgid "Wed Jun 30 21:49:08 1993\\en"
1592 #: build/C/man3/ctime.3:179
1594 "The abbreviations for the days of the week are \"Sun\", \"Mon\", \"Tue\", "
1595 "\"Wed\", \"Thu\", \"Fri\", and \"Sat\". The abbreviations for the months "
1596 "are \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", "
1597 "\"Sep\", \"Oct\", \"Nov\", and \"Dec\". The return value points to a "
1598 "statically allocated string which might be overwritten by subsequent calls "
1599 "to any of the date and time functions. The function also sets the external "
1600 "variables I<tzname>, I<timezone>, and I<daylight> (see B<tzset>(3)) with "
1601 "information about the current timezone. The reentrant version B<ctime_r>() "
1602 "does the same, but stores the string in a user-supplied buffer which should "
1603 "have room for at least 26 bytes. It need not set I<tzname>, I<timezone>, "
1608 #: build/C/man3/ctime.3:192
1610 "The B<gmtime>() function converts the calendar time I<timep> to broken-down "
1611 "time representation, expressed in Coordinated Universal Time (UTC). It may "
1612 "return NULL when the year does not fit into an integer. The return value "
1613 "points to a statically allocated struct which might be overwritten by "
1614 "subsequent calls to any of the date and time functions. The B<gmtime_r>() "
1615 "function does the same, but stores the data in a user-supplied struct."
1619 #: build/C/man3/ctime.3:212
1621 "The B<localtime>() function converts the calendar time I<timep> to "
1622 "broken-down time representation, expressed relative to the user's specified "
1623 "timezone. The function acts as if it called B<tzset>(3) and sets the "
1624 "external variables I<tzname> with information about the current timezone, "
1625 "I<timezone> with the difference between Coordinated Universal Time (UTC) and "
1626 "local standard time in seconds, and I<daylight> to a nonzero value if "
1627 "daylight savings time rules apply during some part of the year. The return "
1628 "value points to a statically allocated struct which might be overwritten by "
1629 "subsequent calls to any of the date and time functions. The "
1630 "B<localtime_r>() function does the same, but stores the data in a "
1631 "user-supplied struct. It need not set I<tzname>, I<timezone>, and "
1636 #: build/C/man3/ctime.3:224
1638 "The B<asctime>() function converts the broken-down time value I<tm> into a "
1639 "null-terminated string with the same format as B<ctime>(). The return value "
1640 "points to a statically allocated string which might be overwritten by "
1641 "subsequent calls to any of the date and time functions. The B<asctime_r>() "
1642 "function does the same, but stores the string in a user-supplied buffer "
1643 "which should have room for at least 26 bytes."
1647 #: build/C/man3/ctime.3:249
1649 "The B<mktime>() function converts a broken-down time structure, expressed "
1650 "as local time, to calendar time representation. The function ignores the "
1651 "values supplied by the caller in the I<tm_wday> and I<tm_yday> fields. The "
1652 "value specified in the I<tm_isdst> field informs B<mktime>() whether or not "
1653 "daylight saving time (DST) is in effect for the time supplied in the I<tm> "
1654 "structure: a positive value means DST is in effect; zero means that DST is "
1655 "not in effect; and a negative value means that B<mktime>() should (use "
1656 "timezone information and system databases to) attempt to determine whether "
1657 "DST is in effect at the specified time."
1661 #: build/C/man3/ctime.3:269
1663 "The B<mktime>() function modifies the fields of the I<tm> structure as "
1664 "follows: I<tm_wday> and I<tm_yday> are set to values determined from the "
1665 "contents of the other fields; if structure members are outside their valid "
1666 "interval, they will be normalized (so that, for example, 40 October is "
1667 "changed into 9 November); I<tm_isdst> is set (regardless of its initial "
1668 "value) to a positive value or to 0, respectively, to indicate whether DST "
1669 "is or is not in effect at the specified time. Calling B<mktime>() also "
1670 "sets the external variable I<tzname> with information about the current "
1675 #: build/C/man3/ctime.3:277
1677 "If the specified broken-down time cannot be represented as calendar time "
1678 "(seconds since the Epoch), B<mktime>() returns I<(time_t)\\ -1> and does "
1679 "not alter the members of the broken-down time structure."
1683 #: build/C/man3/ctime.3:282
1685 "Each of these functions returns the value described, or NULL (-1 in case of "
1686 "B<mktime>()) in case an error was detected."
1690 #: build/C/man3/ctime.3:301
1692 "POSIX.1-2001. C89 and C99 specify B<asctime>(), B<ctime>(), B<gmtime>(), "
1693 "B<localtime>(), and B<mktime>(). POSIX.1-2008 marks B<asctime>(), "
1694 "B<asctime_r>(), B<ctime>(), and B<ctime_r>() as obsolete, recommending the "
1695 "use of B<strftime>(3) instead."
1699 #: build/C/man3/ctime.3:316
1701 "The four functions B<asctime>(), B<ctime>(), B<gmtime>() and B<localtime>() "
1702 "return a pointer to static data and hence are not thread-safe. Thread-safe "
1703 "versions B<asctime_r>(), B<ctime_r>(), B<gmtime_r>() and B<localtime_r>() "
1704 "are specified by SUSv2, and available since libc 5.2.5."
1708 #: build/C/man3/ctime.3:330
1710 "POSIX.1-2001 says: \"The B<asctime>(), B<ctime>(), B<gmtime>(), and "
1711 "B<localtime>() functions shall return values in one of two static objects: "
1712 "a broken-down time structure and an array of type I<char>. Execution of any "
1713 "of the functions may overwrite the information returned in either of these "
1714 "objects by any of the other functions.\" This can occur in the glibc "
1719 #: build/C/man3/ctime.3:334
1721 "In many implementations, including glibc, a 0 in I<tm_mday> is interpreted "
1722 "as meaning the last day of the preceding month."
1726 #: build/C/man3/ctime.3:336
1727 msgid "The glibc version of I<struct tm> has additional fields"
1731 #: build/C/man3/ctime.3:341
1734 "long tm_gmtoff; /* Seconds east of UTC */\n"
1735 "const char *tm_zone; /* Timezone abbreviation */\n"
1739 #: build/C/man3/ctime.3:349
1741 "defined when B<_BSD_SOURCE> was set before including I<E<lt>time.hE<gt>>. "
1742 "This is a BSD extension, present in 4.3BSD-Reno."
1745 #. See http://thread.gmane.org/gmane.comp.time.tz/2034/
1747 #: build/C/man3/ctime.3:362
1749 "According to POSIX.1-2004, B<localtime>() is required to behave as though "
1750 "B<tzset>(3) was called, while B<localtime_r>() does not have this "
1751 "requirement. For portable code B<tzset>(3) should be called before "
1756 #: build/C/man3/ctime.3:374
1758 "B<date>(1), B<gettimeofday>(2), B<time>(2), B<utime>(2), B<clock>(3), "
1759 "B<difftime>(3), B<strftime>(3), B<strptime>(3), B<timegm>(3), B<tzset>(3), "
1764 #: build/C/man3/difftime.3:30
1770 #: build/C/man3/difftime.3:30
1776 #: build/C/man3/difftime.3:33
1777 msgid "difftime - calculate time difference"
1781 #: build/C/man3/difftime.3:38
1783 msgid "B<double difftime(time_t >I<time1>B<, time_t >I<time0>B<);>\n"
1787 #: build/C/man3/difftime.3:48
1789 "The B<difftime>() function returns the number of seconds elapsed between "
1790 "time I<time1> and time I<time0>, represented as a I<double>. Each of the "
1791 "times is specified in calendar time, which means its value is a measurement "
1792 "(in seconds) relative to the Epoch, 1970-01-01 00:00:00 +0000 (UTC)."
1796 #: build/C/man3/difftime.3:53
1797 msgid "The B<difftime>() function is thread-safe."
1801 #: build/C/man3/difftime.3:55
1802 msgid "SVr4, 4.3BSD, C89, C99."
1806 #: build/C/man3/difftime.3:60
1808 "On a POSIX system, I<time_t> is an arithmetic type, and one could just "
1813 #: build/C/man3/difftime.3:64
1815 msgid "#define difftime(t1,t0) (double)(t1 - t0)\n"
1819 #: build/C/man3/difftime.3:68
1820 msgid "when the possible overflow in the subtraction is not a concern."
1824 #: build/C/man3/difftime.3:75
1826 "B<date>(1), B<gettimeofday>(2), B<time>(2), B<ctime>(3), B<gmtime>(3), "
1831 #: build/C/man3/dysize.3:26
1837 #: build/C/man3/dysize.3:26
1843 #: build/C/man3/dysize.3:29
1844 msgid "dysize - get number of days for a given year"
1848 #: build/C/man3/dysize.3:33
1849 msgid "B<int dysize(int >I<year>B<);>"
1853 #: build/C/man3/dysize.3:41
1854 msgid "B<dysize>(): _BSD_SOURCE || _SVID_SOURCE"
1858 #: build/C/man3/dysize.3:44
1860 "The function returns 365 for a normal year and 366 for a leap year. The "
1861 "calculation for leap year is based on:"
1865 #: build/C/man3/dysize.3:46
1866 msgid "(year) %4 == 0 && ((year) %100 != 0 || (year) %400 == 0)"
1870 #: build/C/man3/dysize.3:51
1872 "The formula is defined in the macro I<__isleap(year)> also found in "
1873 "I<E<lt>time.hE<gt>>."
1877 #: build/C/man3/dysize.3:56
1878 msgid "The B<dysize>() function is thread-safe."
1882 #: build/C/man3/dysize.3:58
1883 msgid "This function occurs in SunOS 4.x."
1886 #. The SCO version of this function had a year-2000 problem.
1888 #: build/C/man3/dysize.3:62
1889 msgid "This is a compatibility function only. Don't use it in new programs."
1893 #: build/C/man3/dysize.3:64
1894 msgid "B<strftime>(3)"
1898 #: build/C/man3/ftime.3:30
1904 #: build/C/man3/ftime.3:30
1910 #: build/C/man3/ftime.3:33
1911 msgid "ftime - return date and time"
1915 #: build/C/man3/ftime.3:35
1916 msgid "B<#include E<lt>sys/timeb.hE<gt>>"
1920 #: build/C/man3/ftime.3:37
1921 msgid "B<int ftime(struct timeb *>I<tp>B<);>"
1925 #: build/C/man3/ftime.3:43
1927 "This function returns the current time as seconds and milliseconds since the "
1928 "Epoch, 1970-01-01 00:00:00 +0000 (UTC). The time is returned in I<tp>, "
1929 "which is declared as follows:"
1933 #: build/C/man3/ftime.3:52
1938 " unsigned short millitm;\n"
1939 " short timezone;\n"
1945 #: build/C/man3/ftime.3:64
1947 "Here I<time> is the number of seconds since the Epoch, and I<millitm> is the "
1948 "number of milliseconds since I<time> seconds since the Epoch. The "
1949 "I<timezone> field is the local timezone measured in minutes of time west of "
1950 "Greenwich (with a negative value indicating minutes east of Greenwich). The "
1951 "I<dstflag> field is a flag that, if nonzero, indicates that Daylight Saving "
1952 "time applies locally during the appropriate part of the year."
1956 #: build/C/man3/ftime.3:67
1958 "POSIX.1-2001 says that the contents of the I<timezone> and I<dstflag> fields "
1959 "are unspecified; avoid relying on them."
1963 #: build/C/man3/ftime.3:70
1965 "This function always returns 0. (POSIX.1-2001 specifies, and some systems "
1966 "document, a -1 error return.)"
1970 #: build/C/man3/ftime.3:75
1971 msgid "The B<ftime>() function is thread-safe."
1975 #: build/C/man3/ftime.3:79
1976 msgid "4.2BSD, POSIX.1-2001. POSIX.1-2008 removes the specification of B<ftime>()."
1980 #: build/C/man3/ftime.3:90
1982 "This function is obsolete. Don't use it. If the time in seconds suffices, "
1983 "B<time>(2) can be used; B<gettimeofday>(2) gives microseconds; "
1984 "B<clock_gettime>(2) gives nanoseconds but is not as widely available."
1990 #. function appeared in 4.2BSD.
1992 #: build/C/man3/ftime.3:99
1994 "Under libc4 and libc5 the I<millitm> field is meaningful. But early glibc2 "
1995 "is buggy and returns 0 there; glibc 2.1.1 is correct again."
1999 #: build/C/man3/ftime.3:102
2000 msgid "B<gettimeofday>(2), B<time>(2)"
2004 #: build/C/man3/futimes.3:25
2010 #: build/C/man3/futimes.3:25
2016 #: build/C/man3/futimes.3:28
2017 msgid "futimes, lutimes - change file timestamps"
2021 #: build/C/man3/futimes.3:31 build/C/man2/gettimeofday.2:46 build/C/man3/timeradd.3:33 build/C/man2/utime.2:43
2023 msgid "B<#include E<lt>sys/time.hE<gt>>\n"
2027 #: build/C/man3/futimes.3:33
2029 msgid "B<int futimes(int >I<fd>B<, const struct timeval >I<tv>B<[2]);>\n"
2033 #: build/C/man3/futimes.3:35
2036 "B<int lutimes(const char *>I<filename>B<, const struct timeval "
2041 #: build/C/man3/futimes.3:45
2042 msgid "B<futimes>(), B<lutimes>(): _BSD_SOURCE"
2046 #: build/C/man3/futimes.3:53
2048 "B<futimes>() changes the access and modification times of a file in the "
2049 "same way as B<utimes>(2), with the difference that the file whose timestamps "
2050 "are to be changed is specified via a file descriptor, I<fd>, rather than via "
2055 #: build/C/man3/futimes.3:61
2057 "B<lutimes>() changes the access and modification times of a file in the "
2058 "same way as B<utimes>(2), with the difference that if I<filename> refers to "
2059 "a symbolic link, then the link is not dereferenced: instead, the timestamps "
2060 "of the symbolic link are changed."
2064 #: build/C/man3/futimes.3:66 build/C/man2/stime.2:58 build/C/man2/utime.2:129
2066 "On success, zero is returned. On error, -1 is returned, and I<errno> is set "
2071 #: build/C/man3/futimes.3:71
2073 "Errors are as for B<utimes>(2), with the following additions for "
2078 #: build/C/man3/futimes.3:71 build/C/man2/futimesat.2:98 build/C/man2/utimensat.2:283 build/C/man2/utimensat.2:288
2084 #: build/C/man3/futimes.3:75
2085 msgid "I<fd> is not a valid file descriptor."
2089 #: build/C/man3/futimes.3:80
2090 msgid "The I</proc> filesystem could not be accessed."
2094 #: build/C/man3/futimes.3:83
2095 msgid "The following additional error may occur for B<lutimes>():"
2099 #: build/C/man3/futimes.3:86
2100 msgid "The kernel does not support this call; Linux 2.6.22 or later is required."
2104 #: build/C/man3/futimes.3:93
2106 "B<futimes>() is available since glibc 2.3. B<lutimes>() is available "
2107 "since glibc 2.6, and is implemented using the B<utimensat>(2) system call, "
2108 "which is supported since kernel 2.6.22."
2112 #: build/C/man3/futimes.3:100
2113 msgid "The B<futimes>() and B<lutimes>() functions are thread-safe."
2117 #: build/C/man3/futimes.3:103
2119 "These functions are not specified in any standard. Other than Linux, they "
2120 "are available only on the BSDs."
2124 #: build/C/man3/futimes.3:107
2125 msgid "B<utime>(2), B<utimensat>(2), B<symlink>(7)"
2129 #: build/C/man2/futimesat.2:25
2135 #: build/C/man2/futimesat.2:25
2141 #: build/C/man2/futimesat.2:29
2143 "futimesat - change timestamps of a file relative to a directory file "
2148 #: build/C/man2/futimesat.2:33
2151 "B<#include E<lt>fcntl.hE<gt> /* Definition of AT_* constants */>\n"
2152 "B<#include E<lt>sys/time.hE<gt>>\n"
2156 #: build/C/man2/futimesat.2:36
2159 "B<int futimesat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
2160 "B< const struct timeval >I<times>B<[2]);>\n"
2164 #: build/C/man2/futimesat.2:45
2165 msgid "B<futimesat>(): _GNU_SOURCE"
2169 #: build/C/man2/futimesat.2:50
2170 msgid "This system call is obsolete. Use B<utimensat>(2) instead."
2174 #: build/C/man2/futimesat.2:56
2176 "The B<futimesat>() system call operates in exactly the same way as "
2177 "B<utimes>(2), except for the differences described in this manual page."
2181 #: build/C/man2/futimesat.2:66
2183 "If the pathname given in I<pathname> is relative, then it is interpreted "
2184 "relative to the directory referred to by the file descriptor I<dirfd> "
2185 "(rather than relative to the current working directory of the calling "
2186 "process, as is done by B<utimes>(2) for a relative pathname)."
2190 #: build/C/man2/futimesat.2:78 build/C/man2/utimensat.2:207
2192 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
2193 "then I<pathname> is interpreted relative to the current working directory of "
2194 "the calling process (like B<utimes>(2))."
2198 #: build/C/man2/futimesat.2:84 build/C/man2/utimensat.2:213
2199 msgid "If I<pathname> is absolute, then I<dirfd> is ignored."
2203 #: build/C/man2/futimesat.2:91
2205 "On success, B<futimesat>() returns a 0. On error, -1 is returned and "
2206 "I<errno> is set to indicate the error."
2210 #: build/C/man2/futimesat.2:98
2212 "The same errors that occur for B<utimes>(2) can also occur for "
2213 "B<futimesat>(). The following additional errors can occur for "
2218 #: build/C/man2/futimesat.2:102
2219 msgid "I<dirfd> is not a valid file descriptor."
2223 #: build/C/man2/futimesat.2:102 build/C/man2/utimensat.2:353
2229 #: build/C/man2/futimesat.2:108
2231 "I<pathname> is relative and I<dirfd> is a file descriptor referring to a "
2232 "file other than a directory."
2236 #: build/C/man2/futimesat.2:112
2238 "B<futimesat>() was added to Linux in kernel 2.6.16; library support was "
2239 "added to glibc in version 2.4."
2243 #: build/C/man2/futimesat.2:117
2245 "This system call is nonstandard. It was implemented from a specification "
2246 "that was proposed for POSIX.1, but that specification was replaced by the "
2247 "one for B<utimensat>(2)."
2251 #: build/C/man2/futimesat.2:119
2252 msgid "A similar system call exists on Solaris."
2256 #: build/C/man2/futimesat.2:120 build/C/man3/strftime.3:411 build/C/man3/strptime.3:342
2261 #. The Solaris futimesat() also has this strangeness.
2263 #: build/C/man2/futimesat.2:128
2265 "If I<pathname> is NULL, then the glibc B<futimesat>() wrapper function "
2266 "updates the times for the file referred to by I<dirfd>."
2270 #: build/C/man2/futimesat.2:134
2272 "B<stat>(2), B<utimensat>(2), B<utimes>(2), B<futimes>(3), "
2273 "B<path_resolution>(7)"
2277 #: build/C/man3/getdate.3:30
2283 #: build/C/man3/getdate.3:30 build/C/man3/strptime.3:31
2289 #: build/C/man3/getdate.3:33
2290 msgid "getdate, getdate_r - convert a date-plus-time string to broken-down time"
2294 #: build/C/man3/getdate.3:37
2295 msgid "B<struct tm *getdate(const char *>I<string>B<);>"
2299 #: build/C/man3/getdate.3:39
2300 msgid "B<extern int getdate_err;>"
2304 #: build/C/man3/getdate.3:43
2305 msgid "B<int getdate_r(const char *>I<string>B<, struct tm *>I<res>B<);>"
2309 #: build/C/man3/getdate.3:50
2310 msgid "B<getdate>():"
2314 #: build/C/man3/getdate.3:54
2315 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
2319 #: build/C/man3/getdate.3:57
2320 msgid "B<getdate_r>():"
2324 #: build/C/man3/getdate.3:60 build/C/man2/utimensat.2:65
2329 #: build/C/man3/getdate.3:78
2331 "The function B<getdate>() converts a string representation of a date and "
2332 "time, contained in the buffer pointed to by I<string>, into a broken-down "
2333 "time. The broken-down time is stored in a I<tm> structure, and a pointer to "
2334 "this structure is returned as the function result. This I<tm> structure is "
2335 "allocated in static storage, and consequently it will be overwritten by "
2336 "further calls to B<getdate>()."
2340 #: build/C/man3/getdate.3:90
2342 "In contrast to B<strptime>(3), (which has a I<format> argument), "
2343 "B<getdate>() uses the formats found in the file whose full pathname is "
2344 "given in the environment variable B<DATEMSK>. The first line in the file "
2345 "that matches the given input string is used for the conversion."
2349 #: build/C/man3/getdate.3:94
2351 "The matching is done case insensitively. Superfluous whitespace, either in "
2352 "the pattern or in the string to be converted, is ignored."
2356 #: build/C/man3/getdate.3:98
2358 "The conversion specifications that a pattern can contain are those given for "
2359 "B<strptime>(3). One more conversion specification is specified in "
2364 #: build/C/man3/getdate.3:98 build/C/man3/strftime.3:270 build/C/man3/strptime.3:377 build/C/man1/time.1:175
2370 #: build/C/man3/getdate.3:102
2371 msgid "Timezone name. This is not implemented in glibc."
2375 #: build/C/man3/getdate.3:111
2377 "When B<%Z> is given, the structure containing the broken-down time is "
2378 "initialized with values corresponding to the current time in the given "
2379 "timezone. Otherwise, the structure is initialized to the broken-down time "
2380 "corresponding to the current local time (as by a call to B<localtime>(3))."
2384 #: build/C/man3/getdate.3:115
2386 "When only the day of the week is given, the day is taken to be the first "
2387 "such day on or after today."
2391 #: build/C/man3/getdate.3:119
2393 "When only the month is given (and no year), the month is taken to be the "
2394 "first such month equal to or after the current month. If no day is given, "
2395 "it is the first day of the month."
2399 #: build/C/man3/getdate.3:122
2401 "When no hour, minute and second are given, the current hour, minute and "
2406 #: build/C/man3/getdate.3:125
2408 "If no date is given, but we know the hour, then that hour is taken to be the "
2409 "first such hour equal to or after the current hour."
2413 #: build/C/man3/getdate.3:135
2415 "B<getdate_r>() is a GNU extension that provides a reentrant version of "
2416 "B<getdate>(). Rather than using a global variable to report errors and a "
2417 "static buffer to return the broken down time, it returns errors via the "
2418 "function result value, and returns the resulting broken-down time in the "
2419 "caller-allocated buffer pointed to by the argument I<res>."
2423 #: build/C/man3/getdate.3:146
2425 "When successful, B<getdate>() returns a pointer to a I<struct tm>. "
2426 "Otherwise, it returns NULL and sets the global variable I<getdate_err> to "
2427 "one of the error numbers shown below. Changes to I<errno> are unspecified."
2431 #: build/C/man3/getdate.3:151
2433 "On success B<getdate_r>() returns 0; on error it returns one of the error "
2434 "numbers shown below."
2438 #: build/C/man3/getdate.3:158
2440 "The following errors are returned via I<getdate_err> (for B<getdate>()) or "
2441 "as the function result (for B<getdate_r>()):"
2445 #: build/C/man3/getdate.3:158
2451 #: build/C/man3/getdate.3:163
2453 "The B<DATEMSK> environment variable is not defined, or its value is an empty "
2458 #: build/C/man3/getdate.3:163
2464 #: build/C/man3/getdate.3:168
2465 msgid "The template file specified by B<DATEMSK> cannot be opened for reading."
2469 #: build/C/man3/getdate.3:168
2476 #: build/C/man3/getdate.3:172
2477 msgid "Failed to get file status information."
2481 #: build/C/man3/getdate.3:172
2487 #: build/C/man3/getdate.3:175
2488 msgid "The template file is not a regular file."
2492 #: build/C/man3/getdate.3:175
2498 #: build/C/man3/getdate.3:178
2499 msgid "An error was encountered while reading the template file."
2503 #: build/C/man3/getdate.3:178
2508 #. Error 6 doesn't seem to occur in glibc
2510 #: build/C/man3/getdate.3:182
2511 msgid "Memory allocation failed (not enough memory available)."
2515 #: build/C/man3/getdate.3:182
2521 #: build/C/man3/getdate.3:185
2522 msgid "There is no line in the file that matches the input."
2526 #: build/C/man3/getdate.3:185
2532 #: build/C/man3/getdate.3:188
2533 msgid "Invalid input specification."
2537 #: build/C/man3/getdate.3:188 build/C/man3/strftime.3:355 build/C/man1/time.1:74 build/C/man8/tzselect.8:23
2543 #: build/C/man3/getdate.3:189
2549 #: build/C/man3/getdate.3:192
2550 msgid "File containing format patterns."
2554 #: build/C/man3/getdate.3:192
2556 msgid "B<TZ>, B<LC_TIME>"
2560 #: build/C/man3/getdate.3:196
2561 msgid "Variables used by B<strptime>(3)."
2565 #: build/C/man3/getdate.3:201
2566 msgid "The B<getdate>() function is not thread-safe."
2570 #: build/C/man3/getdate.3:205
2571 msgid "The B<getdate_r>() function is thread-safe."
2575 #: build/C/man3/getdate.3:221
2577 "The POSIX.1-2001 specification for B<strptime>(3) contains conversion "
2578 "specifications using the B<%E> or B<%O> modifier, while such specifications "
2579 "are not given for B<getdate>(). In glibc, B<getdate>() is implemented "
2580 "using B<strptime>(3), so that precisely the same conversions are supported "
2585 #: build/C/man3/getdate.3:229
2587 "The program below calls B<getdate>() for each of its command-line "
2588 "arguments, and for each call displays the values in the fields of the "
2589 "returned I<tm> structure. The following shell session demonstrates the "
2590 "operation of the program:"
2594 #: build/C/man3/getdate.3:270
2597 "$B< TFILE=$PWD/tfile>\n"
2598 "$B< echo \\(aq%A\\(aq E<gt> $TFILE > # Full name of the day of the "
2600 "$B< echo \\(aq%T\\(aq E<gt>E<gt> $TFILE> # ISO date (YYYY-MM-DD)\n"
2601 "$B< echo \\(aq%F\\(aq E<gt>E<gt> $TFILE> # Time (HH:MM:SS)\n"
2603 "$B< export DATEMSK=$TFILE>\n"
2604 "$B< ./a.out Tuesday \\(aq2009-12-28\\(aq \\(aq12:22:33\\(aq>\n"
2605 "Sun Sep 7 06:03:36 CEST 2008\n"
2606 "Call 1 (\"Tuesday\") succeeded:\n"
2616 "Call 2 (\"2009-12-28\") succeeded:\n"
2626 "Call 3 (\"12:22:33\") succeeded:\n"
2639 #: build/C/man3/getdate.3:279
2642 "#define _GNU_SOURCE 500\n"
2643 "#include E<lt>time.hE<gt>\n"
2644 "#include E<lt>stdio.hE<gt>\n"
2645 "#include E<lt>stdlib.hE<gt>\n"
2649 #: build/C/man3/getdate.3:285
2653 "main(int argc, char *argv[])\n"
2655 " struct tm *tmp;\n"
2660 #: build/C/man3/getdate.3:288
2663 " for (j = 1; j E<lt> argc; j++) {\n"
2664 " tmp = getdate(argv[j]);\n"
2668 #: build/C/man3/getdate.3:294
2671 " if (tmp == NULL) {\n"
2672 " printf(\"Call %d failed; getdate_err = %d\\en\",\n"
2673 " j, getdate_err);\n"
2679 #: build/C/man3/getdate.3:306
2682 " printf(\"Call %d (\\e\"%s\\e\") succeeded:\\en\", j, argv[j]);\n"
2683 " printf(\" tm_sec = %d\\en\", tmp-E<gt>tm_sec);\n"
2684 " printf(\" tm_min = %d\\en\", tmp-E<gt>tm_min);\n"
2685 " printf(\" tm_hour = %d\\en\", tmp-E<gt>tm_hour);\n"
2686 " printf(\" tm_mday = %d\\en\", tmp-E<gt>tm_mday);\n"
2687 " printf(\" tm_mon = %d\\en\", tmp-E<gt>tm_mon);\n"
2688 " printf(\" tm_year = %d\\en\", tmp-E<gt>tm_year);\n"
2689 " printf(\" tm_wday = %d\\en\", tmp-E<gt>tm_wday);\n"
2690 " printf(\" tm_yday = %d\\en\", tmp-E<gt>tm_yday);\n"
2691 " printf(\" tm_isdst = %d\\en\", tmp-E<gt>tm_isdst);\n"
2696 #: build/C/man3/getdate.3:309
2699 " exit(EXIT_SUCCESS);\n"
2704 #: build/C/man3/getdate.3:316
2705 msgid "B<time>(2), B<localtime>(3), B<setlocale>(3), B<strftime>(3), B<strptime>(3)"
2709 #: build/C/man2/gettimeofday.2:40
2711 msgid "GETTIMEOFDAY"
2715 #: build/C/man2/gettimeofday.2:40
2721 #: build/C/man2/gettimeofday.2:43
2722 msgid "gettimeofday, settimeofday - get / set time"
2726 #: build/C/man2/gettimeofday.2:48
2728 msgid "B<int gettimeofday(struct timeval *>I<tv>B<, struct timezone *>I<tz>B<);>\n"
2732 #: build/C/man2/gettimeofday.2:51
2735 "B<int settimeofday(const struct timeval *>I<tv>B<, const struct timezone "
2740 #: build/C/man2/gettimeofday.2:60
2741 msgid "B<settimeofday>(): _BSD_SOURCE"
2745 #: build/C/man2/gettimeofday.2:72
2747 "The functions B<gettimeofday>() and B<settimeofday>() can get and set the "
2748 "time as well as a timezone. The I<tv> argument is a I<struct timeval> (as "
2749 "specified in I<E<lt>sys/time.hE<gt>>):"
2753 #: build/C/man2/gettimeofday.2:88
2755 "and gives the number of seconds and microseconds since the Epoch (see "
2756 "B<time>(2)). The I<tz> argument is a I<struct timezone>:"
2760 #: build/C/man2/gettimeofday.2:95
2763 "struct timezone {\n"
2764 " int tz_minuteswest; /* minutes west of Greenwich */\n"
2765 " int tz_dsttime; /* type of DST correction */\n"
2769 #. FIXME The compilation warning looks to be going away in 2.17
2770 #. see glibc commit 4b7634a5e03b0da6f8875de9d3f74c1cf6f2a6e8
2771 #. The following is covered under EPERM below:
2773 #. Only the superuser may use
2774 #. .BR settimeofday ().
2776 #: build/C/man2/gettimeofday.2:112
2778 "If either I<tv> or I<tz> is NULL, the corresponding structure is not set or "
2779 "returned. (However, compilation warnings will result if I<tv> is NULL.)"
2783 #: build/C/man2/gettimeofday.2:119
2785 "The use of the I<timezone> structure is obsolete; the I<tz> argument should "
2786 "normally be specified as NULL. (See NOTES below.)"
2790 #: build/C/man2/gettimeofday.2:138
2792 "Under Linux there are some peculiar \"warp clock\" semantics associated with "
2793 "the B<settimeofday>() system call if on the very first call (after booting) "
2794 "that has a non-NULL I<tz> argument, the I<tv> argument is NULL and the "
2795 "I<tz_minuteswest> field is nonzero. (The I<tz_dsttime> field should be zero "
2796 "for this case.) In such a case it is assumed that the CMOS clock is on "
2797 "local time, and that it has to be incremented by this amount to get UTC "
2798 "system time. No doubt it is a bad idea to use this feature."
2802 #: build/C/man2/gettimeofday.2:145
2804 "B<gettimeofday>() and B<settimeofday>() return 0 for success, or -1 for "
2805 "failure (in which case I<errno> is set appropriately)."
2809 #: build/C/man2/gettimeofday.2:153
2810 msgid "One of I<tv> or I<tz> pointed outside the accessible address space."
2814 #: build/C/man2/gettimeofday.2:156
2815 msgid "Timezone (or something else) is invalid."
2819 #: build/C/man2/gettimeofday.2:163
2821 "The calling process has insufficient privilege to call B<settimeofday>(); "
2822 "under Linux the B<CAP_SYS_TIME> capability is required."
2826 #: build/C/man2/gettimeofday.2:174
2828 "SVr4, 4.3BSD. POSIX.1-2001 describes B<gettimeofday>() but not "
2829 "B<settimeofday>(). POSIX.1-2008 marks B<gettimeofday>() as obsolete, "
2830 "recommending the use of B<clock_gettime>(2) instead."
2834 #: build/C/man2/gettimeofday.2:182
2836 "The time returned by B<gettimeofday>() I<is> affected by discontinuous "
2837 "jumps in the system time (e.g., if the system administrator manually changes "
2838 "the system time). If you need a monotonically increasing clock, see "
2839 "B<clock_gettime>(2)."
2843 #: build/C/man2/gettimeofday.2:187
2845 "Macros for operating on I<timeval> structures are described in "
2850 #: build/C/man2/gettimeofday.2:192
2851 msgid "Traditionally, the fields of I<struct timeval> were of type I<long>."
2855 #. been and will not be supported by libc or glibc.
2856 #. Each and every occurrence of this field in the kernel source
2857 #. (other than the declaration) is a bug.
2859 #: build/C/man2/gettimeofday.2:202
2861 "The I<tz_dsttime> field has never been used under Linux. Thus, the "
2862 "following is purely of historic interest."
2866 #: build/C/man2/gettimeofday.2:212
2868 "On old systems, the field I<tz_dsttime> contains a symbolic constant (values "
2869 "are given below) that indicates in which part of the year Daylight Saving "
2870 "Time is in force. (Note: this value is constant throughout the year: it "
2871 "does not indicate that DST is in force, it just selects an algorithm.) The "
2872 "daylight saving time algorithms defined are as follows:"
2876 #: build/C/man2/gettimeofday.2:216
2878 msgid "B<DST_NONE> /* not on DST */\n"
2882 #: build/C/man2/gettimeofday.2:218
2884 msgid "B<DST_USA> /* USA style DST */\n"
2888 #: build/C/man2/gettimeofday.2:220
2890 msgid "B<DST_AUST> /* Australian style DST */\n"
2894 #: build/C/man2/gettimeofday.2:222
2896 msgid "B<DST_WET> /* Western European DST */\n"
2900 #: build/C/man2/gettimeofday.2:224
2902 msgid "B<DST_MET> /* Middle European DST */\n"
2906 #: build/C/man2/gettimeofday.2:226
2908 msgid "B<DST_EET> /* Eastern European DST */\n"
2912 #: build/C/man2/gettimeofday.2:228
2914 msgid "B<DST_CAN> /* Canada */\n"
2918 #: build/C/man2/gettimeofday.2:230
2920 msgid "B<DST_GB> /* Great Britain and Eire */\n"
2924 #: build/C/man2/gettimeofday.2:232
2926 msgid "B<DST_RUM> /* Romania */\n"
2930 #: build/C/man2/gettimeofday.2:234
2932 msgid "B<DST_TUR> /* Turkey */\n"
2936 #: build/C/man2/gettimeofday.2:236
2938 msgid "B<DST_AUSTALT> /* Australian style with shift in 1986 */\n"
2942 #: build/C/man2/gettimeofday.2:246
2944 "Of course it turned out that the period in which Daylight Saving Time is in "
2945 "force cannot be given by a simple algorithm, one per country; indeed, this "
2946 "period is determined by unpredictable political decisions. So this method "
2947 "of representing timezones has been abandoned."
2951 #: build/C/man2/gettimeofday.2:256
2953 "B<date>(1), B<adjtimex>(2), B<clock_gettime>(2), B<time>(2), B<ctime>(3), "
2954 "B<ftime>(3), B<timeradd>(3), B<capabilities>(7), B<time>(7)"
2958 #: build/C/man2/nanosleep.2:34
2964 #: build/C/man2/nanosleep.2:37
2965 msgid "nanosleep - high-resolution sleep"
2969 #: build/C/man2/nanosleep.2:41
2971 "B<int nanosleep(const struct timespec *>I<req>B<, struct timespec "
2976 #: build/C/man2/nanosleep.2:49
2977 msgid "B<nanosleep>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
2981 #: build/C/man2/nanosleep.2:57
2983 "B<nanosleep>() suspends the execution of the calling thread until either at "
2984 "least the time specified in I<*req> has elapsed, or the delivery of a signal "
2985 "that triggers the invocation of a handler in the calling thread or that "
2986 "terminates the process."
2990 #: build/C/man2/nanosleep.2:74
2992 "If the call is interrupted by a signal handler, B<nanosleep>() returns -1, "
2993 "sets I<errno> to B<EINTR>, and writes the remaining time into the structure "
2994 "pointed to by I<rem> unless I<rem> is NULL. The value of I<*rem> can then "
2995 "be used to call B<nanosleep>() again and complete the specified pause (but "
3000 #: build/C/man2/nanosleep.2:79
3002 "The structure I<timespec> is used to specify intervals of time with "
3003 "nanosecond precision. It is defined as follows:"
3007 #: build/C/man2/nanosleep.2:86 build/C/man2/utimensat.2:108
3010 "struct timespec {\n"
3011 " time_t tv_sec; /* seconds */\n"
3012 " long tv_nsec; /* nanoseconds */\n"
3017 #: build/C/man2/nanosleep.2:90
3018 msgid "The value of the nanoseconds field must be in the range 0 to 999999999."
3022 #: build/C/man2/nanosleep.2:102
3024 "Compared to B<sleep>(3) and B<usleep>(3), B<nanosleep>() has the following "
3025 "advantages: it provides a higher resolution for specifying the sleep "
3026 "interval; POSIX.1 explicitly specifies that it does not interact with "
3027 "signals; and it makes the task of resuming a sleep that has been interrupted "
3028 "by a signal handler easier."
3032 #: build/C/man2/nanosleep.2:110
3034 "On successfully sleeping for the requested interval, B<nanosleep>() returns "
3035 "0. If the call is interrupted by a signal handler or encounters an error, "
3036 "then it returns -1, with I<errno> set to indicate the error."
3040 #: build/C/man2/nanosleep.2:114
3041 msgid "Problem with copying information from user space."
3045 #: build/C/man2/nanosleep.2:124
3047 "The pause has been interrupted by a signal that was delivered to the "
3048 "thread. The remaining sleep time has been written into I<*rem> so that the "
3049 "thread can easily call B<nanosleep>() again and continue with the pause."
3053 #: build/C/man2/nanosleep.2:141
3055 "If the interval specified in I<req> is not an exact multiple of the "
3056 "granularity underlying clock (see B<time>(7)), then the interval will be "
3057 "rounded up to the next multiple. Furthermore, after the sleep completes, "
3058 "there may still be a delay before the CPU becomes free to once again execute "
3059 "the calling thread."
3063 #: build/C/man2/nanosleep.2:151
3065 "The fact that B<nanosleep>() sleeps for a relative interval can be "
3066 "problematic if the call is repeatedly restarted after being interrupted by "
3067 "signals, since the time between the interruptions and restarts of the call "
3068 "will lead to drift in the time when the sleep finally completes. This "
3069 "problem can be avoided by using B<clock_nanosleep>(2) with an absolute time "
3073 #. See also http://thread.gmane.org/gmane.linux.kernel/696854/
3074 #. Subject: nanosleep() uses CLOCK_MONOTONIC, should be CLOCK_REALTIME?
3075 #. Date: 2008-06-22 07:35:41 GMT
3077 #: build/C/man2/nanosleep.2:169
3079 "POSIX.1 specifies that B<nanosleep>() should measure time against the "
3080 "B<CLOCK_REALTIME> clock. However, Linux measures the time using the "
3081 "B<CLOCK_MONOTONIC> clock. This probably does not matter, since the POSIX.1 "
3082 "specification for B<clock_settime>(2) says that discontinuous changes in "
3083 "B<CLOCK_REALTIME> should not affect B<nanosleep>():"
3087 #: build/C/man2/nanosleep.2:182
3089 "Setting the value of the B<CLOCK_REALTIME> clock via B<clock_settime>(2) "
3090 "shall have no effect on threads that are blocked waiting for a relative time "
3091 "service based upon this clock, including the B<nanosleep>() function; ... "
3092 "Consequently, these time services shall expire when the requested relative "
3093 "interval elapses, independently of the new or old value of the clock."
3097 #: build/C/man2/nanosleep.2:183
3099 msgid "Old behavior"
3103 #: build/C/man2/nanosleep.2:196
3105 "In order to support applications requiring much more precise pauses (e.g., "
3106 "in order to control some time-critical hardware), B<nanosleep>() would "
3107 "handle pauses of up to 2\\ ms by busy waiting with microsecond precision "
3108 "when called from a thread scheduled under a real-time policy like "
3109 "B<SCHED_FIFO> or B<SCHED_RR>. This special extension was removed in kernel "
3110 "2.5.39, hence is still present in current 2.4 kernels, but not in 2.6 "
3115 #: build/C/man2/nanosleep.2:210
3117 "In Linux 2.4, if B<nanosleep>() is stopped by a signal (e.g., B<SIGTSTP>), "
3118 "then the call fails with the error B<EINTR> after the thread is resumed by a "
3119 "B<SIGCONT> signal. If the system call is subsequently restarted, then the "
3120 "time that the thread spent in the stopped state is I<not> counted against "
3121 "the sleep interval."
3125 #: build/C/man2/nanosleep.2:218
3127 "B<clock_nanosleep>(2), B<restart_syscall>(2), B<sched_setscheduler>(2), "
3128 "B<timer_create>(2), B<sleep>(3), B<usleep>(3), B<time>(7)"
3132 #: build/C/man4/rtc.4:30
3138 #: build/C/man4/rtc.4:30 build/C/man2/stime.2:30 build/C/man3/timeradd.3:27 build/C/man8/zic.8:5
3144 #: build/C/man4/rtc.4:33
3145 msgid "rtc - real-time clock"
3149 #: build/C/man4/rtc.4:35
3150 msgid "#include E<lt>linux/rtc.hE<gt>"
3154 #: build/C/man4/rtc.4:37
3155 msgid "B<int ioctl(>I<fd>B<, RTC_>I<request>B<, >I<param>B<);>"
3159 #: build/C/man4/rtc.4:39
3160 msgid "This is the interface to drivers for real-time clocks (RTCs)."
3164 #: build/C/man4/rtc.4:46
3166 "Most computers have one or more hardware clocks which record the current "
3167 "\"wall clock\" time. These are called \"Real Time Clocks\" (RTCs). One of "
3168 "these usually has battery backup power so that it tracks the time even while "
3169 "the computer is turned off. RTCs often provide alarms and other interrupts."
3173 #: build/C/man4/rtc.4:51
3175 "All i386 PCs, and ACPI-based systems, have an RTC that is compatible with "
3176 "the Motorola MC146818 chip on the original PC/AT. Today such an RTC is "
3177 "usually integrated into the mainboard's chipset (south bridge), and uses a "
3178 "replaceable coin-sized backup battery."
3182 #: build/C/man4/rtc.4:55
3184 "Non-PC systems, such as embedded systems built around system-on-chip "
3185 "processors, use other implementations. They usually won't offer the same "
3186 "functionality as the RTC from a PC/AT."
3190 #: build/C/man4/rtc.4:55
3192 msgid "RTC vs system clock"
3196 #: build/C/man4/rtc.4:67
3198 "RTCs should not be confused with the system clock, which is a software clock "
3199 "maintained by the kernel and used to implement B<gettimeofday>(2) and "
3200 "B<time>(2), as well as setting timestamps on files, and so on. The system "
3201 "clock reports seconds and microseconds since a start point, defined to be "
3202 "the POSIX Epoch: 1970-01-01 00:00:00 +0000 (UTC). (One common "
3203 "implementation counts timer interrupts, once per \"jiffy\", at a frequency "
3204 "of 100, 250, or 1000 Hz.) That is, it is supposed to report wall clock "
3205 "time, which RTCs also do."
3209 #: build/C/man4/rtc.4:77
3211 "A key difference between an RTC and the system clock is that RTCs run even "
3212 "when the system is in a low power state (including \"off\"), and the system "
3213 "clock can't. Until it is initialized, the system clock can only report time "
3214 "since system boot ... not since the POSIX Epoch. So at boot time, and after "
3215 "resuming from a system low power state, the system clock will often be set "
3216 "to the current wall clock time using an RTC. Systems without an RTC need to "
3217 "set the system clock using another clock, maybe across the network or by "
3218 "entering that data manually."
3222 #: build/C/man4/rtc.4:77
3224 msgid "RTC functionality"
3228 #: build/C/man4/rtc.4:81
3230 "RTCs can be read and written with B<hwclock>(8), or directly with the ioctl "
3231 "requests listed below."
3235 #: build/C/man4/rtc.4:84
3236 msgid "Besides tracking the date and time, many RTCs can also generate interrupts"
3240 #: build/C/man4/rtc.4:84 build/C/man4/rtc.4:86 build/C/man4/rtc.4:89 build/C/man2/utimensat.2:246 build/C/man2/utimensat.2:277 build/C/man2/utimensat.2:384 build/C/man2/utimensat.2:390 build/C/man2/utimensat.2:468 build/C/man2/utimensat.2:483 build/C/man2/utimensat.2:585
3246 #: build/C/man4/rtc.4:86
3247 msgid "on every clock update (i.e., once per second);"
3251 #: build/C/man4/rtc.4:89
3253 "at periodic intervals with a frequency that can be set to any power-of-2 "
3254 "multiple in the range 2 Hz to 8192 Hz;"
3258 #: build/C/man4/rtc.4:91
3259 msgid "on reaching a previously specified alarm time."
3263 #: build/C/man4/rtc.4:100
3265 "Each of those interrupt sources can be enabled or disabled separately. On "
3266 "many systems, the alarm interrupt can be configured as a system wakeup "
3267 "event, which can resume the system from a low power state such as "
3268 "Suspend-to-RAM (STR, called S3 in ACPI systems), Hibernation (called S4 in "
3269 "ACPI systems), or even \"off\" (called S5 in ACPI systems). On some "
3270 "systems, the battery backed RTC can't issue interrupts, but another one can."
3274 #: build/C/man4/rtc.4:120
3276 "The I</dev/rtc> (or I</dev/rtc0>, I</dev/rtc1>, etc.) device can be opened "
3277 "only once (until it is closed) and it is read-only. On B<read>(2) and "
3278 "B<select>(2) the calling process is blocked until the next interrupt from "
3279 "that RTC is received. Following the interrupt, the process can read a long "
3280 "integer, of which the least significant byte contains a bit mask encoding "
3281 "the types of interrupt that occurred, while the remaining 3 bytes contain "
3282 "the number of interrupts since the last B<read>(2)."
3286 #: build/C/man4/rtc.4:120
3288 msgid "ioctl(2) interface"
3292 #: build/C/man4/rtc.4:124
3294 "The following B<ioctl>(2) requests are defined on file descriptors "
3295 "connected to RTC devices:"
3299 #: build/C/man4/rtc.4:124
3301 msgid "B<RTC_RD_TIME>"
3305 #: build/C/man4/rtc.4:127
3306 msgid "Returns this RTC's time in the following structure:"
3310 #: build/C/man4/rtc.4:141
3313 "struct rtc_time {\n"
3320 " int tm_wday; /* unused */\n"
3321 " int tm_yday; /* unused */\n"
3322 " int tm_isdst; /* unused */\n"
3327 #: build/C/man4/rtc.4:151
3329 "The fields in this structure have the same meaning and ranges as for the "
3330 "I<tm> structure described in B<gmtime>(3). A pointer to this structure "
3331 "should be passed as the third B<ioctl>(2) argument."
3335 #: build/C/man4/rtc.4:151
3337 msgid "B<RTC_SET_TIME>"
3341 #: build/C/man4/rtc.4:162
3343 "Sets this RTC's time to the time specified by the I<rtc_time> structure "
3344 "pointed to by the third B<ioctl>(2) argument. To set the RTC's time the "
3345 "process must be privileged (i.e., have the B<CAP_SYS_TIME> capability)."
3349 #: build/C/man4/rtc.4:162
3351 msgid "B<RTC_ALM_READ>, B<RTC_ALM_SET>"
3355 #: build/C/man4/rtc.4:179
3357 "Read and set the alarm time, for RTCs that support alarms. The alarm "
3358 "interrupt must be separately enabled or disabled using the B<RTC_AIE_ON>, "
3359 "B<RTC_AIE_OFF> requests. The third B<ioctl>(2) argument is a pointer to an "
3360 "I<rtc_time> structure. Only the I<tm_sec>, I<tm_min>, and I<tm_hour> fields "
3361 "of this structure are used."
3365 #: build/C/man4/rtc.4:179
3367 msgid "B<RTC_IRQP_READ>, B<RTC_IRQP_SET>"
3371 #: build/C/man4/rtc.4:201
3373 "Read and set the frequency for periodic interrupts, for RTCs that support "
3374 "periodic interrupts. The periodic interrupt must be separately enabled or "
3375 "disabled using the B<RTC_PIE_ON>, B<RTC_PIE_OFF> requests. The third "
3376 "B<ioctl>(2) argument is an I<unsigned long\\ *> or an I<unsigned long>, "
3377 "respectively. The value is the frequency in interrupts per second. The set "
3378 "of allowable frequencies is the multiples of two in the range 2 to 8192. "
3379 "Only a privileged process (i.e., one having the B<CAP_SYS_RESOURCE> "
3380 "capability) can set frequencies above the value specified in "
3381 "I</proc/sys/dev/rtc/max-user-freq>. (This file contains the value 64 by "
3386 #: build/C/man4/rtc.4:201
3388 msgid "B<RTC_AIE_ON>, B<RTC_AIE_OFF>"
3392 #: build/C/man4/rtc.4:207
3394 "Enable or disable the alarm interrupt, for RTCs that support alarms. The "
3395 "third B<ioctl>(2) argument is ignored."
3399 #: build/C/man4/rtc.4:207
3401 msgid "B<RTC_UIE_ON>, B<RTC_UIE_OFF>"
3405 #: build/C/man4/rtc.4:214
3407 "Enable or disable the interrupt on every clock update, for RTCs that support "
3408 "this once-per-second interrupt. The third B<ioctl>(2) argument is ignored."
3412 #: build/C/man4/rtc.4:214
3414 msgid "B<RTC_PIE_ON>, B<RTC_PIE_OFF>"
3418 #: build/C/man4/rtc.4:226
3420 "Enable or disable the periodic interrupt, for RTCs that support these "
3421 "periodic interrupts. The third B<ioctl>(2) argument is ignored. Only a "
3422 "privileged process (i.e., one having the B<CAP_SYS_RESOURCE> capability) can "
3423 "enable the periodic interrupt if the frequency is currently set above the "
3424 "value specified in I</proc/sys/dev/rtc/max-user-freq>."
3428 #: build/C/man4/rtc.4:226
3430 msgid "B<RTC_EPOCH_READ>, B<RTC_EPOCH_SET>"
3434 #: build/C/man4/rtc.4:249
3436 "Many RTCs encode the year in an 8-bit register which is either interpreted "
3437 "as an 8-bit binary number or as a BCD number. In both cases, the number is "
3438 "interpreted relative to this RTC's Epoch. The RTC's Epoch is initialized to "
3439 "1900 on most systems but on Alpha and MIPS it might also be initialized to "
3440 "1952, 1980, or 2000, depending on the value of an RTC register for the "
3441 "year. With some RTCs, these operations can be used to read or to set the "
3442 "RTC's Epoch, respectively. The third B<ioctl>(2) argument is a I<unsigned "
3443 "long\\ *> or a I<unsigned long>, respectively, and the value returned (or "
3444 "assigned) is the Epoch. To set the RTC's Epoch the process must be "
3445 "privileged (i.e., have the B<CAP_SYS_TIME> capability)."
3449 #: build/C/man4/rtc.4:249
3451 msgid "B<RTC_WKALM_RD>, B<RTC_WKALM_SET>"
3455 #: build/C/man4/rtc.4:253
3457 "Some RTCs support a more powerful alarm interface, using these ioctls to "
3458 "read or write the RTC's alarm time (respectively) with this structure:"
3462 #: build/C/man4/rtc.4:262
3465 "struct rtc_wkalrm {\n"
3466 " unsigned char enabled;\n"
3467 " unsigned char pending;\n"
3468 " struct rtc_time time;\n"
3473 #: build/C/man4/rtc.4:294
3475 "The I<enabled> flag is used to enable or disable the alarm interrupt, or to "
3476 "read its current status; when using these calls, B<RTC_AIE_ON> and "
3477 "B<RTC_AIE_OFF> are not used. The I<pending> flag is used by B<RTC_WKALM_RD> "
3478 "to report a pending interrupt (so it's mostly useless on Linux, except when "
3479 "talking to the RTC managed by EFI firmware). The I<time> field is as used "
3480 "with B<RTC_ALM_READ> and B<RTC_ALM_SET> except that the I<tm_mday>, "
3481 "I<tm_mon>, and I<tm_year> fields are also valid. A pointer to this "
3482 "structure should be passed as the third B<ioctl>(2) argument."
3486 #: build/C/man4/rtc.4:294 build/C/man8/tzselect.8:35 build/C/man3/tzset.3:192 build/C/man8/zic.8:410
3492 #: build/C/man4/rtc.4:299
3494 "I</dev/rtc>, I</dev/rtc0>, I</dev/rtc1>, etc: RTC special character device "
3499 #: build/C/man4/rtc.4:302
3500 msgid "I</proc/driver/rtc>: status of the (first) RTC."
3504 #: build/C/man4/rtc.4:309
3506 "When the kernel's system time is synchronized with an external reference "
3507 "using B<adjtimex>(2) it will update a designated RTC periodically every 11 "
3508 "minutes. To do so, the kernel has to briefly turn off periodic interrupts; "
3509 "this might affect programs using that RTC."
3513 #: build/C/man4/rtc.4:312
3515 "An RTC's Epoch has nothing to do with the POSIX Epoch which is used only for "
3520 #: build/C/man4/rtc.4:316
3522 "If the year according to the RTC's Epoch and the year register is less than "
3523 "1970 it is assumed to be 100 years later, that is, between 2000 and 2069."
3527 #: build/C/man4/rtc.4:323
3529 "Some RTCs support \"wildcard\" values in alarm fields, to support scenarios "
3530 "like periodic alarms at fifteen minutes after every hour, or on the first "
3531 "day of each month. Such usage is nonportable; portable user-space code only "
3532 "expects a single alarm interrupt, and will either disable or reinitialize "
3533 "the alarm after receiving it."
3537 #: build/C/man4/rtc.4:331
3539 "Some RTCs support periodic interrupts with periods that are multiples of a "
3540 "second rather than fractions of a second; multiple alarms; programmable "
3541 "output clock signals; nonvolatile memory; and other hardware capabilities "
3542 "that are not currently exposed by this API."
3546 #: build/C/man4/rtc.4:341
3548 "B<date>(1), B<adjtimex>(2), B<gettimeofday>(2), B<settimeofday>(2), "
3549 "B<stime>(2), B<time>(2), B<gmtime>(3), B<time>(7), B<hwclock>(8)"
3553 #: build/C/man4/rtc.4:344
3554 msgid "I<Documentation/rtc.txt> in the Linux kernel source tree"
3558 #: build/C/man2/stime.2:30
3564 #: build/C/man2/stime.2:33
3565 msgid "stime - set time"
3569 #: build/C/man2/stime.2:37
3570 msgid "B<int stime(time_t *>I<t>B<);>"
3574 #: build/C/man2/stime.2:45
3575 msgid "B<stime>(): _SVID_SOURCE"
3579 #: build/C/man2/stime.2:53
3581 "B<stime>() sets the system's idea of the time and date. The time, pointed "
3582 "to by I<t>, is measured in seconds since the Epoch, 1970-01-01 00:00:00 "
3583 "+0000 (UTC). B<stime>() may be executed only by the superuser."
3587 #: build/C/man2/stime.2:62
3588 msgid "Error in getting information from user space."
3592 #: build/C/man2/stime.2:68
3594 "The calling process has insufficient privilege. Under Linux the "
3595 "B<CAP_SYS_TIME> privilege is required."
3599 #: build/C/man2/stime.2:70
3604 #: build/C/man2/stime.2:74
3605 msgid "B<date>(1), B<settimeofday>(2), B<capabilities>(7)"
3609 #: build/C/man3/strftime.3:37
3615 #: build/C/man3/strftime.3:37
3621 #: build/C/man3/strftime.3:40
3622 msgid "strftime - format date and time"
3626 #: build/C/man3/strftime.3:46
3629 "B<size_t strftime(char *>I<s>B<, size_t >I<max>B<, const char "
3631 "B< const struct tm *>I<tm>B<);>\n"
3634 #. FIXME POSIX says: Local timezone information is used as though
3635 #. strftime() called tzset(). But this doesn't appear to be the case
3637 #: build/C/man3/strftime.3:61
3639 "The B<strftime>() function formats the broken-down time I<tm> according to "
3640 "the format specification I<format> and places the result in the character "
3641 "array I<s> of size I<max>."
3645 #: build/C/man3/strftime.3:70
3647 "The format specification is a null-terminated string and may contain special "
3648 "character sequences called I<conversion specifications>, each of which is "
3649 "introduced by a \\(aq%\\(aq character and terminated by some other character "
3650 "known as a I<conversion specifier character>. All other character sequences "
3651 "are I<ordinary character sequences>."
3655 #: build/C/man3/strftime.3:78
3657 "The characters of ordinary character sequences (including the null byte) "
3658 "are copied verbatim from I<format> to I<s>. However, the characters of "
3659 "conversion specifications are replaced as follows:"
3663 #: build/C/man3/strftime.3:78
3669 #: build/C/man3/strftime.3:81
3670 msgid "The abbreviated name of the day of the week according to the current locale."
3674 #: build/C/man3/strftime.3:81
3680 #: build/C/man3/strftime.3:84
3681 msgid "The full name of the day of the week according to the current locale."
3685 #: build/C/man3/strftime.3:84
3691 #: build/C/man3/strftime.3:87
3692 msgid "The abbreviated month name according to the current locale."
3696 #: build/C/man3/strftime.3:87
3702 #: build/C/man3/strftime.3:90
3703 msgid "The full month name according to the current locale."
3707 #: build/C/man3/strftime.3:90 build/C/man3/strptime.3:127 build/C/man1/time.1:193
3713 #: build/C/man3/strftime.3:93
3714 msgid "The preferred date and time representation for the current locale."
3718 #: build/C/man3/strftime.3:93 build/C/man3/strptime.3:130 build/C/man1/time.1:218
3724 #: build/C/man3/strftime.3:96
3725 msgid "The century number (year/100) as a 2-digit integer. (SU)"
3729 #: build/C/man3/strftime.3:96
3735 #: build/C/man3/strftime.3:99
3736 msgid "The day of the month as a decimal number (range 01 to 31)."
3740 #: build/C/man3/strftime.3:99 build/C/man3/strptime.3:136 build/C/man1/time.1:166
3746 #: build/C/man3/strftime.3:109
3748 "Equivalent to B<%m/%d/%y>. (Yecch\\(emfor Americans only. Americans should "
3749 "note that in other countries B<%d/%m/%y> is rather common. This means that "
3750 "in international context this format is ambiguous and should not be used.) "
3755 #: build/C/man3/strftime.3:109 build/C/man1/time.1:142
3761 #: build/C/man3/strftime.3:115
3763 "Like B<%d>, the day of the month as a decimal number, but a leading zero is "
3764 "replaced by a space. (SU)"
3768 #: build/C/man3/strftime.3:115 build/C/man1/time.1:139
3774 #: build/C/man3/strftime.3:118 build/C/man3/strftime.3:177
3775 msgid "Modifier: use alternative format, see below. (SU)"
3779 #: build/C/man3/strftime.3:118 build/C/man3/strptime.3:351 build/C/man1/time.1:179
3785 #: build/C/man3/strftime.3:123
3786 msgid "Equivalent to B<%Y-%m-%d> (the ISO\\ 8601 date format). (C99)"
3790 #: build/C/man3/strftime.3:123 build/C/man3/strptime.3:360
3796 #: build/C/man3/strftime.3:132
3798 "The ISO\\ 8601 week-based year (see NOTES) with century as a decimal "
3799 "number. The 4-digit year corresponding to the ISO week number (see B<%V>). "
3800 "This has the same format and value as B<%Y>, except that if the ISO week "
3801 "number belongs to the previous or next year, that year is used instead. (TZ)"
3805 #: build/C/man3/strftime.3:132 build/C/man3/strptime.3:356
3811 #: build/C/man3/strftime.3:137
3812 msgid "Like B<%G>, but without century, that is, with a 2-digit year (00-99). (TZ)"
3816 #: build/C/man3/strftime.3:137
3822 #: build/C/man3/strftime.3:142
3823 msgid "Equivalent to B<%b>. (SU)"
3827 #: build/C/man3/strftime.3:142 build/C/man3/strptime.3:146
3833 #: build/C/man3/strftime.3:145
3834 msgid "The hour as a decimal number using a 24-hour clock (range 00 to 23)."
3838 #: build/C/man3/strftime.3:145 build/C/man3/strptime.3:149 build/C/man1/time.1:203
3844 #: build/C/man3/strftime.3:148
3845 msgid "The hour as a decimal number using a 12-hour clock (range 01 to 12)."
3849 #: build/C/man3/strftime.3:148 build/C/man3/strptime.3:152
3855 #: build/C/man3/strftime.3:151
3856 msgid "The day of the year as a decimal number (range 001 to 366)."
3860 #: build/C/man3/strftime.3:151 build/C/man1/time.1:215
3866 #: build/C/man3/strftime.3:158
3868 "The hour (24-hour clock) as a decimal number (range 0 to 23); single digits "
3869 "are preceded by a blank. (See also B<%H>.) (TZ)"
3873 #: build/C/man3/strftime.3:158
3879 #: build/C/man3/strftime.3:165
3881 "The hour (12-hour clock) as a decimal number (range 1 to 12); single digits "
3882 "are preceded by a blank. (See also B<%I>.) (TZ)"
3886 #: build/C/man3/strftime.3:165 build/C/man3/strptime.3:155
3892 #: build/C/man3/strftime.3:168
3893 msgid "The month as a decimal number (range 01 to 12)."
3897 #: build/C/man3/strftime.3:168 build/C/man3/strptime.3:158 build/C/man1/time.1:156
3903 #: build/C/man3/strftime.3:171
3904 msgid "The minute as a decimal number (range 00 to 59)."
3908 #: build/C/man3/strftime.3:171 build/C/man3/strptime.3:161
3914 #: build/C/man3/strftime.3:174
3915 msgid "A newline character. (SU)"
3919 #: build/C/man3/strftime.3:174 build/C/man1/time.1:206
3925 #: build/C/man3/strftime.3:177 build/C/man3/strptime.3:164 build/C/man1/time.1:169
3931 #: build/C/man3/strftime.3:182
3933 "Either \"AM\" or \"PM\" according to the given time value, or the "
3934 "corresponding strings for the current locale. Noon is treated as \"PM\" and "
3935 "midnight as \"AM\"."
3939 #: build/C/man3/strftime.3:182 build/C/man1/time.1:151
3945 #: build/C/man3/strftime.3:188
3947 "Like B<%p> but in lowercase: \"am\" or \"pm\" or a corresponding string for "
3948 "the current locale. (GNU)"
3952 #: build/C/man3/strftime.3:188 build/C/man3/strptime.3:168 build/C/man1/time.1:209
3958 #: build/C/man3/strftime.3:194
3960 "The time in a.m. or p.m. notation. In the POSIX locale this is equivalent "
3961 "to B<%I:%M:%S %p>. (SU)"
3965 #: build/C/man3/strftime.3:194 build/C/man3/strptime.3:179 build/C/man1/time.1:183
3971 #: build/C/man3/strftime.3:202
3973 "The time in 24-hour notation (B<%H:%M>). (SU) For a version including the "
3974 "seconds, see B<%T> below."
3978 #: build/C/man3/strftime.3:202 build/C/man3/strptime.3:396 build/C/man1/time.1:212
3984 #: build/C/man3/strftime.3:205
3985 msgid "The number of seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC). (TZ)"
3989 #: build/C/man3/strftime.3:205 build/C/man3/strptime.3:183 build/C/man1/time.1:145
3995 #: build/C/man3/strftime.3:209
3997 "The second as a decimal number (range 00 to 60). (The range is up to 60 to "
3998 "allow for occasional leap seconds.)"
4002 #: build/C/man3/strftime.3:209 build/C/man3/strptime.3:187 build/C/man1/time.1:159
4008 #: build/C/man3/strftime.3:212
4009 msgid "A tab character. (SU)"
4013 #: build/C/man3/strftime.3:212 build/C/man3/strptime.3:190
4019 #: build/C/man3/strftime.3:217
4020 msgid "The time in 24-hour notation (B<%H:%M:%S>). (SU)"
4024 #: build/C/man3/strftime.3:217 build/C/man3/strptime.3:364
4030 #: build/C/man3/strftime.3:223
4032 "The day of the week as a decimal, range 1 to 7, Monday being 1. See also "
4037 #: build/C/man3/strftime.3:223 build/C/man3/strptime.3:194 build/C/man1/time.1:148
4043 #: build/C/man3/strftime.3:232
4045 "The week number of the current year as a decimal number, range 00 to 53, "
4046 "starting with the first Sunday as the first day of week 01. See also B<%V> "
4051 #: build/C/man3/strftime.3:232 build/C/man3/strptime.3:367
4057 #: build/C/man3/strftime.3:242
4059 "The ISO\\ 8601 week number (see NOTES) of the current year as a decimal "
4060 "number, range 01 to 53, where week 1 is the first week that has at least 4 "
4061 "days in the new year. See also B<%U> and B<%W>. (SU)"
4065 #: build/C/man3/strftime.3:242 build/C/man3/strptime.3:198 build/C/man1/time.1:197
4071 #: build/C/man3/strftime.3:247
4073 "The day of the week as a decimal, range 0 to 6, Sunday being 0. See also "
4078 #: build/C/man3/strftime.3:247 build/C/man3/strptime.3:201 build/C/man1/time.1:190
4084 #: build/C/man3/strftime.3:251
4086 "The week number of the current year as a decimal number, range 00 to 53, "
4087 "starting with the first Monday as the first day of week 01."
4091 #: build/C/man3/strftime.3:251 build/C/man3/strptime.3:205 build/C/man1/time.1:221
4097 #: build/C/man3/strftime.3:254
4098 msgid "The preferred date representation for the current locale without the time."
4102 #: build/C/man3/strftime.3:254 build/C/man3/strptime.3:208 build/C/man1/time.1:172
4108 #: build/C/man3/strftime.3:257
4109 msgid "The preferred time representation for the current locale without the date."
4113 #: build/C/man3/strftime.3:257 build/C/man3/strptime.3:211
4119 #: build/C/man3/strftime.3:260
4120 msgid "The year as a decimal number without a century (range 00 to 99)."
4124 #: build/C/man3/strftime.3:260 build/C/man3/strptime.3:217
4130 #: build/C/man3/strftime.3:263
4131 msgid "The year as a decimal number including the century."
4135 #: build/C/man3/strftime.3:263 build/C/man3/strptime.3:374
4141 #: build/C/man3/strftime.3:270
4143 "The I<+hhmm> or I<-hhmm> numeric timezone (that is, the hour and minute "
4144 "offset from UTC). (SU)"
4148 #: build/C/man3/strftime.3:273
4149 msgid "The timezone name or abbreviation."
4153 #: build/C/man3/strftime.3:273
4158 #. Nov 05 -- Not in Linux/glibc, but is in some BSDs (according to
4161 #: build/C/man3/strftime.3:281
4162 msgid "The date and time in B<date>(1) format. (TZ) (Not supported in glibc2.)"
4166 #: build/C/man3/strftime.3:281 build/C/man3/strptime.3:114
4172 #: build/C/man3/strftime.3:284
4173 msgid "A literal \\(aq%\\(aq character."
4177 #: build/C/man3/strftime.3:320
4179 "Some conversion specifications can be modified by preceding the conversion "
4180 "specifier character by the B<E> or B<O> I<modifier> to indicate that an "
4181 "alternative format should be used. If the alternative format or "
4182 "specification does not exist for the current locale, the behavior will be as "
4183 "if the unmodified conversion specification were used. (SU) The Single UNIX "
4184 "Specification mentions B<%Ec>, B<%EC>, B<%Ex>, B<%EX>, B<%Ey>, B<%EY>, "
4185 "B<%Od>, B<%Oe>, B<%OH>, B<%OI>, B<%Om>, B<%OM>, B<%OS>, B<%Ou>, B<%OU>, "
4186 "B<%OV>, B<%Ow>, B<%OW>, B<%Oy>, where the effect of the B<O> modifier is to "
4187 "use alternative numeric symbols (say, roman numerals), and that of the E "
4188 "modifier is to use a locale-dependent alternative representation."
4192 #: build/C/man3/strftime.3:327
4194 "The broken-down time structure I<tm> is defined in I<E<lt>time.hE<gt>>. See "
4199 #: build/C/man3/strftime.3:347
4201 "Provided that the result string, including the terminating null byte, does "
4202 "not exceed I<max> bytes, B<strftime>() returns the number of bytes "
4203 "(excluding the terminating null byte) placed in the array I<s>. If the "
4204 "length of the result string (including the terminating null byte) would "
4205 "exceed I<max> bytes, then B<strftime>() returns 0, and the contents of the "
4206 "array are undefined. (This behavior applies since at least libc 4.4.4; very "
4207 "old versions of libc, such as libc 4.4.1, would return I<max> if the array "
4212 #: build/C/man3/strftime.3:355
4214 "Note that the return value 0 does not necessarily indicate an error. For "
4215 "example, in many locales B<%p> yields an empty string. An empty I<format> "
4216 "string will likewise yield an empty string."
4220 #: build/C/man3/strftime.3:361
4221 msgid "The environment variables B<TZ> and B<LC_TIME> are used."
4225 #: build/C/man3/strftime.3:378
4227 "SVr4, C89, C99. There are strict inclusions between the set of conversions "
4228 "given in ANSI C (unmarked), those given in the Single UNIX Specification "
4229 "(marked SU), those given in Olson's timezone package (marked TZ), and those "
4230 "given in glibc (marked GNU), except that B<%+> is not supported in glibc2. "
4231 "On the other hand glibc2 has several more extensions. POSIX.1 only refers "
4232 "to ANSI C; POSIX.2 describes under B<date>(1) several extensions that could "
4233 "apply to B<strftime>() as well. The B<%F> conversion is in C99 and "
4238 #: build/C/man3/strftime.3:385
4240 "In SUSv2, the B<%S> specifier allowed a range of 00 to 61, to allow for the "
4241 "theoretical possibility of a minute that included a double leap second "
4242 "(there never has been such a minute)."
4246 #: build/C/man3/strftime.3:386
4248 msgid "ISO 8601 week dates"
4252 #: build/C/man3/strftime.3:411
4254 "B<%G>, B<%g>, and B<%V> yield values calculated from the week-based year "
4255 "defined by the ISO\\ 8601 standard. In this system, weeks start on a "
4256 "Monday, and are numbered from 01, for the first week, up to 52 or 53, for "
4257 "the last week. Week 1 is the first week where four or more days fall within "
4258 "the new year (or, synonymously, week 01 is: the first week of the year that "
4259 "contains a Thursday; or, the week that has 4 January in it). When three of "
4260 "fewer days of the first calendar week of the new year fall within that year, "
4261 "then the ISO 8601 week-based system counts those days as part of week 53 of "
4262 "the preceding year. For example, 1 January 2010 is a Friday, meaning that "
4263 "just three days of that calendar week fall in 2010. Thus, the ISO\\ 8601 "
4264 "week-based system considers these days to be part of week 53 (B<%V>) of the "
4265 "year 2009 (B<%G>); week 01 of ISO\\ 8601 year 2010 starts on Monday, 4 "
4269 #. HP-UX and Tru64 also have features like this.
4271 #: build/C/man3/strftime.3:427
4273 "Glibc provides some extensions for conversion specifications. (These "
4274 "extensions are not specified in POSIX.1-2001, but a few other systems "
4275 "provide similar features.) Between the \\(aq%\\(aq character and the "
4276 "conversion specifier character, an optional I<flag> and field I<width> may "
4277 "be specified. (These precede the B<E> or B<O> modifiers, if present.)"
4281 #: build/C/man3/strftime.3:429
4282 msgid "The following flag characters are permitted:"
4286 #: build/C/man3/strftime.3:429
4292 #: build/C/man3/strftime.3:433
4293 msgid "(underscore) Pad a numeric result string with spaces."
4297 #: build/C/man3/strftime.3:433
4303 #: build/C/man3/strftime.3:437
4304 msgid "(dash) Do not pad a numeric result string."
4308 #: build/C/man3/strftime.3:437
4314 #: build/C/man3/strftime.3:441
4316 "Pad a numeric result string with zeros even if the conversion specifier "
4317 "character uses space-padding by default."
4321 #: build/C/man3/strftime.3:441
4327 #: build/C/man3/strftime.3:444
4328 msgid "Convert alphabetic characters in result string to uppercase."
4332 #: build/C/man3/strftime.3:444
4338 #: build/C/man3/strftime.3:450
4340 "Swap the case of the result string. (This flag works only with certain "
4341 "conversion specifier characters, and of these, it is only really useful with "
4346 #: build/C/man3/strftime.3:454
4348 "An optional decimal width specifier may follow the (possibly absent) flag. "
4349 "If the natural size of the field is smaller than this width, then the result "
4350 "string is padded (on the left) to the specified width."
4354 #: build/C/man3/strftime.3:472
4356 "If the output string would exceed I<max> bytes, I<errno> is I<not> set. "
4357 "This makes it impossible to distinguish this error case from cases where the "
4358 "I<format> string legitimately produces a zero-length output string. "
4359 "POSIX.1-2001 does I<not> specify any I<errno> settings for B<strftime>()."
4363 #: build/C/man3/strftime.3:487
4365 "Some buggy versions of B<gcc>(1) complain about the use of B<%c>: "
4366 "I<warning: `%c' yields only last 2 digits of year in some locales>. Of "
4367 "course programmers are encouraged to use B<%c>, it gives the preferred date "
4368 "and time representation. One meets all kinds of strange obfuscations to "
4369 "circumvent this B<gcc>(1) problem. A relatively clean one is to add an "
4370 "intermediate function"
4374 #: build/C/man3/strftime.3:496
4378 "my_strftime(char *s, size_t max, const char *fmt,\n"
4379 " const struct tm *tm)\n"
4381 " return strftime(s, max, fmt, tm);\n"
4386 #: build/C/man3/strftime.3:505
4388 "Nowadays, B<gcc>(1) provides the I<-Wno-format-y2k> option to prevent the "
4389 "warning, so that the above workaround is no longer required."
4393 #: build/C/man3/strftime.3:508
4394 msgid "B<RFC\\ 2822-compliant date format> (with an English locale for %a and %b)"
4398 #: build/C/man3/strftime.3:511
4399 msgid "%a,\\ %d\\ %b\\ %Y\\ %T\\ %z"
4403 #: build/C/man3/strftime.3:514
4404 msgid "B<RFC\\ 822-compliant date format> (with an English locale for %a and %b)"
4408 #: build/C/man3/strftime.3:517
4409 msgid "%a,\\ %d\\ %b\\ %y\\ %T\\ %z"
4413 #: build/C/man3/strftime.3:517
4415 msgid "Example program"
4419 #: build/C/man3/strftime.3:520
4420 msgid "The program below can be used to experiment with B<strftime>()."
4424 #: build/C/man3/strftime.3:524
4426 "Some examples of the result string produced by the glibc implementation of "
4427 "B<strftime>() are as follows:"
4431 #: build/C/man3/strftime.3:533
4434 "$B< ./a.out \\(aq%m\\(aq>\n"
4435 "Result string is \"11\"\n"
4436 "$B< ./a.out \\(aq%5m\\(aq>\n"
4437 "Result string is \"00011\"\n"
4438 "$B< ./a.out \\(aq%_5m\\(aq>\n"
4439 "Result string is \" 11\"\n"
4443 #: build/C/man3/strftime.3:540
4446 "#include E<lt>time.hE<gt>\n"
4447 "#include E<lt>stdio.hE<gt>\n"
4448 "#include E<lt>stdlib.hE<gt>\n"
4452 #: build/C/man3/strftime.3:547
4456 "main(int argc, char *argv[])\n"
4458 " char outstr[200];\n"
4460 " struct tm *tmp;\n"
4464 #: build/C/man3/strftime.3:554
4467 " t = time(NULL);\n"
4468 " tmp = localtime(&t);\n"
4469 " if (tmp == NULL) {\n"
4470 " perror(\"localtime\");\n"
4471 " exit(EXIT_FAILURE);\n"
4476 #: build/C/man3/strftime.3:559
4479 " if (strftime(outstr, sizeof(outstr), argv[1], tmp) == 0) {\n"
4480 " fprintf(stderr, \"strftime returned 0\");\n"
4481 " exit(EXIT_FAILURE);\n"
4486 #: build/C/man3/strftime.3:563
4489 " printf(\"Result string is \\e\"%s\\e\"\\en\", outstr);\n"
4490 " exit(EXIT_SUCCESS);\n"
4495 #: build/C/man3/strftime.3:571
4497 "B<date>(1), B<time>(2), B<ctime>(3), B<setlocale>(3), B<sprintf>(3), "
4502 #: build/C/man3/strptime.3:31
4508 #: build/C/man3/strptime.3:34
4509 msgid "strptime - convert a string representation of time to a time tm structure"
4513 #: build/C/man3/strptime.3:36
4514 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
4518 #: build/C/man3/strptime.3:41
4520 "B<char *strptime(const char *>I<s>B<, const char *>I<format>B<,> B<struct tm "
4525 #: build/C/man3/strptime.3:54
4527 "The B<strptime>() function is the converse of B<strftime>(3); it converts "
4528 "the character string pointed to by I<s> to values which are stored in the "
4529 "\"broken-down time\" structure pointed to by I<tm>, using the format "
4530 "specified by I<format>."
4534 #: build/C/man3/strptime.3:60
4536 "The broken-down time structure I<tm> is defined in I<E<lt>time.hE<gt>> as "
4541 #: build/C/man3/strptime.3:81
4542 msgid "For more details on the I<tm> structure, see B<ctime>(3)."
4546 #: build/C/man3/strptime.3:99
4548 "The I<format> argument is a character string that consists of field "
4549 "descriptors and text characters, reminiscent of B<scanf>(3). Each field "
4550 "descriptor consists of a B<%> character followed by another character that "
4551 "specifies the replacement for the field descriptor. All other characters in "
4552 "the I<format> string must have a matching character in the input string, "
4553 "except for whitespace, which matches zero or more whitespace characters in "
4554 "the input string. There should be white\\%space or other alphanumeric "
4555 "characters between any two field descriptors."
4559 #: build/C/man3/strptime.3:108
4561 "The B<strptime>() function processes the input string from left to right. "
4562 "Each of the three possible input elements (whitespace, literal, or format) "
4563 "are handled one after the other. If the input cannot be matched to the "
4564 "format string, the function stops. The remainder of the format and input "
4565 "strings are not processed."
4569 #: build/C/man3/strptime.3:114
4571 "The supported input field descriptors are listed below. In case a text "
4572 "string (such as the name of a day of the week or a month name) is to be "
4573 "matched, the comparison is case insensitive. In case a number is to be "
4574 "matched, leading zeros are permitted but not required."
4578 #: build/C/man3/strptime.3:119
4579 msgid "The B<%> character."
4583 #: build/C/man3/strptime.3:119
4585 msgid "B<%a> or B<%A>"
4589 #: build/C/man3/strptime.3:123
4591 "The name of the day of the week according to the current locale, in "
4592 "abbreviated form or the full name."
4596 #: build/C/man3/strptime.3:123
4598 msgid "B<%b> or B<%B> or B<%h>"
4602 #: build/C/man3/strptime.3:127
4604 "The month name according to the current locale, in abbreviated form or the "
4609 #: build/C/man3/strptime.3:130
4610 msgid "The date and time representation for the current locale."
4614 #: build/C/man3/strptime.3:133
4615 msgid "The century number (0-99)."
4619 #: build/C/man3/strptime.3:133
4621 msgid "B<%d> or B<%e>"
4625 #: build/C/man3/strptime.3:136
4626 msgid "The day of month (1-31)."
4630 #: build/C/man3/strptime.3:146
4632 "Equivalent to B<%m/%d/%y>. (This is the American style date, very confusing "
4633 "to non-Americans, especially since B<%d/%m/%y> is widely used in Europe. "
4634 "The ISO 8601 standard format is B<%Y-%m-%d>.)"
4638 #: build/C/man3/strptime.3:149
4639 msgid "The hour (0-23)."
4643 #: build/C/man3/strptime.3:152
4644 msgid "The hour on a 12-hour clock (1-12)."
4648 #: build/C/man3/strptime.3:155
4649 msgid "The day number in the year (1-366)."
4653 #: build/C/man3/strptime.3:158
4654 msgid "The month number (1-12)."
4658 #: build/C/man3/strptime.3:161
4659 msgid "The minute (0-59)."
4663 #: build/C/man3/strptime.3:164 build/C/man3/strptime.3:190
4664 msgid "Arbitrary whitespace."
4668 #: build/C/man3/strptime.3:168
4669 msgid "The locale's equivalent of AM or PM. (Note: there may be none.)"
4673 #: build/C/man3/strptime.3:179
4675 "The 12-hour clock time (using the locale's AM or PM). In the POSIX locale "
4676 "equivalent to B<%I:%M:%S %p>. If I<t_fmt_ampm> is empty in the B<LC_TIME> "
4677 "part of the current locale, then the behavior is undefined."
4681 #: build/C/man3/strptime.3:183
4682 msgid "Equivalent to B<%H:%M>."
4686 #: build/C/man3/strptime.3:187
4688 "The second (0-60; 60 may occur for leap seconds; earlier also 61 was "
4693 #: build/C/man3/strptime.3:194
4694 msgid "Equivalent to B<%H:%M:%S>."
4698 #: build/C/man3/strptime.3:198
4700 "The week number with Sunday the first day of the week (0-53). The first "
4701 "Sunday of January is the first day of week 1."
4705 #: build/C/man3/strptime.3:201
4706 msgid "The ordinal number of the day of the week (0-6), with Sunday = 0."
4710 #: build/C/man3/strptime.3:205
4712 "The week number with Monday the first day of the week (0-53). The first "
4713 "Monday of January is the first day of week 1."
4717 #: build/C/man3/strptime.3:208
4718 msgid "The date, using the locale's date format."
4722 #: build/C/man3/strptime.3:211
4723 msgid "The time, using the locale's time format."
4727 #: build/C/man3/strptime.3:217
4729 "The year within century (0-99). When a century is not otherwise specified, "
4730 "values in the range 69-99 refer to years in the twentieth century "
4731 "(1969-1999); values in the range 00-68 refer to years in the twenty-first "
4732 "century (2000-2068)."
4736 #: build/C/man3/strptime.3:220
4737 msgid "The year, including century (for example, 1991)."
4741 #: build/C/man3/strptime.3:226
4743 "Some field descriptors can be modified by the E or O modifier characters to "
4744 "indicate that an alternative format or specification should be used. If the "
4745 "alternative format or specification does not exist in the current locale, "
4746 "the unmodified field descriptor is used."
4750 #: build/C/man3/strptime.3:229
4752 "The E modifier specifies that the input string may contain alternative "
4753 "locale-dependent versions of the date and time representation:"
4757 #: build/C/man3/strptime.3:229
4763 #: build/C/man3/strptime.3:232
4764 msgid "The locale's alternative date and time representation."
4768 #: build/C/man3/strptime.3:232
4774 #: build/C/man3/strptime.3:235
4776 "The name of the base year (period) in the locale's alternative "
4781 #: build/C/man3/strptime.3:235
4787 #: build/C/man3/strptime.3:238
4788 msgid "The locale's alternative date representation."
4792 #: build/C/man3/strptime.3:238
4798 #: build/C/man3/strptime.3:241
4799 msgid "The locale's alternative time representation."
4803 #: build/C/man3/strptime.3:241
4809 #: build/C/man3/strptime.3:246
4811 "The offset from B<%EC> (year only) in the locale's alternative "
4816 #: build/C/man3/strptime.3:246
4822 #: build/C/man3/strptime.3:249
4823 msgid "The full alternative year representation."
4827 #: build/C/man3/strptime.3:252
4829 "The O modifier specifies that the numerical input may be in an alternative "
4830 "locale-dependent format:"
4834 #: build/C/man3/strptime.3:252
4836 msgid "B<%Od> or B<%Oe>"
4840 #: build/C/man3/strptime.3:256
4842 "The day of the month using the locale's alternative numeric symbols; leading "
4843 "zeros are permitted but not required."
4847 #: build/C/man3/strptime.3:256
4853 #: build/C/man3/strptime.3:259
4854 msgid "The hour (24-hour clock) using the locale's alternative numeric symbols."
4858 #: build/C/man3/strptime.3:259
4864 #: build/C/man3/strptime.3:262
4865 msgid "The hour (12-hour clock) using the locale's alternative numeric symbols."
4869 #: build/C/man3/strptime.3:262
4875 #: build/C/man3/strptime.3:265
4876 msgid "The month using the locale's alternative numeric symbols."
4880 #: build/C/man3/strptime.3:265
4886 #: build/C/man3/strptime.3:268
4887 msgid "The minutes using the locale's alternative numeric symbols."
4891 #: build/C/man3/strptime.3:268
4897 #: build/C/man3/strptime.3:271
4898 msgid "The seconds using the locale's alternative numeric symbols."
4902 #: build/C/man3/strptime.3:271
4908 #: build/C/man3/strptime.3:275
4910 "The week number of the year (Sunday as the first day of the week) using the "
4911 "locale's alternative numeric symbols."
4915 #: build/C/man3/strptime.3:275
4921 #: build/C/man3/strptime.3:279
4924 "The ordinal number of the day of the week (Sunday=0),\n"
4925 " using the locale's alternative numeric symbols.\n"
4929 #: build/C/man3/strptime.3:279
4935 #: build/C/man3/strptime.3:283
4937 "The week number of the year (Monday as the first day of the week) using the "
4938 "locale's alternative numeric symbols."
4942 #: build/C/man3/strptime.3:283
4948 #: build/C/man3/strptime.3:288
4950 "The year (offset from B<%C>) using the locale's alternative numeric "
4955 #: build/C/man3/strptime.3:302
4957 "The return value of the function is a pointer to the first character not "
4958 "processed in this function call. In case the input string contains more "
4959 "characters than required by the format string, the return value points right "
4960 "after the last consumed input character. In case the whole input string is "
4961 "consumed, the return value points to the null byte at the end of the "
4962 "string. If B<strptime>() fails to match all of the format string and "
4963 "therefore an error occurred, the function returns NULL."
4967 #: build/C/man3/strptime.3:320
4969 "In principle, this function does not initialize I<tm> but stores only the "
4970 "values specified. This means that I<tm> should be initialized before the "
4971 "call. Details differ a bit between different UNIX systems. The glibc "
4972 "implementation does not touch those fields which are not explicitly "
4973 "specified, except that it recomputes the I<tm_wday> and I<tm_yday> field if "
4974 "any of the year, month, or day elements changed."
4978 #: build/C/man3/strptime.3:328
4980 "This function is available since libc 4.6.8. Linux libc4 and libc5 includes "
4981 "define the prototype unconditionally; glibc2 includes provide a prototype "
4982 "only when B<_XOPEN_SOURCE> or B<_GNU_SOURCE> are defined."
4986 #: build/C/man3/strptime.3:333
4988 "Before libc 5.4.13 whitespace (and the \\(aqn\\(aq and \\(aqt\\(aq "
4989 "specifications) was not handled, no \\(aqE\\(aq and \\(aqO\\(aq locale "
4990 "modifier characters were accepted, and the \\(aqC\\(aq specification was a "
4991 "synonym for the \\(aqc\\(aq specification."
4994 #. In libc4 and libc5 the code for %I is broken (fixed in glibc;
4995 #. %OI was fixed in glibc 2.2.4).
4997 #: build/C/man3/strptime.3:342
4999 "The \\(aqy\\(aq (year in century) specification is taken to specify a year "
5000 "in the 20th century by libc4 and libc5. It is taken to be a year in the "
5001 "range 1950-2049 by glibc 2.0. It is taken to be a year in 1969-2068 since "
5006 #: build/C/man3/strptime.3:351
5008 "For reasons of symmetry, glibc tries to support for B<strptime>() the same "
5009 "format characters as for B<strftime>(3). (In most cases, the corresponding "
5010 "fields are parsed, but no field in I<tm> is changed.) This leads to"
5014 #: build/C/man3/strptime.3:356
5015 msgid "Equivalent to B<%Y-%m-%d>, the ISO 8601 date format."
5019 #: build/C/man3/strptime.3:360
5021 "The year corresponding to the ISO week number, but without the century "
5026 #: build/C/man3/strptime.3:364
5027 msgid "The year corresponding to the ISO week number. (For example, 1991.)"
5031 #: build/C/man3/strptime.3:367
5032 msgid "The day of the week as a decimal number (1-7, where Monday = 1)."
5036 #: build/C/man3/strptime.3:374
5038 "The ISO 8601:1988 week number as a decimal number (1-53). If the week "
5039 "(starting on Monday) containing 1 January has four or more days in the new "
5040 "year, then it is considered week 1. Otherwise, it is the last week of the "
5041 "previous year, and the next week is week 1."
5045 #: build/C/man3/strptime.3:377
5046 msgid "An RFC-822/ISO 8601 standard timezone specification."
5050 #: build/C/man3/strptime.3:380
5051 msgid "The timezone name."
5055 #: build/C/man3/strptime.3:396
5057 "Similarly, because of GNU extensions to B<strftime>(3), B<%k> is accepted as "
5058 "a synonym for B<%H>, and B<%l> should be accepted as a synonym for B<%I>, "
5059 "and B<%P> is accepted as a synonym for B<%p>. Finally"
5063 #: build/C/man3/strptime.3:400
5065 "The number of seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC). "
5066 "Leap seconds are not counted unless leap second support is available."
5070 #: build/C/man3/strptime.3:403
5072 "The glibc implementation does not require whitespace between two field "
5077 #: build/C/man3/strptime.3:408
5079 "The following example demonstrates the use of B<strptime>() and "
5084 #: build/C/man3/strptime.3:415
5087 "#define _XOPEN_SOURCE\n"
5088 "#include E<lt>stdio.hE<gt>\n"
5089 "#include E<lt>stdlib.hE<gt>\n"
5090 "#include E<lt>string.hE<gt>\n"
5091 "#include E<lt>time.hE<gt>\n"
5095 #: build/C/man3/strptime.3:421
5106 #: build/C/man3/strptime.3:428
5109 " memset(&tm, 0, sizeof(struct tm));\n"
5110 " strptime(\"2001-11-12 18:31:01\", \"%Y-%m-%d %H:%M:%S\", &tm);\n"
5111 " strftime(buf, sizeof(buf), \"%d %b %Y %H:%M\", &tm);\n"
5113 " exit(EXIT_SUCCESS);\n"
5118 #: build/C/man3/strptime.3:435
5119 msgid "B<time>(2), B<getdate>(3), B<scanf>(3), B<setlocale>(3), B<strftime>(3)"
5123 #: build/C/man1/time.1:9 build/C/man2/time.2:29 build/C/man7/time.7:28
5129 #: build/C/man1/time.1:9
5135 #: build/C/man1/time.1:9
5137 msgid "Linux User's Manual"
5141 #: build/C/man1/time.1:12
5142 msgid "time - time a simple command or give resource usage"
5146 #: build/C/man1/time.1:14
5147 msgid "B<time [>I<options>B<] >I<command>B< [>I<arguments...>B<] >"
5151 #: build/C/man1/time.1:44
5153 "The B<time> command runs the specified program I<command> with the given "
5154 "arguments. When I<command> finishes, B<time> writes a message to standard "
5155 "error giving timing statistics about this program run. These statistics "
5156 "consist of (i) the elapsed real time between invocation and termination, "
5157 "(ii) the user CPU time (the sum of the I<tms_utime> and I<tms_cutime> values "
5158 "in a I<struct tms> as returned by B<times>(2)), and (iii) the system CPU "
5159 "time (the sum of the I<tms_stime> and I<tms_cstime> values in a I<struct "
5160 "tms> as returned by B<times>(2))."
5164 #: build/C/man1/time.1:53
5166 "Note: some shells (e.g., B<bash>(1)) have a built-in B<time> command that "
5167 "provides less functionality than the command described here. To access the "
5168 "real command, you may need to specify its pathname (something like "
5169 "I</usr/bin/time>)."
5173 #: build/C/man1/time.1:53
5179 #: build/C/man1/time.1:54
5185 #: build/C/man1/time.1:57
5186 msgid "When in the POSIX locale, use the precise traditional format"
5190 #: build/C/man1/time.1:60
5191 msgid "real %f\\enuser %f\\ensys %f\\en"
5195 #: build/C/man1/time.1:65
5197 "(with numbers in seconds) where the number of decimals in the output for %f "
5198 "is unspecified but is sufficient to express the clock tick accuracy, and at "
5203 #: build/C/man1/time.1:65 build/C/man8/tzselect.8:20
5209 #: build/C/man1/time.1:74
5211 "If I<command> was invoked, the exit status is that of I<command>. Otherwise "
5212 "it is 127 if I<command> could not be found, 126 if it could be found but "
5213 "could not be invoked, and some other nonzero value (1-125) if something else "
5218 #: build/C/man1/time.1:88
5220 "The variables B<LANG>, B<LC_ALL>, B<LC_CTYPE>, B<LC_MESSAGES>, "
5221 "B<LC_NUMERIC>, B<NLSPATH>, and B<PATH> are used. The last one to search for "
5222 "I<command>. The remaining ones for the text and formatting of the output."
5226 #: build/C/man1/time.1:88
5232 #: build/C/man1/time.1:100
5234 "Below a description of the GNU 1.7 version of B<time>. Disregarding the "
5235 "name of the utility, GNU makes it output lots of useful information, not "
5236 "only about time used, but also on other resources like memory, I/O and IPC "
5237 "calls (where available). The output is formatted using a format string that "
5238 "can be specified using the I<-f> option or the B<TIME> environment variable."
5242 #: build/C/man1/time.1:102
5243 msgid "The default format string is:"
5247 #: build/C/man1/time.1:105
5248 msgid "%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k"
5252 #: build/C/man1/time.1:107
5253 msgid "%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps"
5257 #: build/C/man1/time.1:113
5258 msgid "When the I<-p> option is given the (portable) output format"
5262 #: build/C/man1/time.1:116
5267 #: build/C/man1/time.1:118
5272 #: build/C/man1/time.1:120
5277 #: build/C/man1/time.1:124
5282 #: build/C/man1/time.1:124
5284 msgid "The format string"
5288 #: build/C/man1/time.1:137
5290 "The format is interpreted in the usual printf-like way. Ordinary characters "
5291 "are directly copied, tab, newline and backslash are escaped using \\et, \\en "
5292 "and \\e\\e, a percent sign is represented by %%, and otherwise % indicates a "
5293 "conversion. The program B<time> will always add a trailing newline itself. "
5294 "The conversions follow. All of those used by B<tcsh>(1) are supported."
5298 #: build/C/man1/time.1:139
5303 #: build/C/man1/time.1:142
5304 msgid "Elapsed real time (in [hours:]minutes:seconds)."
5308 #: build/C/man1/time.1:145
5309 msgid "(Not in tcsh.) Elapsed real time (in seconds)."
5313 #: build/C/man1/time.1:148
5314 msgid "Total number of CPU-seconds that the process spent in kernel mode."
5318 #: build/C/man1/time.1:151
5319 msgid "Total number of CPU-seconds that the process spent in user mode."
5323 #: build/C/man1/time.1:154
5324 msgid "Percentage of the CPU that this job got, computed as (%U + %S) / %E."
5328 #: build/C/man1/time.1:156
5333 #: build/C/man1/time.1:159
5334 msgid "Maximum resident set size of the process during its lifetime, in Kbytes."
5338 #: build/C/man1/time.1:162
5339 msgid "(Not in tcsh.) Average resident set size of the process, in Kbytes."
5343 #: build/C/man1/time.1:162
5349 #: build/C/man1/time.1:166
5350 msgid "Average total (data+stack+text) memory use of the process, in Kbytes."
5354 #: build/C/man1/time.1:169
5355 msgid "Average size of the process's unshared data area, in Kbytes."
5359 #: build/C/man1/time.1:172
5361 "(Not in tcsh.) Average size of the process's unshared stack space, in "
5366 #: build/C/man1/time.1:175
5367 msgid "Average size of the process's shared text space, in Kbytes."
5371 #: build/C/man1/time.1:179
5373 "(Not in tcsh.) System's page size, in bytes. This is a per-system constant, "
5374 "but varies between systems."
5378 #: build/C/man1/time.1:183
5380 "Number of major page faults that occurred while the process was running. "
5381 "These are faults where the page has to be read in from disk."
5385 #: build/C/man1/time.1:190
5387 "Number of minor, or recoverable, page faults. These are faults for pages "
5388 "that are not valid but which have not yet been claimed by other virtual "
5389 "pages. Thus the data in the page is still valid but the system tables must "
5394 #: build/C/man1/time.1:193
5395 msgid "Number of times the process was swapped out of main memory."
5399 #: build/C/man1/time.1:197
5401 "Number of times the process was context-switched involuntarily (because the "
5402 "time slice expired)."
5406 #: build/C/man1/time.1:201
5408 "Number of waits: times that the program was context-switched voluntarily, "
5409 "for instance while waiting for an I/O operation to complete."
5413 #: build/C/man1/time.1:203
5418 #: build/C/man1/time.1:206
5419 msgid "Number of filesystem inputs by the process."
5423 #: build/C/man1/time.1:209
5424 msgid "Number of filesystem outputs by the process."
5428 #: build/C/man1/time.1:212
5429 msgid "Number of socket messages received by the process."
5433 #: build/C/man1/time.1:215
5434 msgid "Number of socket messages sent by the process."
5438 #: build/C/man1/time.1:218
5439 msgid "Number of signals delivered to the process."
5443 #: build/C/man1/time.1:221
5444 msgid "(Not in tcsh.) Name and command-line arguments of the command being timed."
5448 #: build/C/man1/time.1:224
5449 msgid "(Not in tcsh.) Exit status of the command."
5453 #: build/C/man1/time.1:224
5459 #: build/C/man1/time.1:225
5461 msgid "B<-f >I<FORMAT>B<, --format=>I<FORMAT>"
5465 #: build/C/man1/time.1:229
5467 "Specify output format, possibly overriding the format specified in the "
5468 "environment variable TIME."
5472 #: build/C/man1/time.1:229
5474 msgid "B<-p, --portability>"
5478 #: build/C/man1/time.1:232
5479 msgid "Use the portable output format."
5483 #: build/C/man1/time.1:232
5485 msgid "B<-o >I<FILE>B<, --output=>I<FILE>"
5489 #: build/C/man1/time.1:237
5490 msgid "Do not send the results to I<stderr>, but overwrite the specified file."
5494 #: build/C/man1/time.1:237
5496 msgid "B<-a, --append>"
5500 #: build/C/man1/time.1:240
5501 msgid "(Used together with -o.) Do not overwrite but append."
5505 #: build/C/man1/time.1:240
5507 msgid "B<-v, --verbose>"
5511 #: build/C/man1/time.1:243
5512 msgid "Give very verbose output about all the program knows about."
5516 #: build/C/man1/time.1:243
5518 msgid "GNU standard options"
5522 #: build/C/man1/time.1:244 build/C/man8/zdump.8:31
5528 #: build/C/man1/time.1:247
5529 msgid "Print a usage message on standard output and exit successfully."
5533 #: build/C/man1/time.1:247
5535 msgid "B<-V, --version>"
5539 #: build/C/man1/time.1:250
5540 msgid "Print version information on standard output, then exit successfully."
5544 #: build/C/man1/time.1:250
5550 #: build/C/man1/time.1:253
5551 msgid "Terminate option list."
5555 #: build/C/man1/time.1:258
5557 "Not all resources are measured by all versions of UNIX, so some of the "
5558 "values might be reported as zero. The present selection was mostly inspired "
5559 "by the data provided by 4.2 or 4.3BSD."
5563 #: build/C/man1/time.1:261
5565 "GNU time version 1.7 is not yet localized. Thus, it does not implement the "
5566 "POSIX requirements."
5570 #: build/C/man1/time.1:273
5572 "The environment variable B<TIME> was badly chosen. It is not unusual for "
5573 "systems like B<autoconf>(1) or B<make>(1) to use environment variables "
5574 "with the name of a utility to override the utility to be used. Uses like "
5575 "MORE or TIME for options to programs (instead of program pathnames) tend to "
5576 "lead to difficulties."
5580 #: build/C/man1/time.1:280
5582 "It seems unfortunate that I<-o> overwrites instead of appends. (That is, "
5583 "the I<-a> option should be the default.)"
5587 #: build/C/man1/time.1:284
5588 msgid "Mail suggestions and bug reports for GNU B<time> to"
5592 #: build/C/man1/time.1:286
5593 msgid "I<bug-utils@prep.ai.mit.edu>"
5597 #: build/C/man1/time.1:290
5598 msgid "Please include the version of B<time>, which you can get by running"
5602 #: build/C/man1/time.1:292
5603 msgid "I<time --version>"
5608 #. .IP "David Keppel"
5610 #. .IP "David MacKenzie"
5611 #. POSIXization, autoconfiscation, GNU getoptization,
5612 #. documentation, other bug fixes and improvements.
5613 #. .IP "Arne Henrik Juul"
5614 #. Helped with portability
5615 #. .IP "Francois Pinard"
5616 #. Helped with portability
5618 #: build/C/man1/time.1:306
5619 msgid "and the operating system and C compiler you used."
5623 #: build/C/man1/time.1:310
5624 msgid "B<tcsh>(1), B<times>(2), B<wait3>(2)"
5628 #: build/C/man2/time.2:29
5634 #: build/C/man2/time.2:32
5635 msgid "time - get time in seconds"
5639 #: build/C/man2/time.2:36
5640 msgid "B<time_t time(time_t *>I<t>B<);>"
5644 #: build/C/man2/time.2:40
5646 "B<time>() returns the time as the number of seconds since the Epoch, "
5647 "1970-01-01 00:00:00 +0000 (UTC)."
5651 #: build/C/man2/time.2:46
5653 "If I<t> is non-NULL, the return value is also stored in the memory pointed "
5658 #: build/C/man2/time.2:50
5660 "On success, the value of time in seconds since the Epoch is returned. On "
5661 "error, I<((time_t)\\ -1)> is returned, and I<errno> is set appropriately."
5665 #: build/C/man2/time.2:55
5666 msgid "I<t> points outside your accessible address space."
5670 #. Under 4.3BSD, this call is obsoleted by
5671 #. .BR gettimeofday (2).
5673 #: build/C/man2/time.2:61
5675 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001. POSIX does not specify any error "
5680 #: build/C/man2/time.2:76
5682 "POSIX.1 defines I<seconds since the Epoch> using a formula that approximates "
5683 "the number of seconds between a specified time and the Epoch. This formula "
5684 "takes account of the facts that all years that are evenly divisible by 4 are "
5685 "leap years, but years that are evenly divisible by 100 are not leap years "
5686 "unless they are also evenly divisible by 400, in which case they are leap "
5687 "years. This value is not the same as the actual number of seconds between "
5688 "the time and the Epoch, because of leap seconds and because system clocks "
5689 "are not required to be synchronized to a standard reference. The intention "
5690 "is that the interpretation of seconds since the Epoch values be consistent; "
5691 "see POSIX.1-2008 Rationale A.4.15 for further rationale."
5695 #: build/C/man2/time.2:82
5696 msgid "B<date>(1), B<gettimeofday>(2), B<ctime>(3), B<ftime>(3), B<time>(7)"
5700 #: build/C/man7/time.7:28
5706 #: build/C/man7/time.7:31
5707 msgid "time - overview of time and timers"
5711 #: build/C/man7/time.7:32
5713 msgid "Real time and process time"
5717 #: build/C/man7/time.7:39
5719 "I<Real time> is defined as time measured from some fixed point, either from "
5720 "a standard point in the past (see the description of the Epoch and calendar "
5721 "time below), or from some point (e.g., the start) in the life of a process "
5722 "(I<elapsed time>)."
5726 #: build/C/man7/time.7:59
5728 "I<Process time> is defined as the amount of CPU time used by a process. "
5729 "This is sometimes divided into I<user> and I<system> components. User CPU "
5730 "time is the time spent executing code in user mode. System CPU time is the "
5731 "time spent by the kernel executing in system mode on behalf of the process "
5732 "(e.g., executing system calls). The B<time>(1) command can be used to "
5733 "determine the amount of CPU time consumed during the execution of a "
5734 "program. A program can determine the amount of CPU time it has consumed "
5735 "using B<times>(2), B<getrusage>(2), or B<clock>(3)."
5739 #: build/C/man7/time.7:59
5741 msgid "The hardware clock"
5745 #: build/C/man7/time.7:66
5747 "Most computers have a (battery-powered) hardware clock which the kernel "
5748 "reads at boot time in order to initialize the software clock. For further "
5749 "details, see B<rtc>(4) and B<hwclock>(8)."
5753 #: build/C/man7/time.7:66
5755 msgid "The software clock, HZ, and jiffies"
5758 #. semtimedop(), mq_timedwait(), io_getevents(), poll() are the same
5759 #. futexes and thus sem_timedwait() seem to use high-res timers.
5761 #: build/C/man7/time.7:81
5763 "The accuracy of various system calls that set timeouts, (e.g., B<select>(2), "
5764 "B<sigtimedwait>(2)) and measure CPU time (e.g., B<getrusage>(2)) is "
5765 "limited by the resolution of the I<software clock>, a clock maintained by "
5766 "the kernel which measures time in I<jiffies>. The size of a jiffy is "
5767 "determined by the value of the kernel constant I<HZ>."
5771 #: build/C/man7/time.7:96
5773 "The value of I<HZ> varies across kernel versions and hardware platforms. On "
5774 "i386 the situation is as follows: on kernels up to and including 2.4.x, HZ "
5775 "was 100, giving a jiffy value of 0.01 seconds; starting with 2.6.0, HZ was "
5776 "raised to 1000, giving a jiffy of 0.001 seconds. Since kernel 2.6.13, the "
5777 "HZ value is a kernel configuration parameter and can be 100, 250 (the "
5778 "default) or 1000, yielding a jiffies value of, respectively, 0.01, 0.004, or "
5779 "0.001 seconds. Since kernel 2.6.20, a further frequency is available: 300, "
5780 "a number that divides evenly for the common video frame rates (PAL, 25 HZ; "
5784 #. glibc gets this info with a little help from the ELF loader;
5785 #. see glibc elf/dl-support.c and kernel fs/binfmt_elf.c.
5787 #: build/C/man7/time.7:107
5789 "The B<times>(2) system call is a special case. It reports times with a "
5790 "granularity defined by the kernel constant I<USER_HZ>. User-space "
5791 "applications can determine the value of this constant using "
5792 "I<sysconf(_SC_CLK_TCK)>."
5796 #: build/C/man7/time.7:107
5798 msgid "High-resolution timers"
5802 #: build/C/man7/time.7:110
5804 "Before Linux 2.6.21, the accuracy of timer and sleep system calls (see "
5805 "below) was also limited by the size of the jiffy."
5809 #: build/C/man7/time.7:123
5811 "Since Linux 2.6.21, Linux supports high-resolution timers (HRTs), optionally "
5812 "configurable via B<CONFIG_HIGH_RES_TIMERS>. On a system that supports HRTs, "
5813 "the accuracy of sleep and timer system calls is no longer constrained by the "
5814 "jiffy, but instead can be as accurate as the hardware allows (microsecond "
5815 "accuracy is typical of modern hardware). You can determine whether "
5816 "high-resolution timers are supported by checking the resolution returned by "
5817 "a call to B<clock_getres>(2) or looking at the \"resolution\" entries in "
5818 "I</proc/timer_list>."
5822 #: build/C/man7/time.7:126
5824 "HRTs are not supported on all hardware architectures. (Support is provided "
5825 "on x86, arm, and powerpc, among others.)"
5829 #: build/C/man7/time.7:126
5835 #: build/C/man7/time.7:130
5837 "UNIX systems represent time in seconds since the I<Epoch>, 1970-01-01 "
5838 "00:00:00 +0000 (UTC)."
5842 #: build/C/man7/time.7:142
5844 "A program can determine the I<calendar time> using B<gettimeofday>(2), which "
5845 "returns time (in seconds and microseconds) that have elapsed since the "
5846 "Epoch; B<time>(2) provides similar information, but only with accuracy to "
5847 "the nearest second. The system time can be changed using "
5848 "B<settimeofday>(2)."
5852 #: build/C/man7/time.7:142
5854 msgid "Broken-down time"
5858 #: build/C/man7/time.7:160
5860 "Certain library functions use a structure of type I<tm> to represent "
5861 "I<broken-down time>, which stores time value separated out into distinct "
5862 "components (year, month, day, hour, minute, second, etc.). This structure "
5863 "is described in B<ctime>(3), which also describes functions that convert "
5864 "between calendar time and broken-down time. Functions for converting "
5865 "between broken-down time and printable string representations of the time "
5866 "are described in B<ctime>(3), B<strftime>(3), and B<strptime>(3)."
5870 #: build/C/man7/time.7:160
5872 msgid "Sleeping and setting timers"
5876 #: build/C/man7/time.7:167
5878 "Various system calls and functions allow a program to sleep (suspend "
5879 "execution) for a specified period of time; see B<nanosleep>(2), "
5880 "B<clock_nanosleep>(2), and B<sleep>(3)."
5884 #: build/C/man7/time.7:176
5886 "Various system calls allow a process to set a timer that expires at some "
5887 "point in the future, and optionally at repeated intervals; see B<alarm>(2), "
5888 "B<getitimer>(2), B<timerfd_create>(2), and B<timer_create>(2)."
5892 #: build/C/man7/time.7:176
5898 #: build/C/man7/time.7:188
5900 "Since Linux 2.6.28, it is possible to control the \"timer slack\" value for "
5901 "a thread. The timer slack is the length of time by which the kernel may "
5902 "delay the wake-up of certain system calls that block with a timeout. "
5903 "Permitting this delay allows the kernel to coalesce wake-up events, thus "
5904 "possibly reducing the number of system wake-ups and saving power. For more "
5905 "details, see the description of B<PR_SET_TIMERSLACK> in B<prctl>(2)."
5909 #: build/C/man7/time.7:220
5911 "B<date>(1), B<time>(1), B<adjtimex>(2), B<alarm>(2), B<clock_gettime>(2), "
5912 "B<clock_nanosleep>(2), B<getitimer>(2), B<getrlimit>(2), B<getrusage>(2), "
5913 "B<gettimeofday>(2), B<nanosleep>(2), B<stat>(2), B<time>(2), "
5914 "B<timer_create>(2), B<timerfd_create>(2), B<times>(2), B<utime>(2), "
5915 "B<adjtime>(3), B<clock>(3), B<clock_getcpuclockid>(3), B<ctime>(3), "
5916 "B<pthread_getcpuclockid>(3), B<sleep>(3), B<strftime>(3), B<strptime>(3), "
5917 "B<timeradd>(3), B<usleep>(3), B<rtc>(4), B<hwclock>(8)"
5921 #: build/C/man3/timegm.3:25
5927 #: build/C/man3/timegm.3:28
5928 msgid "timegm, timelocal - inverses of gmtime and localtime"
5932 #: build/C/man3/timegm.3:33
5934 msgid "B<time_t timelocal(struct tm *>I<tm>B<);>\n"
5938 #: build/C/man3/timegm.3:35
5940 msgid "B<time_t timegm(struct tm *>I<tm>B<);>\n"
5944 #: build/C/man3/timegm.3:45
5945 msgid "B<timelocal>(), B<timegm>(): _BSD_SOURCE || _SVID_SOURCE"
5949 #: build/C/man3/timegm.3:54
5951 "The functions B<timelocal>() and B<timegm>() are the inverses of "
5952 "B<localtime>(3) and B<gmtime>(3)."
5956 #: build/C/man3/timegm.3:58
5958 "These functions are nonstandard GNU extensions that are also present on the "
5959 "BSDs. Avoid their use; see NOTES."
5963 #: build/C/man3/timegm.3:64
5965 "The B<timelocal>() function is equivalent to the POSIX standard function "
5966 "B<mktime>(3). There is no reason to ever use it."
5970 #: build/C/man3/timegm.3:74
5972 "For a portable version of B<timegm>(), set the B<TZ> environment variable to "
5973 "UTC, call B<mktime>(3) and restore the value of B<TZ>. Something like"
5977 #: build/C/man3/timegm.3:79
5980 "#include E<lt>time.hE<gt>\n"
5981 "#include E<lt>stdlib.hE<gt>\n"
5985 #: build/C/man3/timegm.3:85
5989 "my_timegm(struct tm *tm)\n"
5996 #: build/C/man3/timegm.3:100
5999 " tz = getenv(\"TZ\");\n"
6001 " tz = strdup(tz);\n"
6002 " setenv(\"TZ\", \"\", 1);\n"
6004 " ret = mktime(tm);\n"
6006 " setenv(\"TZ\", tz, 1);\n"
6009 " unsetenv(\"TZ\");\n"
6016 #: build/C/man3/timegm.3:107
6017 msgid "B<gmtime>(3), B<localtime>(3), B<mktime>(3), B<tzset>(3)"
6021 #: build/C/man3/timeradd.3:27
6027 #: build/C/man3/timeradd.3:30
6028 msgid "timeradd, timersub, timercmp, timerclear, timerisset - timeval operations"
6032 #: build/C/man3/timeradd.3:36
6035 "B<void timeradd(struct timeval *>I<a>B<, struct timeval *>I<b>B<,>\n"
6036 "B< struct timeval *>I<res>B<);>\n"
6040 #: build/C/man3/timeradd.3:39
6043 "B<void timersub(struct timeval *>I<a>B<, struct timeval *>I<b>B<,>\n"
6044 "B< struct timeval *>I<res>B<);>\n"
6048 #: build/C/man3/timeradd.3:41
6050 msgid "B<void timerclear(struct timeval *>I<tvp>B<);>\n"
6054 #: build/C/man3/timeradd.3:43
6056 msgid "B<int timerisset(struct timeval *>I<tvp>B<);>\n"
6060 #: build/C/man3/timeradd.3:45
6063 "B<int timercmp(struct timeval *>I<a>B<, struct timeval *>I<b>B<, "
6068 #: build/C/man3/timeradd.3:54
6069 msgid "All functions shown above: _BSD_SOURCE"
6073 #: build/C/man3/timeradd.3:60
6075 "The macros are provided to operate on I<timeval> structures, defined in "
6076 "I<E<lt>sys/time.hE<gt>> as:"
6080 #: build/C/man3/timeradd.3:82
6082 "B<timeradd>() adds the time values in I<a> and I<b>, and places the sum in "
6083 "the I<timeval> pointed to by I<res>. The result is normalized such that "
6084 "I<res-E<gt>tv_usec> has a value in the range 0 to 999,999."
6088 #: build/C/man3/timeradd.3:95
6090 "B<timersub>() subtracts the time value in I<b> from the time value in I<a>, "
6091 "and places the result in the I<timeval> pointed to by I<res>. The result is "
6092 "normalized such that I<res-E<gt>tv_usec> has a value in the range 0 to "
6097 #: build/C/man3/timeradd.3:102
6099 "B<timerclear>() zeros out the I<timeval> structure pointed to by I<tvp>, so "
6100 "that it represents the Epoch: 1970-01-01 00:00:00 +0000 (UTC)."
6104 #: build/C/man3/timeradd.3:109
6106 "B<timerisset>() returns true (nonzero) if either field of the I<timeval> "
6107 "structure pointed to by I<tvp> contains a nonzero value."
6110 #. HP-UX, Tru64, Irix have a definition like:
6111 #. #define timercmp(tvp, uvp, cmp) \
6112 #. ((tvp)->tv_sec cmp (uvp)->tv_sec || \
6113 #. (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec)
6115 #: build/C/man3/timeradd.3:136
6117 "B<timercmp>() compares the timer values in I<a> and I<b> using the "
6118 "comparison operator I<CMP>, and returns true (nonzero) or false (0) "
6119 "depending on the result of the comparison. Some systems (but not "
6120 "Linux/glibc), have a broken B<timercmp>() implementation, in which I<CMP> "
6121 "of I<E<gt>=>, I<E<lt>=>, and I<==> do not work; portable applications can "
6126 #: build/C/man3/timeradd.3:140
6129 " !timercmp(..., E<lt>)\n"
6130 " !timercmp(..., E<gt>)\n"
6131 " !timercmp(..., !=)\n"
6135 #: build/C/man3/timeradd.3:145
6136 msgid "B<timerisset>() and B<timercmp>() return true (nonzero) or false (0)."
6140 #: build/C/man3/timeradd.3:147
6141 msgid "No errors are defined."
6145 #: build/C/man3/timeradd.3:150
6146 msgid "Not in POSIX.1-2001. Present on most BSD derivatives."
6150 #: build/C/man3/timeradd.3:153
6151 msgid "B<gettimeofday>(2), B<time>(7)"
6155 #: build/C/man2/times.2:38
6161 #: build/C/man2/times.2:38
6167 #: build/C/man2/times.2:41
6168 msgid "times - get process times"
6172 #: build/C/man2/times.2:43
6173 msgid "B<#include E<lt>sys/times.hE<gt>>"
6177 #: build/C/man2/times.2:45
6178 msgid "B<clock_t times(struct tms *>I<buf>B<);>"
6182 #: build/C/man2/times.2:56
6184 "B<times>() stores the current process times in the I<struct tms> that "
6185 "I<buf> points to. The I<struct tms> is as defined in "
6186 "I<E<lt>sys/times.hE<gt>>:"
6190 #: build/C/man2/times.2:65
6194 " clock_t tms_utime; /* user time */\n"
6195 " clock_t tms_stime; /* system time */\n"
6196 " clock_t tms_cutime; /* user time of children */\n"
6197 " clock_t tms_cstime; /* system time of children */\n"
6202 #: build/C/man2/times.2:90
6204 "The I<tms_utime> field contains the CPU time spent executing instructions of "
6205 "the calling process. The I<tms_stime> field contains the CPU time spent in "
6206 "the system while executing tasks on behalf of the calling process. The "
6207 "I<tms_cutime> field contains the sum of the I<tms_utime> and I<tms_cutime> "
6208 "values for all waited-for terminated children. The I<tms_cstime> field "
6209 "contains the sum of the I<tms_stime> and I<tms_cstime> values for all "
6210 "waited-for terminated children."
6214 #: build/C/man2/times.2:99
6216 "Times for terminated children (and their descendants) are added in at the "
6217 "moment B<wait>(2) or B<waitpid>(2) returns their process ID. In "
6218 "particular, times of grandchildren that the children did not wait for are "
6223 #: build/C/man2/times.2:101
6224 msgid "All times reported are in clock ticks."
6228 #: build/C/man2/times.2:110
6230 "B<times>() returns the number of clock ticks that have elapsed since an "
6231 "arbitrary point in the past. The return value may overflow the possible "
6232 "range of type I<clock_t>. On error, I<(clock_t)\\ -1> is returned, and "
6233 "I<errno> is set appropriately."
6237 #: build/C/man2/times.2:115
6238 msgid "I<tms> points outside the process's address space."
6242 #: build/C/man2/times.2:117
6243 msgid "SVr4, 4.3BSD, POSIX.1-2001."
6247 #: build/C/man2/times.2:119
6248 msgid "The number of clock ticks per second can be obtained using:"
6252 #: build/C/man2/times.2:122
6253 msgid "sysconf(_SC_CLK_TCK);"
6257 #: build/C/man2/times.2:128
6259 "In POSIX.1-1996 the symbol B<CLK_TCK> (defined in I<E<lt>time.hE<gt>>) is "
6260 "mentioned as obsolescent. It is obsolete now."
6263 #. See the description of times() in XSH, which says:
6264 #. The times of a terminated child process are included... when wait()
6265 #. or waitpid() returns the process ID of this terminated child.
6267 #: build/C/man2/times.2:147
6269 "In Linux kernel versions before 2.6.9, if the disposition of B<SIGCHLD> is "
6270 "set to B<SIG_IGN> then the times of terminated children are automatically "
6271 "included in the I<tms_cstime> and I<tms_cutime> fields, although "
6272 "POSIX.1-2001 says that this should happen only if the calling process "
6273 "B<wait>(2)s on its children. This nonconformance is rectified in Linux "
6278 #: build/C/man2/times.2:156
6280 "On Linux, the I<buf> argument can be specified as NULL, with the result that "
6281 "B<times>() just returns a function result. However, POSIX does not specify "
6282 "this behavior, and most other UNIX implementations require a non-NULL value "
6287 #: build/C/man2/times.2:165
6289 "Note that B<clock>(3) also returns a value of type I<clock_t>, but this "
6290 "value is measured in units of B<CLOCKS_PER_SEC>, not the clock ticks used by "
6295 #. On older systems the number of clock ticks per second is given
6296 #. by the variable HZ.
6298 #: build/C/man2/times.2:182
6300 "On Linux, the \"arbitrary point in the past\" from which the return value of "
6301 "B<times>() is measured has varied across kernel versions. On Linux 2.4 and "
6302 "earlier this point is the moment the system was booted. Since Linux 2.6, "
6303 "this point is I<(2^32/HZ) - 300> (i.e., about 429 million) seconds before "
6304 "system boot time. This variability across kernel versions (and across UNIX "
6305 "implementations), combined with the fact that the returned value may "
6306 "overflow the range of I<clock_t>, means that a portable application would be "
6307 "wise to avoid using this value. To measure changes in elapsed time, use "
6308 "B<clock_gettime>(2) instead."
6312 #: build/C/man2/times.2:182
6318 #: build/C/man2/times.2:193
6320 "SVr1-3 returns I<long> and the struct members are of type I<time_t> although "
6321 "they store clock ticks, not seconds since the Epoch. V7 used I<long> for "
6322 "the struct members, because it had no type I<time_t> yet."
6325 #. The problem is that a syscall return of -4095 to -1
6326 #. is interpreted by glibc as an error, and the wrapper converts
6327 #. the return value to -1.
6328 #. http://marc.info/?l=linux-kernel&m=119447727031225&w=2
6329 #. "compat_sys_times() bogus until jiffies >= 0"
6332 #: build/C/man2/times.2:208
6334 "A limitation of the Linux system call conventions on some architectures "
6335 "(notably i386) means that on Linux 2.6 there is a small time window (41 "
6336 "seconds) soon after boot when B<times>() can return -1, falsely indicating "
6337 "that an error occurred. The same problem can occur when the return value "
6338 "wraps passed the maximum value that can be stored in B<clock_t>."
6342 #: build/C/man2/times.2:215
6344 "B<time>(1), B<getrusage>(2), B<wait>(2), B<clock>(3), B<sysconf>(3), "
6349 #: build/C/man5/tzfile.5:8
6355 #: build/C/man5/tzfile.5:8
6361 #: build/C/man5/tzfile.5:11
6362 msgid "tzfile - timezone information"
6366 #: build/C/man5/tzfile.5:18
6368 "This page describes the structure of the timezone files used by "
6369 "B<tzset>(3). These files are typically found under one of the directories "
6370 "I</usr/lib/zoneinfo> or I</usr/share/zoneinfo>."
6374 #: build/C/man5/tzfile.5:31
6376 "Timezone information files begin with the magic characters \"TZif\" to "
6377 "identify them as timezone information files, followed by a character "
6378 "identifying the version of the file's format (as of 2005, either an ASCII "
6379 "NUL (\\(aq\\e0\\(aq) or a \\(aq2\\(aq) followed by fifteen bytes containing "
6380 "zeros reserved for future use, followed by six four-byte values of type "
6381 "I<long>, written in a \"standard\" byte order (the high-order byte of the "
6382 "value is written first). These values are, in order:"
6386 #: build/C/man5/tzfile.5:31
6388 msgid "I<tzh_ttisgmtcnt>"
6392 #: build/C/man5/tzfile.5:34
6393 msgid "The number of UTC/local indicators stored in the file."
6397 #: build/C/man5/tzfile.5:34
6399 msgid "I<tzh_ttisstdcnt>"
6403 #: build/C/man5/tzfile.5:37
6404 msgid "The number of standard/wall indicators stored in the file."
6408 #: build/C/man5/tzfile.5:37
6410 msgid "I<tzh_leapcnt>"
6414 #: build/C/man5/tzfile.5:40
6415 msgid "The number of leap seconds for which data is stored in the file."
6419 #: build/C/man5/tzfile.5:40
6421 msgid "I<tzh_timecnt>"
6425 #: build/C/man5/tzfile.5:44
6426 msgid "The number of \"transition times\" for which data is stored in the file."
6430 #: build/C/man5/tzfile.5:44
6432 msgid "I<tzh_typecnt>"
6436 #: build/C/man5/tzfile.5:48
6438 "The number of \"local time types\" for which data is stored in the file "
6439 "(must not be zero)."
6443 #: build/C/man5/tzfile.5:48
6445 msgid "I<tzh_charcnt>"
6449 #: build/C/man5/tzfile.5:52
6451 "The number of characters of \"timezone abbreviation strings\" stored in the "
6456 #: build/C/man5/tzfile.5:74
6458 "The above header is followed by I<tzh_timecnt> four-byte values of type "
6459 "I<long>, sorted in ascending order. These values are written in "
6460 "\"standard\" byte order. Each is used as a transition time (as returned by "
6461 "B<time>(2)) at which the rules for computing local time change. Next come "
6462 "I<tzh_timecnt> one-byte values of type I<unsigned char>; each one tells "
6463 "which of the different types of \"local time\" types described in the file "
6464 "is associated with the same-indexed transition time. These values serve as "
6465 "indices into an array of I<ttinfo> structures (with I<tzh_typecnt> entries) "
6466 "that appear next in the file; these structures are defined as follows:"
6470 #: build/C/man5/tzfile.5:82
6474 " long tt_gmtoff;\n"
6476 " unsigned int tt_abbrind;\n"
6481 #: build/C/man5/tzfile.5:107
6483 "Each structure is written as a four-byte value for I<tt_gmtoff> of type "
6484 "I<long>, in a standard byte order, followed by a one-byte value for "
6485 "I<tt_isdst> and a one-byte value for I<tt_abbrind>. In each structure, "
6486 "I<tt_gmtoff> gives the number of seconds to be added to UTC, I<tt_isdst> "
6487 "tells whether I<tm_isdst> should be set by B<localtime>(3), and "
6488 "I<tt_abbrind> serves as an index into the array of timezone abbreviation "
6489 "characters that follow the I<ttinfo> structure(s) in the file."
6493 #: build/C/man5/tzfile.5:119
6495 "Then there are I<tzh_leapcnt> pairs of four-byte values, written in standard "
6496 "byte order; the first value of each pair gives the time (as returned by "
6497 "B<time>(2)) at which a leap second occurs; the second gives the I<total> "
6498 "number of leap seconds to be applied after the given time. The pairs of "
6499 "values are sorted in ascending order by time."
6503 #: build/C/man5/tzfile.5:127
6505 "Then there are I<tzh_ttisstdcnt> standard/wall indicators, each stored as a "
6506 "one-byte value; they tell whether the transition times associated with local "
6507 "time types were specified as standard time or wall clock time, and are used "
6508 "when a timezone file is used in handling POSIX-style timezone environment "
6513 #: build/C/man5/tzfile.5:135
6515 "Finally, there are I<tzh_ttisgmtcnt> UTC/local indicators, each stored as a "
6516 "one-byte value; they tell whether the transition times associated with local "
6517 "time types were specified as UTC or local time, and are used when a timezone "
6518 "file is used in handling POSIX-style timezone environment variables."
6522 #: build/C/man5/tzfile.5:147
6524 "B<localtime>(3) uses the first standard-time I<ttinfo> structure in the "
6525 "file (or simply the first I<ttinfo> structure in the absence of a "
6526 "standard-time structure) if either I<tzh_timecnt> is zero or the time "
6527 "argument is less than the first transition time recorded in the file."
6531 #: build/C/man5/tzfile.5:157
6533 "For version-2-format timezone files, the above header and data is followed "
6534 "by a second header and data, identical in format except that eight bytes are "
6535 "used for each transition time or leap-second time. After the second header "
6536 "and data comes a newline-enclosed, POSIX-TZ-environment-variable-style "
6537 "string for use in handling instants after the last transition time stored in "
6538 "the file (with nothing between the newlines if there is no POSIX "
6539 "representation for such instants)."
6543 #: build/C/man5/tzfile.5:161
6544 msgid "B<ctime>(3), B<tzset>(3), B<tzselect>(8),"
6548 #: build/C/man5/tzfile.5:164
6549 msgid "I<timezone/tzfile.h> in the glibc source tree"
6553 #: build/C/man8/tzselect.8:5
6559 #: build/C/man8/tzselect.8:5
6565 #: build/C/man8/tzselect.8:5 build/C/man8/zdump.8:5 build/C/man8/zic.8:5
6567 msgid "Linux System Administration"
6571 #: build/C/man8/tzselect.8:8
6572 msgid "tzselect - select a timezone"
6576 #: build/C/man8/tzselect.8:10
6581 #: build/C/man8/tzselect.8:18
6583 "The B<tzselect> program asks the user for information about the current "
6584 "location, and outputs the resulting timezone description to standard "
6585 "output. The output is suitable as a value for the B<TZ> environment "
6590 #: build/C/man8/tzselect.8:20
6591 msgid "All interaction with the user is done via standard input and standard error."
6595 #: build/C/man8/tzselect.8:23
6597 "The exit status is zero if a timezone was successfully obtained from the "
6598 "user, nonzero otherwise."
6602 #: build/C/man8/tzselect.8:24
6608 #: build/C/man8/tzselect.8:30
6609 msgid "Name of a Posix-compliant I<awk> program (default: B<awk>)."
6613 #: build/C/man8/tzselect.8:30
6618 #. or perhaps /usr/local/etc/zoneinfo in some older systems.
6620 #: build/C/man8/tzselect.8:35
6622 "Name of the directory containing timezone data files (default: "
6623 "I</usr/share/zoneinfo>)."
6627 #: build/C/man8/tzselect.8:36
6629 msgid "B<TZDIR>I</iso3166.tab>"
6633 #: build/C/man8/tzselect.8:39
6634 msgid "Table of ISO 3166 2-letter country codes and country names."
6638 #: build/C/man8/tzselect.8:39
6640 msgid "B<TZDIR>I</zone.tab>"
6644 #: build/C/man8/tzselect.8:43
6646 "Table of country codes, latitude and longitude, TZ values, and descriptive "
6651 #: build/C/man8/tzselect.8:43
6653 msgid "B<TZDIR>I</>I<TZ>"
6657 #: build/C/man8/tzselect.8:47
6658 msgid "Time zone data file for timezone I<TZ>."
6661 #. @(#)tzselect.8 1.3
6663 #: build/C/man8/tzselect.8:52
6664 msgid "B<tzfile>(5), B<zdump>(8), B<zic>(8)"
6668 #: build/C/man3/tzset.3:33
6674 #: build/C/man3/tzset.3:33
6680 #: build/C/man3/tzset.3:36
6681 msgid "tzset, tzname, timezone, daylight - initialize time conversion information"
6685 #: build/C/man3/tzset.3:41
6687 msgid "B<void tzset (void);>\n"
6691 #: build/C/man3/tzset.3:45
6694 "B<extern char *>I<tzname>B<[2];>\n"
6695 "B<extern long >I<timezone>B<;>\n"
6696 "B<extern int >I<daylight>B<;>\n"
6700 #: build/C/man3/tzset.3:54
6701 msgid "B<tzset>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
6705 #: build/C/man3/tzset.3:57
6706 msgid "I<tzname>: _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
6710 #: build/C/man3/tzset.3:60
6711 msgid "I<timezone>: _SVID_SOURCE || _XOPEN_SOURCE"
6715 #: build/C/man3/tzset.3:63
6716 msgid "I<daylight>: _SVID_SOURCE || _XOPEN_SOURCE"
6720 #: build/C/man3/tzset.3:75
6722 "The B<tzset>() function initializes the I<tzname> variable from the B<TZ> "
6723 "environment variable. This function is automatically called by the other "
6724 "time conversion functions that depend on the timezone. In a System-V-like "
6725 "environment, it will also set the variables I<timezone> (seconds West of "
6726 "UTC) and I<daylight> (to 0 if this timezone does not have any daylight "
6727 "saving time rules, or to nonzero if there is a time during the year when "
6728 "daylight saving time applies)."
6732 #: build/C/man3/tzset.3:87
6734 "If the B<TZ> variable does not appear in the environment, the I<tzname> "
6735 "variable is initialized with the best approximation of local wall clock "
6736 "time, as specified by the B<tzfile>(5)-format file I<localtime> found in the "
6737 "system timezone directory (see below). (One also often sees "
6738 "I</etc/localtime> used here, a symlink to the right file in the system "
6739 "timezone directory.)"
6743 #: build/C/man3/tzset.3:93
6745 "If the B<TZ> variable does appear in the environment but its value is empty "
6746 "or its value cannot be interpreted using any of the formats specified below, "
6747 "Coordinated Universal Time (UTC) is used."
6751 #: build/C/man3/tzset.3:99
6753 "The value of B<TZ> can be one of three formats. The first format is used "
6754 "when there is no daylight saving time in the local timezone:"
6758 #: build/C/man3/tzset.3:102
6759 msgid "I<std offset>"
6763 #: build/C/man3/tzset.3:114
6765 "The I<std> string specifies the name of the timezone and must be three or "
6766 "more alphabetic characters. The I<offset> string immediately follows I<std> "
6767 "and specifies the time value to be added to the local time to get "
6768 "Coordinated Universal Time (UTC). The I<offset> is positive if the local "
6769 "timezone is west of the Prime Meridian and negative if it is east. The hour "
6770 "must be between 0 and 24, and the minutes and seconds 0 and 59."
6774 #: build/C/man3/tzset.3:116
6775 msgid "The second format is used when there is daylight saving time:"
6779 #: build/C/man3/tzset.3:119
6780 msgid "I<std offset dst [offset],start[/time],end[/time]>"
6784 #: build/C/man3/tzset.3:128
6786 "There are no spaces in the specification. The initial I<std> and I<offset> "
6787 "specify the standard timezone, as described above. The I<dst> string and "
6788 "I<offset> specify the name and offset for the corresponding daylight saving "
6789 "timezone. If the offset is omitted, it default to one hour ahead of "
6794 #: build/C/man3/tzset.3:133
6796 "The I<start> field specifies when daylight saving time goes into effect and "
6797 "the I<end> field specifies when the change is made back to standard time. "
6798 "These fields may have the following formats:"
6802 #: build/C/man3/tzset.3:133
6808 #: build/C/man3/tzset.3:139
6810 "This specifies the Julian day with I<n> between 1 and 365. Leap days are "
6811 "not counted. In this format, February 29 can't be represented; February 28 "
6812 "is day 59, and March 1 is always day 60."
6816 #: build/C/man3/tzset.3:139
6822 #: build/C/man3/tzset.3:143
6824 "This specifies the zero-based Julian day with I<n> between 0 and 365. "
6825 "February 29 is counted in leap years."
6829 #: build/C/man3/tzset.3:143
6831 msgid "MI<m>.I<w>.I<d>"
6835 #: build/C/man3/tzset.3:151
6837 "This specifies day I<d> (0 E<lt>= I<d> E<lt>= 6) of week I<w> (1 E<lt>= I<w> "
6838 "E<lt>= 5) of month I<m> (1 E<lt>= I<m> E<lt>= 12). Week 1 is the first week "
6839 "in which day I<d> occurs and week 5 is the last week in which day I<d> "
6840 "occurs. Day 0 is a Sunday."
6844 #: build/C/man3/tzset.3:155
6846 "The I<time> fields specify when, in the local time currently in effect, the "
6847 "change to the other time occurs. If omitted, the default is 02:00:00."
6851 #: build/C/man3/tzset.3:161
6853 "Here is an example for New Zealand, where the standard time (NZST) is 12 "
6854 "hours ahead of UTC, and daylight saving time (NZDT), 13 hours ahead of UTC, "
6855 "runs from the first Sunday in October to the third Sunday in March, and the "
6856 "changeovers happen at the default time of 02:00:00:"
6860 #: build/C/man3/tzset.3:164
6862 msgid " TZ=\"NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0\"\n"
6866 #: build/C/man3/tzset.3:168
6868 "The third format specifies that the timezone information should be read from "
6873 #: build/C/man3/tzset.3:171
6878 #: build/C/man3/tzset.3:186
6880 "If the file specification I<filespec> is omitted, the timezone information "
6881 "is read from the file I<localtime> in the system timezone directory, which "
6882 "nowadays usually is I</usr/share/zoneinfo>. This file is in B<tzfile>(5) "
6883 "format. If I<filespec> is given, it specifies another B<tzfile>(5)-format "
6884 "file to read the timezone information from. If I<filespec> does not begin "
6885 "with a \\(aq/\\(aq, the file specification is relative to the system "
6886 "timezone directory."
6890 #: build/C/man3/tzset.3:188
6891 msgid "Here's an example, once more for New Zealand:"
6895 #: build/C/man3/tzset.3:191
6897 msgid " TZ=\":Pacific/Auckland\"\n"
6901 #: build/C/man3/tzset.3:204
6903 "The system timezone directory used depends on the (g)libc version. Libc4 "
6904 "and libc5 use I</usr/lib/zoneinfo>, and, since libc-5.4.6, when this doesn't "
6905 "work, will try I</usr/share/zoneinfo>. Glibc2 will use the environment "
6906 "variable B<TZDIR>, when that exists. Its default depends on how it was "
6907 "installed, but normally is I</usr/share/zoneinfo>."
6911 #: build/C/man3/tzset.3:206
6912 msgid "This timezone directory contains the files"
6916 #: build/C/man3/tzset.3:209
6919 "localtime local timezone file\n"
6920 "posixrules rules for POSIX-style TZ's\n"
6924 #: build/C/man3/tzset.3:216
6926 "Often I</etc/localtime> is a symlink to the file I<localtime> or to the "
6927 "correct timezone file in the system timezone directory."
6931 #: build/C/man3/tzset.3:218
6932 msgid "SVr4, POSIX.1-2001, 4.3BSD."
6936 #: build/C/man3/tzset.3:225
6938 "Note that the variable I<daylight> does not indicate that daylight saving "
6939 "time applies right now. It used to give the number of some algorithm (see "
6940 "the variable I<tz_dsttime> in B<gettimeofday>(2)). It has been obsolete for "
6941 "many years but is required by SUSv2."
6945 #: build/C/man3/tzset.3:233
6947 "4.3BSD had a function B<char *timezone(>I<zone>B<, >I<dst>B<)> that returned "
6948 "the name of the timezone corresponding to its first argument (minutes West "
6949 "of UTC). If the second argument was 0, the standard name was used, "
6950 "otherwise the daylight saving time version."
6954 #: build/C/man3/tzset.3:240
6956 "B<date>(1), B<gettimeofday>(2), B<time>(2), B<ctime>(3), B<getenv>(3), "
6961 #: build/C/man2/utime.2:31
6967 #: build/C/man2/utime.2:31
6973 #: build/C/man2/utime.2:34
6974 msgid "utime, utimes - change file last access and modification times"
6978 #: build/C/man2/utime.2:37
6980 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
6984 #: build/C/man2/utime.2:39
6986 msgid "B<#include E<lt>utime.hE<gt>>\n"
6990 #: build/C/man2/utime.2:41
6993 "B<int utime(const char *>I<filename>B<, const struct utimbuf "
6998 #: build/C/man2/utime.2:45
7001 "B<int utimes(const char *>I<filename>B<, const struct timeval "
7002 ">I<times>B<[2]);>\n"
7006 #: build/C/man2/utime.2:50
7008 "B<Note:> modern applications may prefer to use the interfaces described in "
7013 #: build/C/man2/utime.2:61
7015 "The B<utime>() system call changes the access and modification times of the "
7016 "inode specified by I<filename> to the I<actime> and I<modtime> fields of "
7017 "I<times> respectively."
7021 #: build/C/man2/utime.2:66
7023 "If I<times> is NULL, then the access and modification times of the file are "
7024 "set to the current time."
7028 #: build/C/man2/utime.2:73
7030 "Changing timestamps is permitted when: either the process has appropriate "
7031 "privileges, or the effective user ID equals the user ID of the file, or "
7032 "I<times> is NULL and the process has write permission for the file."
7036 #: build/C/man2/utime.2:77
7037 msgid "The I<utimbuf> structure is:"
7041 #: build/C/man2/utime.2:84
7044 "struct utimbuf {\n"
7045 " time_t actime; /* access time */\n"
7046 " time_t modtime; /* modification time */\n"
7051 #: build/C/man2/utime.2:91
7053 "The B<utime>() system call allows specification of timestamps with a "
7054 "resolution of 1 second."
7058 #: build/C/man2/utime.2:104
7060 "The B<utimes>() system call is similar, but the I<times> argument refers to "
7061 "an array rather than a structure. The elements of this array are I<timeval> "
7062 "structures, which allow a precision of 1 microsecond for specifying "
7063 "timestamps. The I<timeval> structure is:"
7067 #: build/C/man2/utime.2:111
7070 "struct timeval {\n"
7071 " long tv_sec; /* seconds */\n"
7072 " long tv_usec; /* microseconds */\n"
7077 #: build/C/man2/utime.2:124
7079 "I<times>[0] specifies the new access time, and I<times>[1] specifies the new "
7080 "modification time. If I<times> is NULL, then analogously to B<utime>(), the "
7081 "access and modification times of the file are set to the current time."
7085 #: build/C/man2/utime.2:130 build/C/man2/utime.2:137 build/C/man2/utimensat.2:235
7091 #: build/C/man2/utime.2:137
7093 "Search permission is denied for one of the directories in the path prefix of "
7094 "I<path> (see also B<path_resolution>(7))."
7098 #: build/C/man2/utime.2:149
7100 "I<times> is NULL, the caller's effective user ID does not match the owner of "
7101 "the file, the caller does not have write access to the file, and the caller "
7102 "is not privileged (Linux: does not have either the B<CAP_DAC_OVERRIDE> or "
7103 "the B<CAP_FOWNER> capability)."
7107 #: build/C/man2/utime.2:149 build/C/man2/utimensat.2:344
7113 #: build/C/man2/utime.2:153
7114 msgid "I<filename> does not exist."
7118 #: build/C/man2/utime.2:162
7120 "I<times> is not NULL, the caller's effective UID does not match the owner of "
7121 "the file, and the caller is not privileged (Linux: does not have the "
7122 "B<CAP_FOWNER> capability)."
7126 #: build/C/man2/utime.2:162 build/C/man2/utimensat.2:405
7132 #: build/C/man2/utime.2:166
7133 msgid "I<path> resides on a read-only filesystem."
7137 #: build/C/man2/utime.2:172
7138 msgid "B<utime>(): SVr4, POSIX.1-2001. POSIX.1-2008 marks B<utime>() as obsolete."
7142 #: build/C/man2/utime.2:175
7143 msgid "B<utimes>(): 4.3BSD, POSIX.1-2001."
7147 #: build/C/man2/utime.2:179
7149 "Linux does not allow changing the timestamps on an immutable file, or "
7150 "setting the timestamps to something other than the current time on an "
7155 #: build/C/man2/utime.2:185
7157 "In libc4 and libc5, B<utimes>() is just a wrapper for B<utime>() and hence "
7158 "does not allow a subsecond resolution."
7162 #: build/C/man2/utime.2:192
7164 "B<chattr>(1), B<futimesat>(2), B<stat>(2), B<utimensat>(2), B<futimens>(3), "
7169 #: build/C/man2/utimensat.2:26
7175 #: build/C/man2/utimensat.2:26
7181 #: build/C/man2/utimensat.2:29
7182 msgid "utimensat, futimens - change file timestamps with nanosecond precision"
7186 #: build/C/man2/utimensat.2:33
7189 "B<#include E<lt>fcntl.hE<gt> /* Definition of AT_* constants */>\n"
7190 "B<#include E<lt>sys/stat.hE<gt>>\n"
7194 #: build/C/man2/utimensat.2:36
7197 "B<int utimensat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
7198 "B< const struct timespec >I<times>B<[2], int >I<flags>B<);>\n"
7202 #: build/C/man2/utimensat.2:38
7204 msgid "B<int futimens(int >I<fd>B<, const struct timespec >I<times>B<[2]);>\n"
7208 #: build/C/man2/utimensat.2:48
7209 msgid "B<utimensat>():"
7213 #: build/C/man2/utimensat.2:49 build/C/man2/utimensat.2:59
7215 msgid "Since glibc 2.10:"
7219 #: build/C/man2/utimensat.2:52 build/C/man2/utimensat.2:62
7220 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
7224 #: build/C/man2/utimensat.2:52 build/C/man2/utimensat.2:62
7226 msgid "Before glibc 2.10:"
7230 #: build/C/man2/utimensat.2:55
7231 msgid "_ATFILE_SOURCE"
7235 #: build/C/man2/utimensat.2:58
7236 msgid "B<futimens>():"
7240 #: build/C/man2/utimensat.2:79
7242 "B<utimensat>() and B<futimens>() update the timestamps of a file with "
7243 "nanosecond precision. This contrasts with the historical B<utime>(2) and "
7244 "B<utimes>(2), which permit only second and microsecond precision, "
7245 "respectively, when setting file timestamps."
7249 #: build/C/man2/utimensat.2:89
7251 "With B<utimensat>() the file is specified via the pathname given in "
7252 "I<pathname>. With B<futimens>() the file whose timestamps are to be "
7253 "updated is specified via an open file descriptor, I<fd>."
7257 #: build/C/man2/utimensat.2:101
7259 "For both calls, the new file timestamps are specified in the array I<times>: "
7260 "I<times>[0] specifies the new \"last access time\" (I<atime>); I<times>[1] "
7261 "specifies the new \"last modification time\" (I<mtime>). Each of the "
7262 "elements of I<times> specifies a time as the number of seconds and "
7263 "nanoseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC). This "
7264 "information is conveyed in a structure of the following form:"
7268 #: build/C/man2/utimensat.2:113
7270 "Updated file timestamps are set to the greatest value supported by the "
7271 "filesystem that is not greater than the specified time."
7274 #. 2.6.22 was broken: it is not ignored
7276 #: build/C/man2/utimensat.2:132
7278 "If the I<tv_nsec> field of one of the I<timespec> structures has the special "
7279 "value B<UTIME_NOW>, then the corresponding file timestamp is set to the "
7280 "current time. If the I<tv_nsec> field of one of the I<timespec> structures "
7281 "has the special value B<UTIME_OMIT>, then the corresponding file timestamp "
7282 "is left unchanged. In both of these cases, the value of the corresponding "
7283 "I<tv_sec> field is ignored."
7287 #: build/C/man2/utimensat.2:137
7288 msgid "If I<times> is NULL, then both timestamps are set to the current time."
7292 #: build/C/man2/utimensat.2:137
7294 msgid "Permissions requirements"
7298 #: build/C/man2/utimensat.2:145
7300 "To set both file timestamps to the current time (i.e., I<times> is NULL, or "
7301 "both I<tv_nsec> fields specify B<UTIME_NOW>), either:"
7305 #: build/C/man2/utimensat.2:145
7310 #. 2.6.22 was broken here -- for futimens() the check is
7311 #. based on whether or not the file descriptor is writable,
7312 #. not on whether the caller's effective UID has write
7313 #. permission for the file referred to by the descriptor.
7315 #: build/C/man2/utimensat.2:151
7316 msgid "the caller must have write access to the file;"
7320 #: build/C/man2/utimensat.2:151
7326 #: build/C/man2/utimensat.2:153
7327 msgid "the caller's effective user ID must match the owner of the file; or"
7331 #: build/C/man2/utimensat.2:153
7337 #: build/C/man2/utimensat.2:155
7338 msgid "the caller must have appropriate privileges."
7341 #. 2.6.22 was broken here:
7342 #. both must be something other than *either* UTIME_OMIT *or* UTIME_NOW.
7344 #: build/C/man2/utimensat.2:170
7346 "To make any change other than setting both timestamps to the current time "
7347 "(i.e., I<times> is not NULL, and neither I<tv_nsec> field is B<UTIME_NOW> "
7348 "and neither I<tv_nsec> field is B<UTIME_OMIT>), either condition 2 or 3 "
7353 #: build/C/man2/utimensat.2:180
7355 "If both I<tv_nsec> fields are specified as B<UTIME_OMIT>, then no file "
7356 "ownership or permission checks are performed, and the file timestamps are "
7357 "not modified, but other error conditions may still be detected."
7361 #: build/C/man2/utimensat.2:180
7363 msgid "utimensat() specifics"
7366 #. FIXME . Say something about O_SEARCH? (But it's not in current
7367 #. glibc (Mar 08), or kernel 2.6.25.)
7369 #: build/C/man2/utimensat.2:195
7371 "If I<pathname> is relative, then by default it is interpreted relative to "
7372 "the directory referred to by the open file descriptor, I<dirfd> (rather than "
7373 "relative to the current working directory of the calling process, as is done "
7374 "by B<utimes>(2) for a relative pathname). See B<openat>(2) for an "
7375 "explanation of why this can be useful."
7379 #: build/C/man2/utimensat.2:219
7381 "The I<flags> field is a bit mask that may be 0, or include the following "
7382 "constant, defined in I<E<lt>fcntl.hE<gt>>:"
7386 #: build/C/man2/utimensat.2:219
7388 msgid "B<AT_SYMLINK_NOFOLLOW>"
7392 #: build/C/man2/utimensat.2:225
7394 "If I<pathname> specifies a symbolic link, then update the timestamps of the "
7395 "link, rather than the file to which it refers."
7399 #: build/C/man2/utimensat.2:234
7401 "On success, B<utimensat>() and B<futimens>() return 0. On error, -1 is "
7402 "returned and I<errno> is set to indicate the error."
7406 #: build/C/man2/utimensat.2:244
7407 msgid "I<times> is NULL, or both I<tv_nsec> values are B<UTIME_NOW>, and:"
7410 #. But Linux 2.6.22 was broken here.
7411 #. Traditionally, utime()/utimes() gives the error EACCES for the case
7412 #. where the timestamp pointer argument is NULL (i.e., set both timestamps
7413 #. to the current time), and the file is owned by a user other than the
7414 #. effective UID of the caller, and the file is not writable by the
7415 #. effective UID of the program. utimensat() also gives this error in the
7416 #. same case. However, in the same circumstances, when utimensat() is
7417 #. given a 'times' array in which both tv_nsec fields are UTIME_NOW, which
7418 #. provides equivalent functionality to specifying 'times' as NULL, the
7419 #. call succeeds. It should fail with the error EACCES in this case.
7421 #. POSIX.1-2008 has the following:
7424 #. .RB ( utimensat ())
7426 #. was not opened with
7428 #. and the permissions of the directory to which
7430 #. refers do not allow searches.
7432 #: build/C/man2/utimensat.2:277
7434 "the effective user ID of the caller does not match the owner of the file, "
7435 "the caller does not have write access to the file, and the caller is not "
7436 "privileged (Linux: does not have either the B<CAP_FOWNER> or the "
7437 "B<CAP_DAC_OVERRIDE> capability); or,"
7440 #. EXT2_IMMUTABLE_FL and similar flags for other filesystems.
7442 #: build/C/man2/utimensat.2:281
7443 msgid "the file is marked immutable (see B<chattr>(1))."
7447 #: build/C/man2/utimensat.2:288
7448 msgid "(B<futimens>()) I<fd> is not a valid file descriptor."
7452 #: build/C/man2/utimensat.2:297
7454 "(B<utimensat>()) I<pathname> is a relative pathname, but I<dirfd> is "
7455 "neither B<AT_FDCWD> nor a valid file descriptor."
7459 #: build/C/man2/utimensat.2:307
7461 "I<times> pointed to an invalid address; or, I<dirfd> was B<AT_FDCWD>, and "
7462 "I<pathname> is NULL or an invalid address."
7466 #: build/C/man2/utimensat.2:311
7467 msgid "Invalid value in I<flags>."
7471 #: build/C/man2/utimensat.2:322
7473 "Invalid value in one of the I<tv_nsec> fields (value outside range 0 to "
7474 "999,999,999, and not B<UTIME_NOW> or B<UTIME_OMIT>); or an invalid value in "
7475 "one of the I<tv_sec> fields."
7478 #. SUSv4 does not specify this error.
7480 #: build/C/man2/utimensat.2:334
7482 "I<pathname> is NULL, I<dirfd> is not B<AT_FDCWD>, and I<flags> contains "
7483 "B<AT_SYMLINK_NOFOLLOW>."
7487 #: build/C/man2/utimensat.2:334
7493 #: build/C/man2/utimensat.2:339
7495 "(B<utimensat>()) Too many symbolic links were encountered in resolving "
7500 #: build/C/man2/utimensat.2:339
7502 msgid "B<ENAMETOOLONG>"
7506 #: build/C/man2/utimensat.2:344
7507 msgid "(B<utimensat>()) I<pathname> is too long."
7511 #: build/C/man2/utimensat.2:353
7513 "(B<utimensat>()) A component of I<pathname> does not refer to an existing "
7514 "directory or file, or I<pathname> is an empty string."
7518 #: build/C/man2/utimensat.2:365
7520 "(B<utimensat>()) I<pathname> is a relative pathname, but I<dirfd> is "
7521 "neither B<AT_FDCWD> nor a file descriptor referring to a directory; or, one "
7522 "of the prefix components of I<pathname> is not a directory."
7526 #: build/C/man2/utimensat.2:382
7528 "The caller attempted to change one or both timestamps to a value other than "
7529 "the current time, or to change one of the timestamps to the current time "
7530 "while leaving the other timestamp unchanged, (i.e., I<times> is not NULL, "
7531 "neither I<tv_nsec> field is B<UTIME_NOW>, and neither I<tv_nsec> field is "
7532 "B<UTIME_OMIT>) and:"
7536 #: build/C/man2/utimensat.2:390
7538 "the caller's effective user ID does not match the owner of file, and the "
7539 "caller is not privileged (Linux: does not have the B<CAP_FOWNER> "
7543 #. Linux 2.6.22 was broken here:
7544 #. it was not consistent with the old utimes() implementation,
7545 #. since the case when both tv_nsec fields are UTIME_NOW, was not
7546 #. treated like the (times == NULL) case.
7547 #. EXT2_IMMUTABLE_FL EXT_APPPEND_FL and similar flags for
7548 #. other filesystems.
7550 #. Why the inconsistency (which is described under NOTES) between
7551 #. EACCES and EPERM, where only EPERM tests for append-only.
7552 #. (This was also so for the older utimes() implementation.)
7554 #: build/C/man2/utimensat.2:403
7555 msgid "the file is marked append-only or immutable (see B<chattr>(1))."
7559 #: build/C/man2/utimensat.2:408
7560 msgid "The file is on a read-only filesystem."
7564 #: build/C/man2/utimensat.2:413
7566 "(B<utimensat>()) Search permission is denied for one of the prefix "
7567 "components of I<pathname>."
7571 #: build/C/man2/utimensat.2:417
7573 "B<utimensat>() was added to Linux in kernel 2.6.22; glibc support was added "
7578 #: build/C/man2/utimensat.2:421
7579 msgid "Support for B<futimens>() first appeared in glibc 2.6."
7583 #: build/C/man2/utimensat.2:426
7584 msgid "B<futimens>() and B<utimensat>() are specified in POSIX.1-2008."
7588 #: build/C/man2/utimensat.2:430
7589 msgid "B<utimensat>() obsoletes B<futimesat>(2)."
7593 #: build/C/man2/utimensat.2:439
7595 "On Linux, timestamps cannot be changed for a file marked immutable, and the "
7596 "only change permitted for files marked append-only is to set the timestamps "
7597 "to the current time. (This is consistent with the historical behavior of "
7598 "B<utime>(2) and B<utimes>(2) on Linux.)"
7602 #: build/C/man2/utimensat.2:456
7604 "On Linux, B<futimens>() is a library function implemented on top of the "
7605 "B<utimensat>() system call. To support this, the Linux B<utimensat>() "
7606 "system call implements a nonstandard feature: if I<pathname> is NULL, then "
7607 "the call modifies the timestamps of the file referred to by the file "
7608 "descriptor I<dirfd> (which may refer to any type of file). Using this "
7609 "feature, the call I<futimens(fd,\\ times)> is implemented as:"
7613 #: build/C/man2/utimensat.2:459
7615 msgid " utimensat(fd, NULL, times, 0);\n"
7619 #: build/C/man2/utimensat.2:468
7621 "Several bugs afflict B<utimensat>() and B<futimens>() on kernels before "
7622 "2.6.26. These bugs are either nonconformances with the POSIX.1 draft "
7623 "specification or inconsistencies with historical Linux behavior."
7627 #: build/C/man2/utimensat.2:483
7629 "POSIX.1 specifies that if one of the I<tv_nsec> fields has the value "
7630 "B<UTIME_NOW> or B<UTIME_OMIT>, then the value of the corresponding I<tv_sec> "
7631 "field should be ignored. Instead, the value of the I<tv_sec> field is "
7632 "required to be 0 (or the error B<EINVAL> results)."
7635 #. Below, the long description of the errors from the previous bullet
7636 #. point (abridged because it's too much detail for a man page).
7646 #. should occur if the process's effective user ID does not match
7647 #. the file owner and the process is not privileged.
7648 #. Instead, the call successfully changes one of the timestamps.
7650 #. If file is not writable by the effective user ID of the process and
7651 #. the process's effective user ID does not match the file owner and
7652 #. the process is not privileged,
7655 #. is NULL, then the error
7658 #. This error should also occur if
7660 #. points to an array of structures in which both
7664 #. Instead the call succeeds.
7666 #. If a file is marked as append-only (see
7668 #. then Linux traditionally
7674 #. argument to be used in order to update both timestamps to the current time.
7679 #. should also produce the same result when given a
7681 #. argument that points to an array of structures in which both
7685 #. Instead, the call fails with the error
7688 #. If a file is marked as immutable (see
7690 #. then Linux traditionally
7703 #. should also produce the same result when given a
7705 #. that points to an array of structures in which both
7709 #. Instead, the call fails with the error
7712 #: build/C/man2/utimensat.2:585
7714 "Various bugs mean that for the purposes of permission checking, the case "
7715 "where both I<tv_nsec> fields are set to B<UTIME_NOW> isn't always treated "
7716 "the same as specifying I<times> as NULL, and the case where one I<tv_nsec> "
7717 "value is B<UTIME_NOW> and the other is B<UTIME_OMIT> isn't treated the same "
7718 "as specifying I<times> as a pointer to an array of structures containing "
7719 "arbitrary time values. As a result, in some cases: a) file timestamps can "
7720 "be updated by a process that shouldn't have permission to perform updates; "
7721 "b) file timestamps can't be updated by a process that should have permission "
7722 "to perform updates; and c) the wrong I<errno> value is returned in case of "
7726 #. This means that a process with a file descriptor that allows
7727 #. writing could change the timestamps of a file for which it
7728 #. does not have write permission;
7729 #. conversely, a process with a read-only file descriptor won't
7730 #. be able to update the timestamps of a file,
7731 #. even if it has write permission on the file.
7733 #: build/C/man2/utimensat.2:606
7735 "POSIX.1 says that a process that has I<write access to the file> can make a "
7736 "call with I<times> as NULL, or with I<times> pointing to an array of "
7737 "structures in which both I<tv_nsec> fields are B<UTIME_NOW>, in order to "
7738 "update both timestamps to the current time. However, B<futimens>() instead "
7739 "checks whether the I<access mode of the file descriptor allows writing>."
7743 #: build/C/man2/utimensat.2:615
7745 "B<chattr>(1), B<futimesat>(2), B<openat>(2), B<stat>(2), B<utimes>(2), "
7746 "B<futimes>(3), B<path_resolution>(7), B<symlink>(7)"
7750 #: build/C/man8/zdump.8:5
7756 #: build/C/man8/zdump.8:5
7762 #: build/C/man8/zdump.8:8
7763 msgid "zdump - timezone dumper"
7767 #: build/C/man8/zdump.8:21
7769 "B<zdump> [ B<--version> ] [ B<--help> ] [ B<-v> ] [ B<-c> "
7770 "[I<loyear>B<,>]I<hiyear> ] [ I<zonename> ... ]"
7774 #: build/C/man8/zdump.8:26
7776 "I<Zdump> prints the current time in each I<zonename> named on the command "
7781 #: build/C/man8/zdump.8:28 build/C/man8/zic.8:50
7782 msgid "These options are available:"
7786 #: build/C/man8/zdump.8:28
7788 msgid "B<--version>"
7792 #: build/C/man8/zdump.8:31
7793 msgid "Output version information and exit."
7797 #: build/C/man8/zdump.8:34
7798 msgid "Output short usage and exit."
7802 #: build/C/man8/zdump.8:34 build/C/man8/zic.8:76
7808 #: build/C/man8/zdump.8:50
7810 "For each I<zonename> on the command line, print the time at the lowest "
7811 "possible time value, the time one day after the lowest possible time value, "
7812 "the times both one second before and exactly at each detected time "
7813 "discontinuity, the time at one day less than the highest possible time "
7814 "value, and the time at the highest possible time value. Each line ends with "
7815 "B<isdst=1> if the given time is Daylight Saving Time or B<isdst=0> "
7820 #: build/C/man8/zdump.8:50
7822 msgid "B<-c >[I<loyear>B<,>]I<hiyear>"
7826 #: build/C/man8/zdump.8:56
7828 "Cut off the verbose output near the start of the given year(s). The output "
7829 "still includes the lowest possible time value and one day after it, and the "
7830 "highest possible time value preceded by the time value one day before it."
7835 #: build/C/man8/zdump.8:60
7836 msgid "B<tzfile>(5), B<zic>(8)"
7840 #: build/C/man8/zic.8:5
7846 #: build/C/man8/zic.8:8
7847 msgid "zic - timezone compiler"
7851 #: build/C/man8/zic.8:32
7853 "B<zic> [ B<-v> ] [ B<-d> I<directory> ] [ B<-l> I<localtime> ] [ B<-p> "
7854 "I<posixrules> ] [ B<-L> I<leapsecondfilename> ] [ B<-s> ] [ B<-y> I<command> "
7855 "] [ I<filename> \\&... ]"
7859 #: build/C/man8/zic.8:48
7861 "I<Zic> reads text from the file(s) named on the command line and creates the "
7862 "time conversion information files specified in this input. If a I<filename> "
7863 "is B<->, the standard input is read."
7867 #: build/C/man8/zic.8:50
7869 msgid "B<-d >I<directory>"
7873 #: build/C/man8/zic.8:54
7875 "Create time conversion information files in the named directory rather than "
7876 "in the standard directory named below."
7880 #: build/C/man8/zic.8:54
7882 msgid "B<-l >I<timezone>"
7886 #: build/C/man8/zic.8:59
7888 "Use the given timezone as local time. I<Zic> will act as if the input "
7889 "contained a link line of the form"
7893 #: build/C/man8/zic.8:62
7894 msgid "Link\tI<timezone>\t\tlocaltime"
7898 #: build/C/man8/zic.8:62
7900 msgid "B<-p >I<timezone>"
7904 #: build/C/man8/zic.8:68
7906 "Use the given timezone's rules when handling POSIX-format timezone "
7907 "environment variables. I<Zic> will act as if the input contained a link "
7912 #: build/C/man8/zic.8:71
7913 msgid "Link\tI<timezone>\t\tposixrules"
7917 #: build/C/man8/zic.8:71
7919 msgid "B<-L >I<leapsecondfilename>"
7923 #: build/C/man8/zic.8:76
7925 "Read leap second information from the file with the given name. If this "
7926 "option is not used, no leap second information appears in output files."
7930 #: build/C/man8/zic.8:82
7932 "Complain if a year that appears in a data file is outside the range of years "
7933 "representable by B<time>(2) values."
7937 #: build/C/man8/zic.8:82
7943 #: build/C/man8/zic.8:87
7945 "Limit time values stored in output files to values that are the same whether "
7946 "they're taken to be signed or unsigned. You can use this option to generate "
7947 "SVVS-compatible files."
7951 #: build/C/man8/zic.8:87
7953 msgid "B<-y >I<command>"
7957 #: build/C/man8/zic.8:94
7959 "Use the given I<command> rather than B<yearistype> when checking year types "
7964 #: build/C/man8/zic.8:105
7966 "Input lines are made up of fields. Fields are separated from one another by "
7967 "any number of white space characters. Leading and trailing white space on "
7968 "input lines is ignored. An unquoted sharp character (#) in the input "
7969 "introduces a comment which extends to the end of the line the sharp "
7970 "character appears on. White space characters and sharp characters may be "
7971 "enclosed in double quotes (\") if they're to be used as part of a field. "
7972 "Any line that is blank (after comment stripping) is ignored. Nonblank lines "
7973 "are expected to be of one of three types: rule lines, zone lines, and link "
7978 #: build/C/man8/zic.8:107
7979 msgid "A rule line has the form"
7983 #: build/C/man8/zic.8:109
7986 "\\w'Rule\\0\\0'u +\\w'NAME\\0\\0'u +\\w'FROM\\0\\0'u +\\w'1973\\0\\0'u "
7987 "+\\w'TYPE\\0\\0'u +\\w'Apr\\0\\0'u +\\w'lastSun\\0\\0'u +\\w'2:00\\0\\0'u "
7992 #: build/C/man8/zic.8:112
7994 msgid "Rule\tNAME\tFROM\tTO\tTYPE\tIN\tON\tAT\tSAVE\tLETTER/S\n"
7998 #: build/C/man8/zic.8:114 build/C/man8/zic.8:271 build/C/man8/zic.8:342 build/C/man8/zic.8:367
8000 msgid "For example:\n"
8004 #: build/C/man8/zic.8:117
8006 msgid "Rule\tUS\t1967\t1973\t-\tApr\tlastSun\t2:00\t1:00\tD\n"
8010 #: build/C/man8/zic.8:120
8011 msgid "The fields that make up a rule line are:"
8015 #: build/C/man8/zic.8:120 build/C/man8/zic.8:277
8021 #: build/C/man8/zic.8:123
8022 msgid "Gives the (arbitrary) name of the set of rules this rule is part of."
8026 #: build/C/man8/zic.8:123
8032 #: build/C/man8/zic.8:136
8034 "Gives the first year in which the rule applies. Any integer year can be "
8035 "supplied; the Gregorian calendar is assumed. The word I<minimum> (or an "
8036 "abbreviation) means the minimum year representable as an integer. The word "
8037 "I<maximum> (or an abbreviation) means the maximum year representable as an "
8038 "integer. Rules can describe times that are not representable as time "
8039 "values, with the unrepresentable times ignored; this allows rules to be "
8040 "portable among hosts with differing time value types."
8044 #: build/C/man8/zic.8:136
8050 #: build/C/man8/zic.8:150
8052 "Gives the final year in which the rule applies. In addition to I<minimum> "
8053 "and I<maximum> (as above), the word I<only> (or an abbreviation) may be "
8054 "used to repeat the value of the B<FROM> field."
8058 #: build/C/man8/zic.8:150
8064 #: build/C/man8/zic.8:167
8066 "Gives the type of year in which the rule applies. If B<TYPE> is B<->, then "
8067 "the rule applies in all years between B<FROM> and B<TO> inclusive. If "
8068 "B<TYPE> is something else, then I<zic> executes the command"
8072 #: build/C/man8/zic.8:171
8073 msgid "B<yearistype> I<year> I<type>"
8077 #: build/C/man8/zic.8:175
8079 "to check the type of a year: an exit status of zero is taken to mean that "
8080 "the year is of the given type; an exit status of one is taken to mean that "
8081 "the year is not of the given type."
8085 #: build/C/man8/zic.8:175
8091 #: build/C/man8/zic.8:179
8093 "Names the month in which the rule takes effect. Month names may be "
8098 #: build/C/man8/zic.8:179
8104 #: build/C/man8/zic.8:183
8105 msgid "Gives the day on which the rule takes effect. Recognized forms include:"
8109 #: build/C/man8/zic.8:186
8111 msgid "\\w'SunE<lt>=25\\0\\0'u"
8115 #: build/C/man8/zic.8:192
8118 "5\tthe fifth of the month\n"
8119 "lastSun\tthe last Sunday in the month\n"
8120 "lastMon\tthe last Monday in the month\n"
8121 "SunE<gt>=8\tfirst Sunday on or after the eighth\n"
8122 "SunE<lt>=25\tlast Sunday on or before the 25th\n"
8126 #: build/C/man8/zic.8:199
8128 "Names of days of the week may be abbreviated or spelled out in full. Note "
8129 "that there must be no spaces within the B<ON> field."
8133 #: build/C/man8/zic.8:199
8139 #: build/C/man8/zic.8:203
8141 "Gives the time of day at which the rule takes effect. Recognized forms "
8146 #: build/C/man8/zic.8:206
8148 msgid "\\w'1:28:13\\0\\0'u"
8152 #: build/C/man8/zic.8:212
8155 "2\ttime in hours\n"
8156 "2:00\ttime in hours and minutes\n"
8157 "15:00\t24-hour format time (for times after noon)\n"
8158 "1:28:14\ttime in hours, minutes, and seconds\n"
8159 "-\tequivalent to 0\n"
8163 #: build/C/man8/zic.8:234
8165 "where hour 0 is midnight at the start of the day, and hour 24 is midnight at "
8166 "the end of the day. Any of these forms may be followed by the letter I<w> "
8167 "if the given time is local E<.q \"wall clock\"> time, I<s> if the given time "
8168 "is local E<.q standard> time, or I<u> (or I<g> or I<z>) if the given time "
8169 "is universal time; in the absence of an indicator, wall clock time is "
8174 #: build/C/man8/zic.8:234
8180 #: build/C/man8/zic.8:246
8182 "Gives the amount of time to be added to local standard time when the rule is "
8183 "in effect. This field has the same format as the B<AT> field (although, of "
8184 "course, the I<w> and I<s> suffixes are not used)."
8188 #: build/C/man8/zic.8:246
8194 #: build/C/man8/zic.8:262
8196 "Gives the E<.q \"variable part\"> (for example, the E<.q S> or E<.q D> in "
8197 "E<.q EST> or E<.q EDT )> of timezone abbreviations to be used when this rule "
8198 "is in effect. If this field is B<->, the variable part is null."
8202 #: build/C/man8/zic.8:264
8203 msgid "A zone line has the form"
8207 #: build/C/man8/zic.8:267
8210 "\\w'Zone\\0\\0'u +\\w'Australia/Adelaide\\0\\0'u +\\w'UTCOFF\\0\\0'u "
8211 "+\\w'RULES/SAVE\\0\\0'u +\\w'FORMAT\\0\\0'u"
8215 #: build/C/man8/zic.8:269
8217 msgid "Zone\tNAME\tUTCOFF\tRULES/SAVE\tFORMAT\t[UNTIL]\n"
8221 #: build/C/man8/zic.8:274
8223 msgid "Zone\tAustralia/Adelaide\t9:30\tAus\tCST\t1971 Oct 31 2:00\n"
8227 #: build/C/man8/zic.8:277
8228 msgid "The fields that make up a zone line are:"
8232 #: build/C/man8/zic.8:282
8234 "The name of the timezone. This is the name used in creating the time "
8235 "conversion information file for the zone."
8239 #: build/C/man8/zic.8:282
8245 #: build/C/man8/zic.8:291
8247 "The amount of time to add to UTC to get standard time in this zone. This "
8248 "field has the same format as the B<AT> and B<SAVE> fields of rule lines; "
8249 "begin the field with a minus sign if time must be subtracted from UTC."
8253 #: build/C/man8/zic.8:291
8255 msgid "B<RULES/SAVE>"
8259 #: build/C/man8/zic.8:298
8261 "The name of the rule(s) that apply in the timezone or, alternately, an "
8262 "amount of time to add to local standard time. If this field is B<->, then "
8263 "standard time always applies in the timezone."
8267 #: build/C/man8/zic.8:298
8273 #: build/C/man8/zic.8:309
8275 "The format for timezone abbreviations in this timezone. The pair of "
8276 "characters B<%s> is used to show where the E<.q \"variable part\"> of the "
8277 "timezone abbreviation goes. Alternately, a slash (/) separates standard "
8278 "and daylight abbreviations."
8282 #: build/C/man8/zic.8:309
8288 #: build/C/man8/zic.8:319
8290 "The time at which the UTC offset or the rule(s) change for a location. It "
8291 "is specified as a year, a month, a day, and a time of day. If this is "
8292 "specified, the timezone information is generated from the given UTC offset "
8293 "and rule change until the time specified. The month, day, and time of day "
8294 "have the same format as the IN, ON, and AT columns of a rule; trailing "
8295 "columns can be omitted, and default to the earliest possible value for the "
8300 #: build/C/man8/zic.8:333
8302 "The next line must be a E<.q continuation> line; this has the same form as a "
8303 "zone line except that the string E<.q Zone> and the name are omitted, as the "
8304 "continuation line will place information starting at the time specified as "
8305 "the B<UNTIL> field in the previous line in the file used by the previous "
8306 "line. Continuation lines may contain an B<UNTIL> field, just as zone lines "
8307 "do, indicating that the next line is a further continuation."
8311 #: build/C/man8/zic.8:335
8312 msgid "A link line has the form"
8316 #: build/C/man8/zic.8:338
8318 msgid "\\w'Link\\0\\0'u +\\w'Europe/Istanbul\\0\\0'u"
8322 #: build/C/man8/zic.8:340
8324 msgid "Link\tLINK-FROM\tLINK-TO\n"
8328 #: build/C/man8/zic.8:345
8330 msgid "Link\tEurope/Istanbul\tAsia/Istanbul\n"
8334 #: build/C/man8/zic.8:355
8336 "The B<LINK-FROM> field should appear as the B<NAME> field in some zone line; "
8337 "the B<LINK-TO> field is used as an alternate name for that zone."
8341 #: build/C/man8/zic.8:358
8342 msgid "Except for continuation lines, lines may appear in any order in the input."
8346 #: build/C/man8/zic.8:360
8347 msgid "Lines in the file that describes leap seconds have the following form:"
8351 #: build/C/man8/zic.8:362
8354 "\\w'Leap\\0\\0'u +\\w'YEAR\\0\\0'u +\\w'MONTH\\0\\0'u +\\w'DAY\\0\\0'u "
8355 "+\\w'HH:MM:SS\\0\\0'u +\\w'CORR\\0\\0'u"
8359 #: build/C/man8/zic.8:365
8361 msgid "Leap\tYEAR\tMONTH\tDAY\tHH:MM:SS\tCORR\tR/S\n"
8365 #: build/C/man8/zic.8:370
8367 msgid "Leap\t1974\tDec\t31\t23:59:60\t+\tS\n"
8370 #. There's no need to document the following, since it's impossible for more
8371 #. than one leap second to be inserted or deleted at a time.
8372 #. The C Standard is in error in suggesting the possibility.
8373 #. See Terry J Quinn, The BIPM and the accurate measure of time,
8374 #. Proc IEEE 79, 7 (July 1991), 894-905.
8377 #. if two seconds were added
8380 #. if two seconds were skipped.
8382 #: build/C/man8/zic.8:410
8384 "The B<YEAR>, B<MONTH>, B<DAY>, and B<HH:MM:SS> fields tell when the leap "
8385 "second happened. The B<CORR> field should be E<.q +> if a second was added "
8386 "or E<.q -> if a second was skipped. The B<R/S> field should be (an "
8387 "abbreviation of) E<.q Stationary> if the leap second time given by the "
8388 "other fields should be interpreted as UTC or (an abbreviation of) E<.q "
8389 "Rolling> if the leap second time given by the other fields should be "
8390 "interpreted as local wall clock time."
8394 #: build/C/man8/zic.8:412
8395 msgid "/usr/local/etc/zoneinfo\tstandard directory used for created files"
8399 #: build/C/man8/zic.8:418
8401 "For areas with more than two types of local time, you may need to use local "
8402 "standard time in the B<AT> field of the earliest transition time's rule to "
8403 "ensure that the earliest transition time recorded in the compiled file is "
8409 #: build/C/man8/zic.8:422
8410 msgid "B<tzfile>(5), B<zdump>(8)"