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: 2013-09-28 04:06+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/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/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/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/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/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/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:179 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/man3/getdate.3:134 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:281 build/C/man2/time.2:46 build/C/man3/timeradd.3:140 build/C/man2/times.2:101 build/C/man2/utime.2:120 build/C/man2/utimensat.2:225
137 #: build/C/man3/adjtime.3:90
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:90 build/C/man2/adjtimex.2:113 build/C/man3/clock_getcpuclockid.3:65 build/C/man2/clock_getres.2:187 build/C/man2/clock_nanosleep.2:152 build/C/man3/futimes.3:66 build/C/man3/getdate.3:150 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:125 build/C/man2/utimensat.2:234
150 #: build/C/man3/adjtime.3:91 build/C/man2/adjtimex.2:118 build/C/man2/clock_getres.2:192 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:96
157 msgid "The adjustment in I<delta> is outside the permitted range."
161 #: build/C/man3/adjtime.3:96 build/C/man2/adjtimex.2:135 build/C/man3/clock_getcpuclockid.3:72 build/C/man2/clock_getres.2:200 build/C/man2/gettimeofday.2:156 build/C/man2/stime.2:62 build/C/man2/utime.2:149 build/C/man2/utimensat.2:365
167 #: build/C/man3/adjtime.3:102
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:102 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:206 build/C/man2/clock_nanosleep.2:181 build/C/man3/ctime.3:282 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:204 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:295 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:162 build/C/man2/utimensat.2:421
176 msgid "CONFORMING TO"
180 #: build/C/man3/adjtime.3:104
181 msgid "4.3BSD, System V."
185 #: build/C/man3/adjtime.3:104 build/C/man3/clock.3:56 build/C/man3/clock_getcpuclockid.3:95 build/C/man2/clock_getres.2:223 build/C/man2/clock_nanosleep.2:183 build/C/man3/ctime.3:301 build/C/man3/difftime.3:50 build/C/man3/dysize.3:53 build/C/man3/getdate.3:206 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:297 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:171 build/C/man2/utimensat.2:426 build/C/man8/zic.8:412
191 #: build/C/man3/adjtime.3:115
193 "The adjustment that B<adjtime>() makes to the clock is carried out in such "
194 "a manner that the clock is always monotonically increasing. Using "
195 "B<adjtime>() to adjust the time prevents the problems that can be caused "
196 "for certain applications (e.g., B<make>(1)) by abrupt positive or negative "
197 "jumps in the system time."
201 #: build/C/man3/adjtime.3:125
203 "B<adjtime>() is intended to be used to make small adjustments to the system "
204 "time. Most systems impose a limit on the adjustment that can be specified "
205 "in I<delta>. In the glibc implementation, I<delta> must be less than or "
206 "equal to (INT_MAX / 1000000 - 2) and greater than or equal to (INT_MIN / "
207 "1000000 + 2) (respectively 2145 and -2145 seconds on i386)."
211 #: build/C/man3/adjtime.3:125 build/C/man2/clock_getres.2:265 build/C/man3/ftime.3:85 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
216 #. http://sourceware.org/bugzilla/show_bug?id=2449
217 #. http://bugzilla.kernel.org/show_bug.cgi?id=6761
218 #. Thanks to the new adjtimex() ADJ_OFFSET_SS_READ flag
220 #: build/C/man3/adjtime.3:141
222 "A longstanding bug meant that if I<delta> was specified as NULL, no valid "
223 "information about the outstanding clock adjustment was returned in "
224 "I<olddelta>. (In this circumstance, B<adjtime>() should return the "
225 "outstanding clock adjustment, without changing it.) This bug is fixed on "
226 "systems with glibc 2.8 or later and Linux kernel 2.6.26 or later."
230 #: build/C/man3/adjtime.3:141 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:275 build/C/man2/clock_nanosleep.2:247 build/C/man3/ctime.3:362 build/C/man3/difftime.3:63 build/C/man3/dysize.3:57 build/C/man3/ftime.3:94 build/C/man3/futimes.3:96 build/C/man3/getdate.3:309 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:566 build/C/man3/strptime.3:422 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:181 build/C/man2/utimensat.2:606 build/C/man8/zdump.8:56 build/C/man8/zic.8:418
236 #: build/C/man3/adjtime.3:145
237 msgid "B<adjtimex>(2), B<gettimeofday>(2), B<time>(7)"
241 #: build/C/man3/adjtime.3:145 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:287 build/C/man2/clock_nanosleep.2:255 build/C/man3/ctime.3:374 build/C/man3/difftime.3:70 build/C/man3/dysize.3:59 build/C/man3/ftime.3:97 build/C/man3/futimes.3:100 build/C/man3/getdate.3:315 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:573 build/C/man3/strptime.3:428 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:188 build/C/man2/utimensat.2:615 build/C/man8/zdump.8:60 build/C/man8/zic.8:422
247 #: build/C/man3/adjtime.3:152 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:294 build/C/man2/clock_nanosleep.2:262 build/C/man3/ctime.3:381 build/C/man3/difftime.3:77 build/C/man3/dysize.3:66 build/C/man3/ftime.3:104 build/C/man3/futimes.3:107 build/C/man3/getdate.3:322 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:580 build/C/man3/strptime.3:435 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:195 build/C/man2/utimensat.2:622 build/C/man8/zdump.8:67 build/C/man8/zic.8:429
249 "This page is part of release 3.54 of the Linux I<man-pages> project. A "
250 "description of the project, and information about reporting bugs, can be "
251 "found at \\%http://www.kernel.org/doc/man-pages/."
255 #: build/C/man2/adjtimex.2:30
261 #: build/C/man2/adjtimex.2:30
267 #: build/C/man2/adjtimex.2:33
268 msgid "adjtimex - tune kernel clock"
272 #: build/C/man2/adjtimex.2:35
273 msgid "B<#include E<lt>sys/timex.hE<gt>>"
277 #: build/C/man2/adjtimex.2:37
278 msgid "B<int adjtimex(struct timex *>I<buf>B<);>"
282 #: build/C/man2/adjtimex.2:47
284 "Linux uses David L. Mills' clock adjustment algorithm (see RFC\\ 1305). The "
285 "system call B<adjtimex>() reads and optionally sets adjustment parameters "
286 "for this algorithm. It takes a pointer to a I<timex> structure, updates "
287 "kernel parameters from field values, and returns the same structure with "
288 "current kernel values. This structure is declared as follows:"
291 #. FIXME -- what is the scaling unit? 2^16 ?
293 #: build/C/man2/adjtimex.2:65
297 " int modes; /* mode selector */\n"
298 " long offset; /* time offset (usec) */\n"
299 " long freq; /* frequency offset (scaled ppm) */\n"
300 " long maxerror; /* maximum error (usec) */\n"
301 " long esterror; /* estimated error (usec) */\n"
302 " int status; /* clock command/status */\n"
303 " long constant; /* pll time constant */\n"
304 " long precision; /* clock precision (usec) (read-only) */\n"
305 " long tolerance; /* clock frequency tolerance (ppm)\n"
307 " struct timeval time; /* current time (read-only) */\n"
308 " long tick; /* usecs between clock ticks */\n"
313 #: build/C/man2/adjtimex.2:74
315 "The I<modes> field determines which parameters, if any, to set. It may "
316 "contain a bitwise-I<or> combination of zero or more of the following bits:"
320 #: build/C/man2/adjtimex.2:85
323 "#define ADJ_OFFSET 0x0001 /* time offset */\n"
324 "#define ADJ_FREQUENCY 0x0002 /* frequency offset */\n"
325 "#define ADJ_MAXERROR 0x0004 /* maximum time error */\n"
326 "#define ADJ_ESTERROR 0x0008 /* estimated time error */\n"
327 "#define ADJ_STATUS 0x0010 /* clock status */\n"
328 "#define ADJ_TIMECONST 0x0020 /* pll time constant */\n"
329 "#define ADJ_TICK 0x4000 /* tick value */\n"
330 "#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime() */\n"
334 #: build/C/man2/adjtimex.2:91
336 "Ordinary users are restricted to a zero value for I<mode>. Only the "
337 "superuser may set any parameters."
341 #: build/C/man2/adjtimex.2:97
342 msgid "On success, B<adjtimex>() returns the clock state:"
346 #: build/C/man2/adjtimex.2:106
349 "#define TIME_OK 0 /* clock synchronized */\n"
350 "#define TIME_INS 1 /* insert leap second */\n"
351 "#define TIME_DEL 2 /* delete leap second */\n"
352 "#define TIME_OOP 3 /* leap second in progress */\n"
353 "#define TIME_WAIT 4 /* leap second has occurred */\n"
354 "#define TIME_BAD 5 /* clock not synchronized */\n"
358 #: build/C/man2/adjtimex.2:113
359 msgid "On failure, B<adjtimex>() returns -1 and sets I<errno>."
363 #: build/C/man2/adjtimex.2:114 build/C/man2/clock_getres.2:188 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
369 #: build/C/man2/adjtimex.2:118
370 msgid "I<buf> does not point to writable memory."
374 #: build/C/man2/adjtimex.2:135
376 "An attempt is made to set I<buf.offset> to a value outside the range -131071 "
377 "to +131071, or to set I<buf.status> to a value other than those listed "
378 "above, or to set I<buf.tick> to a value outside the range 900000/B<HZ> to "
379 "1100000/B<HZ>, where B<HZ> is the system timer interrupt frequency."
383 #: build/C/man2/adjtimex.2:142
385 "I<buf.mode> is nonzero and the caller does not have sufficient privilege. "
386 "Under Linux the B<CAP_SYS_TIME> capability is required."
390 #: build/C/man2/adjtimex.2:150
392 "B<adjtimex>() is Linux-specific and should not be used in programs intended "
393 "to be portable. See B<adjtime>(3) for a more portable, but less flexible, "
394 "method of adjusting the system clock."
398 #: build/C/man2/adjtimex.2:156
400 "B<settimeofday>(2), B<adjtime>(3), B<capabilities>(7), B<time>(7), "
405 #: build/C/man3/clock.3:29
411 #: build/C/man3/clock.3:29
417 #: 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
423 #: build/C/man3/clock.3:32
424 msgid "clock - determine processor time"
428 #: 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
430 msgid "B<#include E<lt>time.hE<gt>>\n"
434 #: build/C/man3/clock.3:37
436 msgid "B<clock_t clock(void);>\n"
440 #: build/C/man3/clock.3:42
442 "The B<clock>() function returns an approximation of processor time used by "
447 #: build/C/man3/clock.3:50
449 "The value returned is the CPU time used so far as a I<clock_t>; to get the "
450 "number of seconds used, divide by B<CLOCKS_PER_SEC>. If the processor time "
451 "used is not available or its value cannot be represented, the function "
452 "returns the value I<(clock_t)\\ -1>."
456 #: build/C/man3/clock.3:56
458 "C89, C99, POSIX.1-2001. POSIX requires that B<CLOCKS_PER_SEC> equals "
459 "1000000 independent of the actual resolution."
463 #: build/C/man3/clock.3:61
465 "The C standard allows for arbitrary values at the start of the program; "
466 "subtract the value returned from a call to B<clock>() at the start of the "
467 "program to get maximum portability."
471 #: build/C/man3/clock.3:67
473 "Note that the time can wrap around. On a 32-bit system where "
474 "B<CLOCKS_PER_SEC> equals 1000000 this function will return the same value "
475 "approximately every 72 minutes."
478 #. I have seen this behavior on Irix 6.3, and the OSF/1, HP/UX, and
479 #. Solaris manual pages say that clock() also does this on those systems.
480 #. POSIX.1-2001 doesn't explicitly allow this, nor is there an
481 #. explicit prohibition. -- MTK
483 #: build/C/man3/clock.3:86
485 "On several other implementations, the value returned by B<clock>() also "
486 "includes the times of any children whose status has been collected via "
487 "B<wait>(2) (or another wait-type call). Linux does not include the times "
488 "of waited-for children in the value returned by B<clock>(). The B<times>(2) "
489 "function, which explicitly returns (separate) information about the caller "
490 "and its children, may be preferable."
494 #: build/C/man3/clock.3:97
496 "In glibc 2.17 and earlier, B<clock>() was implemented on top of "
497 "B<times>(2). For improved precision, since glibc 2.18, it is implemented on "
498 "top of B<clock_gettime>(2) (using the B<CLOCK_PROCESS_CPUTIME_ID> clock)."
502 #: build/C/man3/clock.3:101
503 msgid "B<clock_gettime>(2), B<getrusage>(2), B<times>(2)"
507 #: build/C/man3/clock_getcpuclockid.3:26
509 msgid "CLOCK_GETCPUCLOCKID"
513 #: build/C/man3/clock_getcpuclockid.3:26 build/C/man3/timegm.3:25
519 #: build/C/man3/clock_getcpuclockid.3:29
520 msgid "clock_getcpuclockid - obtain ID of a process CPU-time clock"
524 #: 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
525 msgid "B<#include E<lt>time.hE<gt>>"
529 #: build/C/man3/clock_getcpuclockid.3:34
531 msgid "B<int clock_getcpuclockid(pid_t >I<pid>B<, clockid_t *>I<clock_id>B<);>\n"
535 #: build/C/man3/clock_getcpuclockid.3:37 build/C/man2/clock_getres.2:43 build/C/man2/clock_nanosleep.2:39
536 msgid "Link with I<-lrt> (only for glibc versions before 2.17)."
540 #: build/C/man3/clock_getcpuclockid.3:45
541 msgid "B<clock_getcpuclockid>():"
545 #: build/C/man3/clock_getcpuclockid.3:47 build/C/man2/clock_nanosleep.2:49
546 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
550 #: build/C/man3/clock_getcpuclockid.3:60
552 "The B<clock_getcpuclockid>() function obtains the ID of the CPU-time clock "
553 "of the process whose ID is I<pid>, and returns it in the location pointed to "
554 "by I<clock_id>. If I<pid> is zero, then the clock ID of the CPU-time clock "
555 "of the calling process is returned."
559 #: build/C/man3/clock_getcpuclockid.3:65
561 "On success, B<clock_getcpuclockid>() returns 0; on error, it returns one of "
562 "the positive error numbers listed in ERRORS."
566 #: build/C/man3/clock_getcpuclockid.3:66 build/C/man3/futimes.3:75 build/C/man3/futimes.3:83
572 #: build/C/man3/clock_getcpuclockid.3:72
574 "The kernel does not support obtaining the per-process CPU-time clock of "
575 "another process, and I<pid> does not specify the calling process."
579 #: build/C/man3/clock_getcpuclockid.3:80
581 "The caller does not have permission to access the CPU-time clock of the "
582 "process specified by I<pid>. (Specified as an optional error in "
583 "POSIX.1-2001; does not occur on Linux unless the kernel does not support "
584 "obtaining the per-process CPU-time clock of another process.)"
588 #: build/C/man3/clock_getcpuclockid.3:80 build/C/man2/utimensat.2:408
594 #: build/C/man3/clock_getcpuclockid.3:84
595 msgid "There is no process with the ID I<pid>."
599 #: build/C/man3/clock_getcpuclockid.3:84 build/C/man2/clock_getres.2:204 build/C/man2/clock_nanosleep.2:176 build/C/man3/futimes.3:86 build/C/man2/utimensat.2:413
605 #: build/C/man3/clock_getcpuclockid.3:88
607 "The B<clock_getcpuclockid>() function is available in glibc since version "
612 #: build/C/man3/clock_getcpuclockid.3:88 build/C/man3/getdate.3:195
618 #: build/C/man3/clock_getcpuclockid.3:89 build/C/man3/getdate.3:196
620 msgid "Multithreading (see pthreads(7))"
624 #: build/C/man3/clock_getcpuclockid.3:93
625 msgid "The B<clock_getcpuclockid>() function is thread-safe."
629 #: build/C/man3/clock_getcpuclockid.3:95 build/C/man2/clock_nanosleep.2:183 build/C/man3/getdate.3:206 build/C/man2/nanosleep.2:133
630 msgid "POSIX.1-2001."
634 #: build/C/man3/clock_getcpuclockid.3:105
636 "Calling B<clock_gettime>(2) with the clock ID obtained by a call to "
637 "B<clock_getcpuclockid>() with a I<pid> of 0, is the same as using the clock "
638 "ID B<CLOCK_PROCESS_CPUTIME_ID>."
642 #: build/C/man3/clock_getcpuclockid.3:105 build/C/man3/getdate.3:220 build/C/man3/strftime.3:505 build/C/man3/strptime.3:396
648 #: build/C/man3/clock_getcpuclockid.3:112
650 "The example program below obtains the CPU-time clock ID of the process whose "
651 "ID is given on the command line, and then uses B<clock_gettime>(2) to "
652 "obtain the time on that clock. An example run is the following:"
656 #: build/C/man3/clock_getcpuclockid.3:117
659 "$B< ./a.out 1> # Show CPU clock of init process\n"
660 "CPU-time clock for PID 1 is 2.213466748 seconds\n"
664 #: build/C/man3/clock_getcpuclockid.3:119 build/C/man3/getdate.3:271
666 msgid "Program source"
670 #: build/C/man3/clock_getcpuclockid.3:127
673 "#define _XOPEN_SOURCE 600\n"
674 "#include E<lt>stdio.hE<gt>\n"
675 "#include E<lt>unistd.hE<gt>\n"
676 "#include E<lt>stdlib.hE<gt>\n"
677 "#include E<lt>time.hE<gt>\n"
681 #: build/C/man3/clock_getcpuclockid.3:133
685 "main(int argc, char *argv[])\n"
687 " clockid_t clockid;\n"
688 " struct timespec ts;\n"
692 #: build/C/man3/clock_getcpuclockid.3:138
695 " if (argc != 2) {\n"
696 " fprintf(stderr, \"%s E<lt>process-IDE<gt>\\en\", argv[0]);\n"
697 "\texit(EXIT_FAILURE);\n"
702 #: build/C/man3/clock_getcpuclockid.3:143
705 " if (clock_getcpuclockid(atoi(argv[1]), &clockid) != 0) {\n"
706 "\tperror(\"clock_getcpuclockid\");\n"
707 "\texit(EXIT_FAILURE);\n"
712 #: build/C/man3/clock_getcpuclockid.3:148
715 " if (clock_gettime(clockid, &ts) == -1) {\n"
716 "\tperror(\"clock_gettime\");\n"
717 "\texit(EXIT_FAILURE);\n"
722 #: build/C/man3/clock_getcpuclockid.3:153
725 " printf(\"CPU-time clock for PID %s is %ld.%09ld seconds\\en\",\n"
726 "\t argv[1], (long) ts.tv_sec, (long) ts.tv_nsec);\n"
727 " exit(EXIT_SUCCESS);\n"
732 #: build/C/man3/clock_getcpuclockid.3:159
734 "B<clock_getres>(2), B<timer_create>(2), B<pthread_getcpuclockid>(3), "
739 #: build/C/man2/clock_getres.2:30
745 #: build/C/man2/clock_getres.2:30
751 #: build/C/man2/clock_getres.2:33
752 msgid "clock_getres, clock_gettime, clock_settime - clock and time functions"
756 #: build/C/man2/clock_getres.2:37
757 msgid "B<int clock_getres(clockid_t >I<clk_id>B<, struct timespec *>I<res>B<);>"
761 #: build/C/man2/clock_getres.2:39
762 msgid "B<int clock_gettime(clockid_t >I<clk_id>B<, struct timespec *>I<tp>B<);>"
766 #: build/C/man2/clock_getres.2:41
768 "B<int clock_settime(clockid_t >I<clk_id>B<, const struct timespec "
773 #: build/C/man2/clock_getres.2:53
774 msgid "B<clock_getres>(), B<clock_gettime>(), B<clock_settime>():"
778 #: build/C/man2/clock_getres.2:55
779 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
783 #: build/C/man2/clock_getres.2:76
785 "The function B<clock_getres>() finds the resolution (precision) of the "
786 "specified clock I<clk_id>, and, if I<res> is non-NULL, stores it in the "
787 "I<struct timespec> pointed to by I<res>. The resolution of clocks depends "
788 "on the implementation and cannot be configured by a particular process. If "
789 "the time value pointed to by the argument I<tp> of B<clock_settime>() is "
790 "not a multiple of I<res>, then it is truncated to a multiple of I<res>."
794 #: build/C/man2/clock_getres.2:83
796 "The functions B<clock_gettime>() and B<clock_settime>() retrieve and set "
797 "the time of the specified clock I<clk_id>."
801 #: build/C/man2/clock_getres.2:92
803 "The I<res> and I<tp> arguments are I<timespec> structures, as specified in "
804 "I<E<lt>time.hE<gt>>:"
808 #: build/C/man2/clock_getres.2:99
811 "struct timespec {\n"
812 " time_t tv_sec; /* seconds */\n"
813 " long tv_nsec; /* nanoseconds */\n"
818 #: build/C/man2/clock_getres.2:107
820 "The I<clk_id> argument is the identifier of the particular clock on which to "
821 "act. A clock may be system-wide and hence visible for all processes, or "
822 "per-process if it measures time only within a single process."
826 #: build/C/man2/clock_getres.2:114
828 "All implementations support the system-wide real-time clock, which is "
829 "identified by B<CLOCK_REALTIME>. Its time represents seconds and "
830 "nanoseconds since the Epoch. When its time is changed, timers for a "
831 "relative interval are unaffected, but timers for an absolute point in time "
836 #: build/C/man2/clock_getres.2:118
838 "More clocks may be implemented. The interpretation of the corresponding "
839 "time values and the effect on timers is unspecified."
843 #: build/C/man2/clock_getres.2:121
845 "Sufficiently recent versions of glibc and the Linux kernel support the "
850 #: build/C/man2/clock_getres.2:121 build/C/man2/clock_nanosleep.2:80
852 msgid "B<CLOCK_REALTIME>"
856 #: build/C/man2/clock_getres.2:130
858 "System-wide clock that measures real (i.e., wall-clock) time. Setting this "
859 "clock requires appropriate privileges. This clock is affected by "
860 "discontinuous jumps in the system time (e.g., if the system administrator "
861 "manually changes the clock), and by the incremental adjustments performed by "
862 "B<adjtime>(3) and NTP."
866 #: build/C/man2/clock_getres.2:130
868 msgid "B<CLOCK_REALTIME_COARSE> (since Linux 2.6.32; Linux-specific)"
871 #. Added in commit da15cfdae03351c689736f8d142618592e3cebc3
873 #: build/C/man2/clock_getres.2:136
875 "A faster but less precise version of B<CLOCK_REALTIME>. Use when you need "
876 "very fast, but not fine-grained timestamps."
880 #: build/C/man2/clock_getres.2:137 build/C/man2/clock_nanosleep.2:83
882 msgid "B<CLOCK_MONOTONIC>"
886 #: build/C/man2/clock_getres.2:146
888 "Clock that cannot be set and represents monotonic time since some "
889 "unspecified starting point. This clock is not affected by discontinuous "
890 "jumps in the system time (e.g., if the system administrator manually changes "
891 "the clock), but is affected by the incremental adjustments performed by "
892 "B<adjtime>(3) and NTP."
896 #: build/C/man2/clock_getres.2:146
898 msgid "B<CLOCK_MONOTONIC_COARSE> (since Linux 2.6.32; Linux-specific)"
901 #. Added in commit da15cfdae03351c689736f8d142618592e3cebc3
903 #: build/C/man2/clock_getres.2:152
905 "A faster but less precise version of B<CLOCK_MONOTONIC>. Use when you need "
906 "very fast, but not fine-grained timestamps."
910 #: build/C/man2/clock_getres.2:152
912 msgid "B<CLOCK_MONOTONIC_RAW> (since Linux 2.6.28; Linux-specific)"
915 #. Added in commit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68, John Stultz
917 #: build/C/man2/clock_getres.2:161
919 "Similar to B<CLOCK_MONOTONIC>, but provides access to a raw hardware-based "
920 "time that is not subject to NTP adjustments or the incremental adjustments "
921 "performed by B<adjtime>(3)."
925 #: build/C/man2/clock_getres.2:161
927 msgid "B<CLOCK_BOOTTIME> (since Linux 2.6.39; Linux-specific)"
930 #. commit 7fdd7f89006dd5a4c702fa0ce0c272345fa44ae0
931 #. commit 70a08cca1227dc31c784ec930099a4417a06e7d0
933 #: build/C/man2/clock_getres.2:173
935 "Identical to B<CLOCK_MONOTONIC>, except it also includes any time that the "
936 "system is suspended. This allows applications to get a suspend-aware "
937 "monotonic clock without having to deal with the complications of "
938 "B<CLOCK_REALTIME>, which may have discontinuities if the time is changed "
939 "using B<settimeofday>(2)."
943 #: build/C/man2/clock_getres.2:173
945 msgid "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
949 #: build/C/man2/clock_getres.2:176
950 msgid "High-resolution per-process timer from the CPU."
954 #: build/C/man2/clock_getres.2:176
956 msgid "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
960 #: build/C/man2/clock_getres.2:179
961 msgid "Thread-specific CPU-time clock."
965 #: build/C/man2/clock_getres.2:187
967 "B<clock_gettime>(), B<clock_settime>() and B<clock_getres>() return 0 for "
968 "success, or -1 for failure (in which case I<errno> is set appropriately)."
972 #: build/C/man2/clock_getres.2:192
973 msgid "I<tp> points outside the accessible address space."
976 #. Linux also gives this error on attempts to set CLOCK_PROCESS_CPUTIME_ID
977 #. and CLOCK_THREAD_CPUTIME_ID, when probably the proper error should be
980 #: build/C/man2/clock_getres.2:200
981 msgid "The I<clk_id> specified is not supported on this system."
985 #: build/C/man2/clock_getres.2:204
986 msgid "B<clock_settime>() does not have permission to set the clock indicated."
990 #: build/C/man2/clock_getres.2:206
991 msgid "These system calls first appeared in Linux 2.6."
995 #: build/C/man2/clock_getres.2:208 build/C/man3/strptime.3:297
996 msgid "SUSv2, POSIX.1-2001."
1000 #: build/C/man2/clock_getres.2:208
1002 msgid "AVAILABILITY"
1006 #: build/C/man2/clock_getres.2:223
1008 "On POSIX systems on which these functions are available, the symbol "
1009 "B<_POSIX_TIMERS> is defined in I<E<lt>unistd.hE<gt>> to a value greater than "
1010 "0. The symbols B<_POSIX_MONOTONIC_CLOCK>, B<_POSIX_CPUTIME>, "
1011 "B<_POSIX_THREAD_CPUTIME> indicate that B<CLOCK_MONOTONIC>, "
1012 "B<CLOCK_PROCESS_CPUTIME_ID>, B<CLOCK_THREAD_CPUTIME_ID> are available. (See "
1013 "also B<sysconf>(3).)"
1017 #: build/C/man2/clock_getres.2:224
1019 msgid "Historical note for SMP systems"
1023 #: build/C/man2/clock_getres.2:236
1025 "Before Linux added kernel support for B<CLOCK_PROCESS_CPUTIME_ID> and "
1026 "B<CLOCK_THREAD_CPUTIME_ID>, glibc implemented these clocks on many platforms "
1027 "using timer registers from the CPUs (TSC on i386, AR.ITC on Itanium). These "
1028 "registers may differ between CPUs and as a consequence these clocks may "
1029 "return B<bogus results> if a process is migrated to another CPU."
1033 #: build/C/man2/clock_getres.2:247
1035 "If the CPUs in an SMP system have different clock sources then there is no "
1036 "way to maintain a correlation between the timer registers since each CPU "
1037 "will run at a slightly different frequency. If that is the case then "
1038 "I<clock_getcpuclockid(0)> will return B<ENOENT> to signify this condition. "
1039 "The two clocks will then be useful only if it can be ensured that a process "
1040 "stays on a certain CPU."
1044 #: build/C/man2/clock_getres.2:256
1046 "The processors in an SMP system do not start all at exactly the same time "
1047 "and therefore the timer registers are typically running at an offset. Some "
1048 "architectures include code that attempts to limit these offsets on bootup. "
1049 "However, the code cannot guarantee to accurately tune the offsets. Glibc "
1050 "contains no provisions to deal with these offsets (unlike the Linux "
1051 "Kernel). Typically these offsets are small and therefore the effects may be "
1052 "negligible in most cases."
1056 #: build/C/man2/clock_getres.2:265
1058 "Since glibc 2.4, the wrapper functions for the system calls described in "
1059 "this page avoid the abovementioned problems by employing the kernel "
1060 "implementation of B<CLOCK_PROCESS_CPUTIME_ID> and "
1061 "B<CLOCK_THREAD_CPUTIME_ID>, on systems that provide such an implementation "
1062 "(i.e., Linux 2.6.12 and later)."
1065 #. See http://bugzilla.kernel.org/show_bug.cgi?id=11972
1067 #: build/C/man2/clock_getres.2:275
1069 "According to POSIX.1-2001, a process with \"appropriate privileges\" may set "
1070 "the B<CLOCK_PROCESS_CPUTIME_ID> and B<CLOCK_THREAD_CPUTIME_ID> clocks using "
1071 "B<clock_settime>(). On Linux, these clocks are not settable (i.e., no "
1072 "process has \"appropriate privileges\")."
1076 #: build/C/man2/clock_getres.2:287
1078 "B<date>(1), B<gettimeofday>(2), B<settimeofday>(2), B<time>(2), "
1079 "B<adjtime>(3), B<clock_getcpuclockid>(3), B<ctime>(3), B<ftime>(3), "
1080 "B<pthread_getcpuclockid>(3), B<sysconf>(3), B<time>(7)"
1084 #: build/C/man2/clock_nanosleep.2:26
1086 msgid "CLOCK_NANOSLEEP"
1090 #: build/C/man2/clock_nanosleep.2:26 build/C/man2/nanosleep.2:34
1096 #: build/C/man2/clock_nanosleep.2:29
1097 msgid "clock_nanosleep - high-resolution sleep with specifiable clock"
1101 #: build/C/man2/clock_nanosleep.2:36
1104 "B<int clock_nanosleep(clockid_t >I<clock_id>B<, int >I<flags>B<,>\n"
1105 "B< const struct timespec *>I<request>B<,>\n"
1106 "B< struct timespec *>I<remain>B<);>\n"
1110 #: build/C/man2/clock_nanosleep.2:47
1111 msgid "B<clock_nanosleep>():"
1115 #: build/C/man2/clock_nanosleep.2:61
1117 "Like B<nanosleep>(2), B<clock_nanosleep>() allows the calling thread to "
1118 "sleep for an interval specified with nanosecond precision. It differs in "
1119 "allowing the caller to select the clock against which the sleep interval is "
1120 "to be measured, and in allowing the sleep interval to be specified as either "
1121 "an absolute or a relative value."
1125 #: build/C/man2/clock_nanosleep.2:65
1127 "The time values passed to and returned by this call are specified using "
1128 "I<timespec> structures, defined as follows:"
1132 #: build/C/man2/clock_nanosleep.2:72
1135 "struct timespec {\n"
1136 " time_t tv_sec; /* seconds */\n"
1137 " long tv_nsec; /* nanoseconds [0 .. 999999999] */\n"
1142 #: build/C/man2/clock_nanosleep.2:80
1144 "The I<clock_id> argument specifies the clock against which the sleep "
1145 "interval is to be measured. This argument can have one of the following "
1150 #: build/C/man2/clock_nanosleep.2:83
1151 msgid "A settable system-wide real-time clock."
1154 #. On Linux this clock measures time since boot.
1156 #: build/C/man2/clock_nanosleep.2:89
1158 "A nonsettable, monotonically increasing clock that measures time since some "
1159 "unspecified point in the past that does not change after system startup."
1163 #: build/C/man2/clock_nanosleep.2:89
1165 msgid "B<CLOCK_PROCESS_CPUTIME_ID>"
1168 #. There is some trickery between glibc and the kernel
1169 #. to deal with the CLOCK_PROCESS_CPUTIME_ID case.
1171 #: build/C/man2/clock_nanosleep.2:95
1173 "A settable per-process clock that measures CPU time consumed by all threads "
1178 #: build/C/man2/clock_nanosleep.2:99
1179 msgid "See B<clock_getres>(2) for further details on these clocks."
1183 #: build/C/man2/clock_nanosleep.2:107
1185 "If I<flags> is 0, then the value specified in I<request> is interpreted as "
1186 "an interval relative to the current value of the clock specified by "
1191 #: build/C/man2/clock_nanosleep.2:122
1193 "If I<flags> is B<TIMER_ABSTIME>, then I<request> is interpreted as an "
1194 "absolute time as measured by the clock, I<clock_id>. If I<request> is less "
1195 "than or equal to the current value of the clock, then B<clock_nanosleep>() "
1196 "returns immediately without suspending the calling thread."
1200 #: build/C/man2/clock_nanosleep.2:130
1202 "B<clock_nanosleep>() suspends the execution of the calling thread until "
1203 "either at least the time specified by I<request> has elapsed, or a signal is "
1204 "delivered that causes a signal handler to be called or that terminates the "
1209 #: build/C/man2/clock_nanosleep.2:146
1211 "If the call is interrupted by a signal handler, B<clock_nanosleep>() fails "
1212 "with the error B<EINTR>. In addition, if I<remain> is not NULL, and "
1213 "I<flags> was not B<TIMER_ABSTIME>, it returns the remaining unslept time in "
1214 "I<remain>. This value can then be used to call B<clock_nanosleep>() again "
1215 "and complete a (relative) sleep."
1219 #: build/C/man2/clock_nanosleep.2:152
1221 "On successfully sleeping for the requested interval, B<clock_nanosleep>() "
1222 "returns 0. If the call is interrupted by a signal handler or encounters an "
1223 "error, then it returns one of the positive error number listed in ERRORS."
1227 #: build/C/man2/clock_nanosleep.2:159
1228 msgid "I<request> or I<remain> specified an invalid address."
1232 #: build/C/man2/clock_nanosleep.2:159 build/C/man2/nanosleep.2:114
1238 #: build/C/man2/clock_nanosleep.2:162
1239 msgid "The sleep was interrupted by a signal handler."
1243 #: build/C/man2/clock_nanosleep.2:169 build/C/man2/nanosleep.2:131
1245 "The value in the I<tv_nsec> field was not in the range 0 to 999999999 or "
1246 "I<tv_sec> was negative."
1250 #: build/C/man2/clock_nanosleep.2:176
1252 "I<clock_id> was invalid. (B<CLOCK_THREAD_CPUTIME_ID> is not a permitted "
1253 "value for I<clock_id>.)"
1257 #: build/C/man2/clock_nanosleep.2:181
1259 "The B<clock_nanosleep>() system call first appeared in Linux 2.6. Support "
1260 "is available in glibc since version 2.1."
1264 #: build/C/man2/clock_nanosleep.2:191
1266 "If the interval specified in I<request> is not an exact multiple of the "
1267 "granularity underlying clock (see B<time>(7)), then the interval will be "
1268 "rounded up to the next multiple. Furthermore, after the sleep completes, "
1269 "there may still be a delay before the CPU becomes free to once again execute "
1270 "the calling thread."
1274 #: build/C/man2/clock_nanosleep.2:206
1276 "Using an absolute timer is useful for preventing timer drift problems of the "
1277 "type described in B<nanosleep>(2). (Such problems are exacerbated in "
1278 "programs that try to restart a relative sleep that is repeatedly interrupted "
1279 "by signals.) To perform a relative sleep that avoids these problems, call "
1280 "B<clock_gettime>(2) for the desired clock, add the desired interval to the "
1281 "returned time value, and then call B<clock_nanosleep>() with the "
1282 "B<TIMER_ABSTIME> flag."
1286 #: build/C/man2/clock_nanosleep.2:213
1288 "B<clock_nanosleep>() is never restarted after being interrupted by a signal "
1289 "handler, regardless of the use of the B<sigaction>(2) B<SA_RESTART> flag."
1293 #: build/C/man2/clock_nanosleep.2:223
1295 "The I<remain> argument is unused, and unnecessary, when I<flags> is "
1296 "B<TIMER_ABSTIME>. (An absolute sleep can be restarted using the same "
1297 "I<request> argument.)"
1301 #: build/C/man2/clock_nanosleep.2:227
1303 "POSIX.1 specifies that B<clock_nanosleep>() has no effect on signals "
1304 "dispositions or the signal mask."
1308 #: build/C/man2/clock_nanosleep.2:239
1310 "POSIX.1 specifies that after changing the value of the B<CLOCK_REALTIME> "
1311 "clock via B<clock_settime>(2), the new clock value shall be used to "
1312 "determine the time at which a thread blocked on an absolute "
1313 "B<clock_nanosleep>() will wake up; if the new clock value falls past the "
1314 "end of the sleep interval, then the B<clock_nanosleep>() call will return "
1319 #: build/C/man2/clock_nanosleep.2:247
1321 "POSIX.1 specifies that changing the value of the B<CLOCK_REALTIME> clock via "
1322 "B<clock_settime>(2) shall have no effect on a thread that is blocked on a "
1323 "relative B<clock_nanosleep>()."
1327 #: build/C/man2/clock_nanosleep.2:255
1329 "B<clock_getres>(2), B<nanosleep>(2), B<restart_syscall>(2), "
1330 "B<timer_create>(2), B<sleep>(3), B<usleep>(3), B<time>(7)"
1334 #: build/C/man3/ctime.3:35
1340 #: build/C/man3/ctime.3:35 build/C/man3/ftime.3:30 build/C/man4/rtc.4:30 build/C/man2/stime.2:30 build/C/man3/timeradd.3:27 build/C/man8/zic.8:5
1346 #: build/C/man3/ctime.3:39
1348 "asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r, gmtime_r, "
1349 "localtime_r - transform date and time to broken-down time or ASCII"
1353 #: build/C/man3/ctime.3:44
1355 msgid "B<char *asctime(const struct tm *>I<tm>B<);>\n"
1359 #: build/C/man3/ctime.3:46
1361 msgid "B<char *asctime_r(const struct tm *>I<tm>B<, char *>I<buf>B<);>\n"
1365 #: build/C/man3/ctime.3:48
1367 msgid "B<char *ctime(const time_t *>I<timep>B<);>\n"
1371 #: build/C/man3/ctime.3:50
1373 msgid "B<char *ctime_r(const time_t *>I<timep>B<, char *>I<buf>B<);>\n"
1377 #: build/C/man3/ctime.3:52
1379 msgid "B<struct tm *gmtime(const time_t *>I<timep>B<);>\n"
1383 #: build/C/man3/ctime.3:54
1386 "B<struct tm *gmtime_r(const time_t *>I<timep>B<, struct tm "
1387 "*>I<result>B<);>\n"
1391 #: build/C/man3/ctime.3:56
1393 msgid "B<struct tm *localtime(const time_t *>I<timep>B<);>\n"
1397 #: build/C/man3/ctime.3:58
1400 "B<struct tm *localtime_r(const time_t *>I<timep>B<, struct tm "
1401 "*>I<result>B<);>\n"
1405 #: build/C/man3/ctime.3:60
1407 msgid "B<time_t mktime(struct tm *>I<tm>B<);>\n"
1411 #: build/C/man3/ctime.3:72
1412 msgid "B<asctime_r>(), B<ctime_r>(), B<gmtime_r>(), B<localtime_r>():"
1416 #: build/C/man3/ctime.3:75
1418 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1423 #: build/C/man3/ctime.3:87
1425 "The B<ctime>(), B<gmtime>() and B<localtime>() functions all take an "
1426 "argument of data type I<time_t> which represents calendar time. When "
1427 "interpreted as an absolute time value, it represents the number of seconds "
1428 "elapsed since the Epoch, 1970-01-01 00:00:00 +0000 (UTC)."
1432 #: build/C/man3/ctime.3:95
1434 "The B<asctime>() and B<mktime>() functions both take an argument "
1435 "representing broken-down time which is a representation separated into year, "
1436 "month, day, and so on."
1440 #: build/C/man3/ctime.3:98
1442 "Broken-down time is stored in the structure I<tm> which is defined in "
1443 "I<E<lt>time.hE<gt>> as follows:"
1447 #: build/C/man3/ctime.3:112
1451 " int tm_sec; /* seconds */\n"
1452 " int tm_min; /* minutes */\n"
1453 " int tm_hour; /* hours */\n"
1454 " int tm_mday; /* day of the month */\n"
1455 " int tm_mon; /* month */\n"
1456 " int tm_year; /* year */\n"
1457 " int tm_wday; /* day of the week */\n"
1458 " int tm_yday; /* day in the year */\n"
1459 " int tm_isdst; /* daylight saving time */\n"
1464 #: build/C/man3/ctime.3:116
1465 msgid "The members of the I<tm> structure are:"
1469 #: build/C/man3/ctime.3:116
1475 #: build/C/man3/ctime.3:120
1477 "The number of seconds after the minute, normally in the range 0 to 59, but "
1478 "can be up to 60 to allow for leap seconds."
1482 #: build/C/man3/ctime.3:120
1488 #: build/C/man3/ctime.3:123
1489 msgid "The number of minutes after the hour, in the range 0 to 59."
1493 #: build/C/man3/ctime.3:123
1499 #: build/C/man3/ctime.3:126
1500 msgid "The number of hours past midnight, in the range 0 to 23."
1504 #: build/C/man3/ctime.3:126
1510 #: build/C/man3/ctime.3:129
1511 msgid "The day of the month, in the range 1 to 31."
1515 #: build/C/man3/ctime.3:129
1521 #: build/C/man3/ctime.3:132
1522 msgid "The number of months since January, in the range 0 to 11."
1526 #: build/C/man3/ctime.3:132
1532 #: build/C/man3/ctime.3:135
1533 msgid "The number of years since 1900."
1537 #: build/C/man3/ctime.3:135
1543 #: build/C/man3/ctime.3:138
1544 msgid "The number of days since Sunday, in the range 0 to 6."
1548 #: build/C/man3/ctime.3:138
1554 #: build/C/man3/ctime.3:141
1555 msgid "The number of days since January 1, in the range 0 to 365."
1559 #: build/C/man3/ctime.3:141
1565 #: build/C/man3/ctime.3:148
1567 "A flag that indicates whether daylight saving time is in effect at the time "
1568 "described. The value is positive if daylight saving time is in effect, zero "
1569 "if it is not, and negative if the information is not available."
1573 #: build/C/man3/ctime.3:155
1575 "The call B<ctime(>I<t>B<)> is equivalent to B<asctime(localtime(>I<t>B<))>. "
1576 "It converts the calendar time I<t> into a null-terminated string of the form"
1580 #: build/C/man3/ctime.3:158
1581 msgid "Wed Jun 30 21:49:08 1993\\en"
1585 #: build/C/man3/ctime.3:179
1587 "The abbreviations for the days of the week are \"Sun\", \"Mon\", \"Tue\", "
1588 "\"Wed\", \"Thu\", \"Fri\", and \"Sat\". The abbreviations for the months "
1589 "are \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", "
1590 "\"Sep\", \"Oct\", \"Nov\", and \"Dec\". The return value points to a "
1591 "statically allocated string which might be overwritten by subsequent calls "
1592 "to any of the date and time functions. The function also sets the external "
1593 "variables I<tzname>, I<timezone>, and I<daylight> (see B<tzset>(3)) with "
1594 "information about the current timezone. The reentrant version B<ctime_r>() "
1595 "does the same, but stores the string in a user-supplied buffer which should "
1596 "have room for at least 26 bytes. It need not set I<tzname>, I<timezone>, "
1601 #: build/C/man3/ctime.3:192
1603 "The B<gmtime>() function converts the calendar time I<timep> to broken-down "
1604 "time representation, expressed in Coordinated Universal Time (UTC). It may "
1605 "return NULL when the year does not fit into an integer. The return value "
1606 "points to a statically allocated struct which might be overwritten by "
1607 "subsequent calls to any of the date and time functions. The B<gmtime_r>() "
1608 "function does the same, but stores the data in a user-supplied struct."
1612 #: build/C/man3/ctime.3:212
1614 "The B<localtime>() function converts the calendar time I<timep> to "
1615 "broken-down time representation, expressed relative to the user's specified "
1616 "timezone. The function acts as if it called B<tzset>(3) and sets the "
1617 "external variables I<tzname> with information about the current timezone, "
1618 "I<timezone> with the difference between Coordinated Universal Time (UTC) and "
1619 "local standard time in seconds, and I<daylight> to a nonzero value if "
1620 "daylight savings time rules apply during some part of the year. The return "
1621 "value points to a statically allocated struct which might be overwritten by "
1622 "subsequent calls to any of the date and time functions. The "
1623 "B<localtime_r>() function does the same, but stores the data in a "
1624 "user-supplied struct. It need not set I<tzname>, I<timezone>, and "
1629 #: build/C/man3/ctime.3:224
1631 "The B<asctime>() function converts the broken-down time value I<tm> into a "
1632 "null-terminated string with the same format as B<ctime>(). The return value "
1633 "points to a statically allocated string which might be overwritten by "
1634 "subsequent calls to any of the date and time functions. The B<asctime_r>() "
1635 "function does the same, but stores the string in a user-supplied buffer "
1636 "which should have room for at least 26 bytes."
1640 #: build/C/man3/ctime.3:249
1642 "The B<mktime>() function converts a broken-down time structure, expressed "
1643 "as local time, to calendar time representation. The function ignores the "
1644 "values supplied by the caller in the I<tm_wday> and I<tm_yday> fields. The "
1645 "value specified in the I<tm_isdst> field informs B<mktime>() whether or not "
1646 "daylight saving time (DST) is in effect for the time supplied in the I<tm> "
1647 "structure: a positive value means DST is in effect; zero means that DST is "
1648 "not in effect; and a negative value means that B<mktime>() should (use "
1649 "timezone information and system databases to) attempt to determine whether "
1650 "DST is in effect at the specified time."
1654 #: build/C/man3/ctime.3:269
1656 "The B<mktime>() function modifies the fields of the I<tm> structure as "
1657 "follows: I<tm_wday> and I<tm_yday> are set to values determined from the "
1658 "contents of the other fields; if structure members are outside their valid "
1659 "interval, they will be normalized (so that, for example, 40 October is "
1660 "changed into 9 November); I<tm_isdst> is set (regardless of its initial "
1661 "value) to a positive value or to 0, respectively, to indicate whether DST "
1662 "is or is not in effect at the specified time. Calling B<mktime>() also "
1663 "sets the external variable I<tzname> with information about the current "
1668 #: build/C/man3/ctime.3:277
1670 "If the specified broken-down time cannot be represented as calendar time "
1671 "(seconds since the Epoch), B<mktime>() returns I<(time_t)\\ -1> and does "
1672 "not alter the members of the broken-down time structure."
1676 #: build/C/man3/ctime.3:282
1678 "Each of these functions returns the value described, or NULL (-1 in case of "
1679 "B<mktime>()) in case an error was detected."
1683 #: build/C/man3/ctime.3:301
1685 "POSIX.1-2001. C89 and C99 specify B<asctime>(), B<ctime>(), B<gmtime>(), "
1686 "B<localtime>(), and B<mktime>(). POSIX.1-2008 marks B<asctime>(), "
1687 "B<asctime_r>(), B<ctime>(), and B<ctime_r>() as obsolete, recommending the "
1688 "use of B<strftime>(3) instead."
1692 #: build/C/man3/ctime.3:316
1694 "The four functions B<asctime>(), B<ctime>(), B<gmtime>() and B<localtime>() "
1695 "return a pointer to static data and hence are not thread-safe. Thread-safe "
1696 "versions B<asctime_r>(), B<ctime_r>(), B<gmtime_r>() and B<localtime_r>() "
1697 "are specified by SUSv2, and available since libc 5.2.5."
1701 #: build/C/man3/ctime.3:330
1703 "POSIX.1-2001 says: \"The B<asctime>(), B<ctime>(), B<gmtime>(), and "
1704 "B<localtime>() functions shall return values in one of two static objects: "
1705 "a broken-down time structure and an array of type I<char>. Execution of any "
1706 "of the functions may overwrite the information returned in either of these "
1707 "objects by any of the other functions.\" This can occur in the glibc "
1712 #: build/C/man3/ctime.3:334
1714 "In many implementations, including glibc, a 0 in I<tm_mday> is interpreted "
1715 "as meaning the last day of the preceding month."
1719 #: build/C/man3/ctime.3:336
1720 msgid "The glibc version of I<struct tm> has additional fields"
1724 #: build/C/man3/ctime.3:341
1727 "long tm_gmtoff; /* Seconds east of UTC */\n"
1728 "const char *tm_zone; /* Timezone abbreviation */\n"
1732 #: build/C/man3/ctime.3:349
1734 "defined when B<_BSD_SOURCE> was set before including I<E<lt>time.hE<gt>>. "
1735 "This is a BSD extension, present in 4.3BSD-Reno."
1738 #. See http://thread.gmane.org/gmane.comp.time.tz/2034/
1740 #: build/C/man3/ctime.3:362
1742 "According to POSIX.1-2004, B<localtime>() is required to behave as though "
1743 "B<tzset>(3) was called, while B<localtime_r>() does not have this "
1744 "requirement. For portable code B<tzset>(3) should be called before "
1749 #: build/C/man3/ctime.3:374
1751 "B<date>(1), B<gettimeofday>(2), B<time>(2), B<utime>(2), B<clock>(3), "
1752 "B<difftime>(3), B<strftime>(3), B<strptime>(3), B<timegm>(3), B<tzset>(3), "
1757 #: build/C/man3/difftime.3:30
1763 #: build/C/man3/difftime.3:30
1769 #: build/C/man3/difftime.3:33
1770 msgid "difftime - calculate time difference"
1774 #: build/C/man3/difftime.3:38
1776 msgid "B<double difftime(time_t >I<time1>B<, time_t >I<time0>B<);>\n"
1780 #: build/C/man3/difftime.3:48
1782 "The B<difftime>() function returns the number of seconds elapsed between "
1783 "time I<time1> and time I<time0>, represented as a I<double>. Each of the "
1784 "times is specified in calendar time, which means its value is a measurement "
1785 "(in seconds) relative to the Epoch, 1970-01-01 00:00:00 +0000 (UTC)."
1789 #: build/C/man3/difftime.3:50
1790 msgid "SVr4, 4.3BSD, C89, C99."
1794 #: build/C/man3/difftime.3:55
1796 "On a POSIX system, I<time_t> is an arithmetic type, and one could just "
1801 #: build/C/man3/difftime.3:59
1803 msgid "#define difftime(t1,t0) (double)(t1 - t0)\n"
1807 #: build/C/man3/difftime.3:63
1808 msgid "when the possible overflow in the subtraction is not a concern."
1812 #: build/C/man3/difftime.3:70
1814 "B<date>(1), B<gettimeofday>(2), B<time>(2), B<ctime>(3), B<gmtime>(3), "
1819 #: build/C/man3/dysize.3:26
1825 #: build/C/man3/dysize.3:26
1831 #: build/C/man3/dysize.3:29
1832 msgid "dysize - get number of days for a given year"
1836 #: build/C/man3/dysize.3:33
1837 msgid "B<int dysize(int >I<year>B<);>"
1841 #: build/C/man3/dysize.3:41
1842 msgid "B<dysize>(): _BSD_SOURCE || _SVID_SOURCE"
1846 #: build/C/man3/dysize.3:44
1848 "The function returns 365 for a normal year and 366 for a leap year. The "
1849 "calculation for leap year is based on:"
1853 #: build/C/man3/dysize.3:46
1854 msgid "(year) %4 == 0 && ((year) %100 != 0 || (year) %400 == 0)"
1858 #: build/C/man3/dysize.3:51
1860 "The formula is defined in the macro I<__isleap(year)> also found in "
1861 "I<E<lt>time.hE<gt>>."
1865 #: build/C/man3/dysize.3:53
1866 msgid "This function occurs in SunOS 4.x."
1869 #. The SCO version of this function had a year-2000 problem.
1871 #: build/C/man3/dysize.3:57
1872 msgid "This is a compatibility function only. Don't use it in new programs."
1876 #: build/C/man3/dysize.3:59
1877 msgid "B<strftime>(3)"
1881 #: build/C/man3/ftime.3:30
1887 #: build/C/man3/ftime.3:33
1888 msgid "ftime - return date and time"
1892 #: build/C/man3/ftime.3:35
1893 msgid "B<#include E<lt>sys/timeb.hE<gt>>"
1897 #: build/C/man3/ftime.3:37
1898 msgid "B<int ftime(struct timeb *>I<tp>B<);>"
1902 #: build/C/man3/ftime.3:43
1904 "This function returns the current time as seconds and milliseconds since the "
1905 "Epoch, 1970-01-01 00:00:00 +0000 (UTC). The time is returned in I<tp>, "
1906 "which is declared as follows:"
1910 #: build/C/man3/ftime.3:52
1915 " unsigned short millitm;\n"
1916 " short timezone;\n"
1922 #: build/C/man3/ftime.3:64
1924 "Here I<time> is the number of seconds since the Epoch, and I<millitm> is the "
1925 "number of milliseconds since I<time> seconds since the Epoch. The "
1926 "I<timezone> field is the local timezone measured in minutes of time west of "
1927 "Greenwich (with a negative value indicating minutes east of Greenwich). The "
1928 "I<dstflag> field is a flag that, if nonzero, indicates that Daylight Saving "
1929 "time applies locally during the appropriate part of the year."
1933 #: build/C/man3/ftime.3:67
1935 "POSIX.1-2001 says that the contents of the I<timezone> and I<dstflag> fields "
1936 "are unspecified; avoid relying on them."
1940 #: build/C/man3/ftime.3:70
1942 "This function always returns 0. (POSIX.1-2001 specifies, and some systems "
1943 "document, a -1 error return.)"
1947 #: build/C/man3/ftime.3:74
1948 msgid "4.2BSD, POSIX.1-2001. POSIX.1-2008 removes the specification of B<ftime>()."
1952 #: build/C/man3/ftime.3:85
1954 "This function is obsolete. Don't use it. If the time in seconds suffices, "
1955 "B<time>(2) can be used; B<gettimeofday>(2) gives microseconds; "
1956 "B<clock_gettime>(2) gives nanoseconds but is not as widely available."
1962 #. function appeared in 4.2BSD.
1964 #: build/C/man3/ftime.3:94
1966 "Under libc4 and libc5 the I<millitm> field is meaningful. But early glibc2 "
1967 "is buggy and returns 0 there; glibc 2.1.1 is correct again."
1971 #: build/C/man3/ftime.3:97
1972 msgid "B<gettimeofday>(2), B<time>(2)"
1976 #: build/C/man3/futimes.3:25
1982 #: build/C/man3/futimes.3:25
1988 #: build/C/man3/futimes.3:28
1989 msgid "futimes, lutimes - change file timestamps"
1993 #: build/C/man3/futimes.3:31 build/C/man2/gettimeofday.2:46 build/C/man3/timeradd.3:33 build/C/man2/utime.2:43
1995 msgid "B<#include E<lt>sys/time.hE<gt>>\n"
1999 #: build/C/man3/futimes.3:33
2001 msgid "B<int futimes(int >I<fd>B<, const struct timeval >I<tv>B<[2]);>\n"
2005 #: build/C/man3/futimes.3:35
2008 "B<int lutimes(const char *>I<filename>B<, const struct timeval "
2013 #: build/C/man3/futimes.3:45
2014 msgid "B<futimes>(), B<lutimes>(): _BSD_SOURCE"
2018 #: build/C/man3/futimes.3:53
2020 "B<futimes>() changes the access and modification times of a file in the "
2021 "same way as B<utimes>(2), with the difference that the file whose timestamps "
2022 "are to be changed is specified via a file descriptor, I<fd>, rather than via "
2027 #: build/C/man3/futimes.3:61
2029 "B<lutimes>() changes the access and modification times of a file in the "
2030 "same way as B<utimes>(2), with the difference that if I<filename> refers to "
2031 "a symbolic link, then the link is not dereferenced: instead, the timestamps "
2032 "of the symbolic link are changed."
2036 #: build/C/man3/futimes.3:66 build/C/man2/stime.2:58 build/C/man2/utime.2:125
2038 "On success, zero is returned. On error, -1 is returned, and I<errno> is set "
2043 #: build/C/man3/futimes.3:71
2045 "Errors are as for B<utimes>(2), with the following additions for "
2050 #: build/C/man3/futimes.3:71 build/C/man2/utimensat.2:283 build/C/man2/utimensat.2:288
2056 #: build/C/man3/futimes.3:75
2057 msgid "I<fd> is not a valid file descriptor."
2061 #: build/C/man3/futimes.3:80
2062 msgid "The I</proc> filesystem could not be accessed."
2066 #: build/C/man3/futimes.3:83
2067 msgid "The following additional error may occur for B<lutimes>():"
2071 #: build/C/man3/futimes.3:86
2072 msgid "The kernel does not support this call; Linux 2.6.22 or later is required."
2076 #: build/C/man3/futimes.3:93
2078 "B<futimes>() is available since glibc 2.3. B<lutimes>() is available "
2079 "since glibc 2.6, and is implemented using the B<utimensat>(2) system call, "
2080 "which is supported since kernel 2.6.22."
2084 #: build/C/man3/futimes.3:96
2086 "These functions are not specified in any standard. Other than Linux, they "
2087 "are available only on the BSDs."
2091 #: build/C/man3/futimes.3:100
2092 msgid "B<utime>(2), B<utimensat>(2), B<symlink>(7)"
2096 #: build/C/man3/getdate.3:30
2102 #: build/C/man3/getdate.3:30
2108 #: build/C/man3/getdate.3:33
2109 msgid "getdate, getdate_r - convert a date-plus-time string to broken-down time"
2113 #: build/C/man3/getdate.3:37
2114 msgid "B<struct tm *getdate(const char *>I<string>B<);>"
2118 #: build/C/man3/getdate.3:39
2119 msgid "B<extern int getdate_err;>"
2123 #: build/C/man3/getdate.3:43
2124 msgid "B<int getdate_r(const char *>I<string>B<, struct tm *>I<res>B<);>"
2128 #: build/C/man3/getdate.3:50
2129 msgid "B<getdate>():"
2133 #: build/C/man3/getdate.3:54
2134 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
2138 #: build/C/man3/getdate.3:57
2139 msgid "B<getdate_r>():"
2143 #: build/C/man3/getdate.3:60 build/C/man2/utimensat.2:65
2148 #: build/C/man3/getdate.3:78
2150 "The function B<getdate>() converts a string representation of a date and "
2151 "time, contained in the buffer pointed to by I<string>, into a broken-down "
2152 "time. The broken-down time is stored in a I<tm> structure, and a pointer to "
2153 "this structure is returned as the function result. This I<tm> structure is "
2154 "allocated in static storage, and consequently it will be overwritten by "
2155 "further calls to B<getdate>()."
2159 #: build/C/man3/getdate.3:90
2161 "In contrast to B<strptime>(3), (which has a I<format> argument), "
2162 "B<getdate>() uses the formats found in the file whose full pathname is "
2163 "given in the environment variable B<DATEMSK>. The first line in the file "
2164 "that matches the given input string is used for the conversion."
2168 #: build/C/man3/getdate.3:94
2170 "The matching is done case insensitively. Superfluous whitespace, either in "
2171 "the pattern or in the string to be converted, is ignored."
2175 #: build/C/man3/getdate.3:98
2177 "The conversion specifications that a pattern can contain are those given for "
2178 "B<strptime>(3). One more conversion specification is specified in "
2183 #: build/C/man3/getdate.3:98 build/C/man3/strftime.3:270 build/C/man3/strptime.3:370 build/C/man1/time.1:175
2189 #: build/C/man3/getdate.3:102
2190 msgid "Timezone name. This is not implemented in glibc."
2194 #: build/C/man3/getdate.3:111
2196 "When B<%Z> is given, the structure containing the broken-down time is "
2197 "initialized with values corresponding to the current time in the given "
2198 "timezone. Otherwise, the structure is initialized to the broken-down time "
2199 "corresponding to the current local time (as by a call to B<localtime>(3))."
2203 #: build/C/man3/getdate.3:114
2205 "When only the weekday is given, the day is taken to be the first such day on "
2210 #: build/C/man3/getdate.3:118
2212 "When only the month is given (and no year), the month is taken to be the "
2213 "first such month equal to or after the current month. If no day is given, "
2214 "it is the first day of the month."
2218 #: build/C/man3/getdate.3:121
2220 "When no hour, minute and second are given, the current hour, minute and "
2225 #: build/C/man3/getdate.3:124
2227 "If no date is given, but we know the hour, then that hour is taken to be the "
2228 "first such hour equal to or after the current hour."
2232 #: build/C/man3/getdate.3:134
2234 "B<getdate_r>() is a GNU extension that provides a reentrant version of "
2235 "B<getdate>(). Rather than using a global variable to report errors and a "
2236 "static buffer to return the broken down time, it returns errors via the "
2237 "function result value, and returns the resulting broken-down time in the "
2238 "caller-allocated buffer pointed to by the argument I<res>."
2242 #: build/C/man3/getdate.3:145
2244 "When successful, B<getdate>() returns a pointer to a I<struct tm>. "
2245 "Otherwise, it returns NULL and sets the global variable I<getdate_err> to "
2246 "one of the error numbers shown below. Changes to I<errno> are unspecified."
2250 #: build/C/man3/getdate.3:150
2252 "On success B<getdate_r>() returns 0; on error it returns one of the error "
2253 "numbers shown below."
2257 #: build/C/man3/getdate.3:157
2259 "The following errors are returned via I<getdate_err> (for B<getdate>()) or "
2260 "as the function result (for B<getdate_r>()):"
2264 #: build/C/man3/getdate.3:157
2270 #: build/C/man3/getdate.3:162
2272 "The B<DATEMSK> environment variable is not defined, or its value is an empty "
2277 #: build/C/man3/getdate.3:162
2283 #: build/C/man3/getdate.3:167
2284 msgid "The template file specified by B<DATEMSK> cannot be opened for reading."
2288 #: build/C/man3/getdate.3:167
2295 #: build/C/man3/getdate.3:171
2296 msgid "Failed to get file status information."
2300 #: build/C/man3/getdate.3:171
2306 #: build/C/man3/getdate.3:174
2307 msgid "The template file is not a regular file."
2311 #: build/C/man3/getdate.3:174
2317 #: build/C/man3/getdate.3:177
2318 msgid "An error was encountered while reading the template file."
2322 #: build/C/man3/getdate.3:177
2327 #. Error 6 doesn't seem to occur in glibc
2329 #: build/C/man3/getdate.3:181
2330 msgid "Memory allocation failed (not enough memory available)."
2334 #: build/C/man3/getdate.3:181
2340 #: build/C/man3/getdate.3:184
2341 msgid "There is no line in the file that matches the input."
2345 #: build/C/man3/getdate.3:184
2351 #: build/C/man3/getdate.3:187
2352 msgid "Invalid input specification."
2356 #: build/C/man3/getdate.3:187 build/C/man3/strftime.3:355 build/C/man1/time.1:74 build/C/man8/tzselect.8:23
2362 #: build/C/man3/getdate.3:188
2368 #: build/C/man3/getdate.3:191
2369 msgid "File containing format patterns."
2373 #: build/C/man3/getdate.3:191
2375 msgid "B<TZ>, B<LC_TIME>"
2379 #: build/C/man3/getdate.3:195
2380 msgid "Variables used by B<strptime>(3)."
2384 #: build/C/man3/getdate.3:200
2385 msgid "The B<getdate>() function is not thread-safe."
2389 #: build/C/man3/getdate.3:204
2390 msgid "The B<getdate_r>() function is thread-safe."
2394 #: build/C/man3/getdate.3:220
2396 "The POSIX.1-2001 specification for B<strptime>(3) contains conversion "
2397 "specifications using the B<%E> or B<%O> modifier, while such specifications "
2398 "are not given for B<getdate>(). In glibc, B<getdate>() is implemented "
2399 "using B<strptime>(3), so that precisely the same conversions are supported "
2404 #: build/C/man3/getdate.3:228
2406 "The program below calls B<getdate>() for each of its command-line "
2407 "arguments, and for each call displays the values in the fields of the "
2408 "returned I<tm> structure. The following shell session demonstrates the "
2409 "operation of the program:"
2413 #: build/C/man3/getdate.3:269
2416 "$B< TFILE=$PWD/tfile>\n"
2417 "$B< echo \\(aq%A\\(aq E<gt> $TFILE > # Full weekday name\n"
2418 "$B< echo \\(aq%T\\(aq E<gt>E<gt> $TFILE> # ISO date (YYYY-MM-DD)\n"
2419 "$B< echo \\(aq%F\\(aq E<gt>E<gt> $TFILE> # Time (HH:MM:SS)\n"
2421 "$B< export DATEMSK=$TFILE>\n"
2422 "$B< ./a.out Tuesday \\(aq2009-12-28\\(aq \\(aq12:22:33\\(aq>\n"
2423 "Sun Sep 7 06:03:36 CEST 2008\n"
2424 "Call 1 (\"Tuesday\") succeeded:\n"
2434 "Call 2 (\"2009-12-28\") succeeded:\n"
2444 "Call 3 (\"12:22:33\") succeeded:\n"
2457 #: build/C/man3/getdate.3:278
2460 "#define _GNU_SOURCE 500\n"
2461 "#include E<lt>time.hE<gt>\n"
2462 "#include E<lt>stdio.hE<gt>\n"
2463 "#include E<lt>stdlib.hE<gt>\n"
2467 #: build/C/man3/getdate.3:284
2471 "main(int argc, char *argv[])\n"
2473 " struct tm *tmp;\n"
2478 #: build/C/man3/getdate.3:287
2481 " for (j = 1; j E<lt> argc; j++) {\n"
2482 " tmp = getdate(argv[j]);\n"
2486 #: build/C/man3/getdate.3:293
2489 " if (tmp == NULL) {\n"
2490 " printf(\"Call %d failed; getdate_err = %d\\en\",\n"
2491 " j, getdate_err);\n"
2497 #: build/C/man3/getdate.3:305
2500 " printf(\"Call %d (\\e\"%s\\e\") succeeded:\\en\", j, argv[j]);\n"
2501 " printf(\" tm_sec = %d\\en\", tmp-E<gt>tm_sec);\n"
2502 " printf(\" tm_min = %d\\en\", tmp-E<gt>tm_min);\n"
2503 " printf(\" tm_hour = %d\\en\", tmp-E<gt>tm_hour);\n"
2504 " printf(\" tm_mday = %d\\en\", tmp-E<gt>tm_mday);\n"
2505 " printf(\" tm_mon = %d\\en\", tmp-E<gt>tm_mon);\n"
2506 " printf(\" tm_year = %d\\en\", tmp-E<gt>tm_year);\n"
2507 " printf(\" tm_wday = %d\\en\", tmp-E<gt>tm_wday);\n"
2508 " printf(\" tm_yday = %d\\en\", tmp-E<gt>tm_yday);\n"
2509 " printf(\" tm_isdst = %d\\en\", tmp-E<gt>tm_isdst);\n"
2514 #: build/C/man3/getdate.3:308
2517 " exit(EXIT_SUCCESS);\n"
2522 #: build/C/man3/getdate.3:315
2523 msgid "B<time>(2), B<localtime>(3), B<setlocale>(3), B<strftime>(3), B<strptime>(3)"
2527 #: build/C/man2/gettimeofday.2:40
2529 msgid "GETTIMEOFDAY"
2533 #: build/C/man2/gettimeofday.2:40
2539 #: build/C/man2/gettimeofday.2:43
2540 msgid "gettimeofday, settimeofday - get / set time"
2544 #: build/C/man2/gettimeofday.2:48
2546 msgid "B<int gettimeofday(struct timeval *>I<tv>B<, struct timezone *>I<tz>B<);>\n"
2550 #: build/C/man2/gettimeofday.2:51
2553 "B<int settimeofday(const struct timeval *>I<tv>B<, const struct timezone "
2558 #: build/C/man2/gettimeofday.2:60
2559 msgid "B<settimeofday>(): _BSD_SOURCE"
2563 #: build/C/man2/gettimeofday.2:72
2565 "The functions B<gettimeofday>() and B<settimeofday>() can get and set the "
2566 "time as well as a timezone. The I<tv> argument is a I<struct timeval> (as "
2567 "specified in I<E<lt>sys/time.hE<gt>>):"
2571 #: build/C/man2/gettimeofday.2:88
2573 "and gives the number of seconds and microseconds since the Epoch (see "
2574 "B<time>(2)). The I<tz> argument is a I<struct timezone>:"
2578 #: build/C/man2/gettimeofday.2:95
2581 "struct timezone {\n"
2582 " int tz_minuteswest; /* minutes west of Greenwich */\n"
2583 " int tz_dsttime; /* type of DST correction */\n"
2587 #. FIXME The compilation warning looks to be going away in 2.17
2588 #. see glibc commit 4b7634a5e03b0da6f8875de9d3f74c1cf6f2a6e8
2589 #. The following is covered under EPERM below:
2591 #. Only the superuser may use
2592 #. .BR settimeofday ().
2594 #: build/C/man2/gettimeofday.2:112
2596 "If either I<tv> or I<tz> is NULL, the corresponding structure is not set or "
2597 "returned. (However, compilation warnings will result if I<tv> is NULL.)"
2601 #: build/C/man2/gettimeofday.2:119
2603 "The use of the I<timezone> structure is obsolete; the I<tz> argument should "
2604 "normally be specified as NULL. (See NOTES below.)"
2608 #: build/C/man2/gettimeofday.2:138
2610 "Under Linux there are some peculiar \"warp clock\" semantics associated with "
2611 "the B<settimeofday>() system call if on the very first call (after booting) "
2612 "that has a non-NULL I<tz> argument, the I<tv> argument is NULL and the "
2613 "I<tz_minuteswest> field is nonzero. (The I<tz_dsttime> field should be zero "
2614 "for this case.) In such a case it is assumed that the CMOS clock is on "
2615 "local time, and that it has to be incremented by this amount to get UTC "
2616 "system time. No doubt it is a bad idea to use this feature."
2620 #: build/C/man2/gettimeofday.2:145
2622 "B<gettimeofday>() and B<settimeofday>() return 0 for success, or -1 for "
2623 "failure (in which case I<errno> is set appropriately)."
2627 #: build/C/man2/gettimeofday.2:153
2628 msgid "One of I<tv> or I<tz> pointed outside the accessible address space."
2632 #: build/C/man2/gettimeofday.2:156
2633 msgid "Timezone (or something else) is invalid."
2637 #: build/C/man2/gettimeofday.2:163
2639 "The calling process has insufficient privilege to call B<settimeofday>(); "
2640 "under Linux the B<CAP_SYS_TIME> capability is required."
2644 #: build/C/man2/gettimeofday.2:174
2646 "SVr4, 4.3BSD. POSIX.1-2001 describes B<gettimeofday>() but not "
2647 "B<settimeofday>(). POSIX.1-2008 marks B<gettimeofday>() as obsolete, "
2648 "recommending the use of B<clock_gettime>(2) instead."
2652 #: build/C/man2/gettimeofday.2:182
2654 "The time returned by B<gettimeofday>() I<is> affected by discontinuous "
2655 "jumps in the system time (e.g., if the system administrator manually changes "
2656 "the system time). If you need a monotonically increasing clock, see "
2657 "B<clock_gettime>(2)."
2661 #: build/C/man2/gettimeofday.2:187
2663 "Macros for operating on I<timeval> structures are described in "
2668 #: build/C/man2/gettimeofday.2:192
2669 msgid "Traditionally, the fields of I<struct timeval> were of type I<long>."
2673 #. been and will not be supported by libc or glibc.
2674 #. Each and every occurrence of this field in the kernel source
2675 #. (other than the declaration) is a bug.
2677 #: build/C/man2/gettimeofday.2:202
2679 "The I<tz_dsttime> field has never been used under Linux. Thus, the "
2680 "following is purely of historic interest."
2684 #: build/C/man2/gettimeofday.2:212
2686 "On old systems, the field I<tz_dsttime> contains a symbolic constant (values "
2687 "are given below) that indicates in which part of the year Daylight Saving "
2688 "Time is in force. (Note: this value is constant throughout the year: it "
2689 "does not indicate that DST is in force, it just selects an algorithm.) The "
2690 "daylight saving time algorithms defined are as follows:"
2694 #: build/C/man2/gettimeofday.2:216
2696 msgid "B<DST_NONE> /* not on DST */\n"
2700 #: build/C/man2/gettimeofday.2:218
2702 msgid "B<DST_USA> /* USA style DST */\n"
2706 #: build/C/man2/gettimeofday.2:220
2708 msgid "B<DST_AUST> /* Australian style DST */\n"
2712 #: build/C/man2/gettimeofday.2:222
2714 msgid "B<DST_WET> /* Western European DST */\n"
2718 #: build/C/man2/gettimeofday.2:224
2720 msgid "B<DST_MET> /* Middle European DST */\n"
2724 #: build/C/man2/gettimeofday.2:226
2726 msgid "B<DST_EET> /* Eastern European DST */\n"
2730 #: build/C/man2/gettimeofday.2:228
2732 msgid "B<DST_CAN> /* Canada */\n"
2736 #: build/C/man2/gettimeofday.2:230
2738 msgid "B<DST_GB> /* Great Britain and Eire */\n"
2742 #: build/C/man2/gettimeofday.2:232
2744 msgid "B<DST_RUM> /* Romania */\n"
2748 #: build/C/man2/gettimeofday.2:234
2750 msgid "B<DST_TUR> /* Turkey */\n"
2754 #: build/C/man2/gettimeofday.2:236
2756 msgid "B<DST_AUSTALT> /* Australian style with shift in 1986 */\n"
2760 #: build/C/man2/gettimeofday.2:246
2762 "Of course it turned out that the period in which Daylight Saving Time is in "
2763 "force cannot be given by a simple algorithm, one per country; indeed, this "
2764 "period is determined by unpredictable political decisions. So this method "
2765 "of representing timezones has been abandoned."
2769 #: build/C/man2/gettimeofday.2:256
2771 "B<date>(1), B<adjtimex>(2), B<clock_gettime>(2), B<time>(2), B<ctime>(3), "
2772 "B<ftime>(3), B<timeradd>(3), B<capabilities>(7), B<time>(7)"
2776 #: build/C/man2/nanosleep.2:34
2782 #: build/C/man2/nanosleep.2:37
2783 msgid "nanosleep - high-resolution sleep"
2787 #: build/C/man2/nanosleep.2:41
2789 "B<int nanosleep(const struct timespec *>I<req>B<, struct timespec "
2794 #: build/C/man2/nanosleep.2:49
2795 msgid "B<nanosleep>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
2799 #: build/C/man2/nanosleep.2:57
2801 "B<nanosleep>() suspends the execution of the calling thread until either at "
2802 "least the time specified in I<*req> has elapsed, or the delivery of a signal "
2803 "that triggers the invocation of a handler in the calling thread or that "
2804 "terminates the process."
2808 #: build/C/man2/nanosleep.2:74
2810 "If the call is interrupted by a signal handler, B<nanosleep>() returns -1, "
2811 "sets I<errno> to B<EINTR>, and writes the remaining time into the structure "
2812 "pointed to by I<rem> unless I<rem> is NULL. The value of I<*rem> can then "
2813 "be used to call B<nanosleep>() again and complete the specified pause (but "
2818 #: build/C/man2/nanosleep.2:79
2820 "The structure I<timespec> is used to specify intervals of time with "
2821 "nanosecond precision. It is defined as follows:"
2825 #: build/C/man2/nanosleep.2:86 build/C/man2/utimensat.2:108
2828 "struct timespec {\n"
2829 " time_t tv_sec; /* seconds */\n"
2830 " long tv_nsec; /* nanoseconds */\n"
2835 #: build/C/man2/nanosleep.2:90
2836 msgid "The value of the nanoseconds field must be in the range 0 to 999999999."
2840 #: build/C/man2/nanosleep.2:102
2842 "Compared to B<sleep>(3) and B<usleep>(3), B<nanosleep>() has the following "
2843 "advantages: it provides a higher resolution for specifying the sleep "
2844 "interval; POSIX.1 explicitly specifies that it does not interact with "
2845 "signals; and it makes the task of resuming a sleep that has been interrupted "
2846 "by a signal handler easier."
2850 #: build/C/man2/nanosleep.2:110
2852 "On successfully sleeping for the requested interval, B<nanosleep>() returns "
2853 "0. If the call is interrupted by a signal handler or encounters an error, "
2854 "then it returns -1, with I<errno> set to indicate the error."
2858 #: build/C/man2/nanosleep.2:114
2859 msgid "Problem with copying information from user space."
2863 #: build/C/man2/nanosleep.2:124
2865 "The pause has been interrupted by a signal that was delivered to the "
2866 "thread. The remaining sleep time has been written into I<*rem> so that the "
2867 "thread can easily call B<nanosleep>() again and continue with the pause."
2871 #: build/C/man2/nanosleep.2:141
2873 "If the interval specified in I<req> is not an exact multiple of the "
2874 "granularity underlying clock (see B<time>(7)), then the interval will be "
2875 "rounded up to the next multiple. Furthermore, after the sleep completes, "
2876 "there may still be a delay before the CPU becomes free to once again execute "
2877 "the calling thread."
2881 #: build/C/man2/nanosleep.2:151
2883 "The fact that B<nanosleep>() sleeps for a relative interval can be "
2884 "problematic if the call is repeatedly restarted after being interrupted by "
2885 "signals, since the time between the interruptions and restarts of the call "
2886 "will lead to drift in the time when the sleep finally completes. This "
2887 "problem can be avoided by using B<clock_nanosleep>(2) with an absolute time "
2891 #. See also http://thread.gmane.org/gmane.linux.kernel/696854/
2892 #. Subject: nanosleep() uses CLOCK_MONOTONIC, should be CLOCK_REALTIME?
2893 #. Date: 2008-06-22 07:35:41 GMT
2895 #: build/C/man2/nanosleep.2:169
2897 "POSIX.1 specifies that B<nanosleep>() should measure time against the "
2898 "B<CLOCK_REALTIME> clock. However, Linux measures the time using the "
2899 "B<CLOCK_MONOTONIC> clock. This probably does not matter, since the POSIX.1 "
2900 "specification for B<clock_settime>(2) says that discontinuous changes in "
2901 "B<CLOCK_REALTIME> should not affect B<nanosleep>():"
2905 #: build/C/man2/nanosleep.2:182
2907 "Setting the value of the B<CLOCK_REALTIME> clock via B<clock_settime>(2) "
2908 "shall have no effect on threads that are blocked waiting for a relative time "
2909 "service based upon this clock, including the B<nanosleep>() function; ... "
2910 "Consequently, these time services shall expire when the requested relative "
2911 "interval elapses, independently of the new or old value of the clock."
2915 #: build/C/man2/nanosleep.2:183
2917 msgid "Old behavior"
2921 #: build/C/man2/nanosleep.2:196
2923 "In order to support applications requiring much more precise pauses (e.g., "
2924 "in order to control some time-critical hardware), B<nanosleep>() would "
2925 "handle pauses of up to 2\\ ms by busy waiting with microsecond precision "
2926 "when called from a thread scheduled under a real-time policy like "
2927 "B<SCHED_FIFO> or B<SCHED_RR>. This special extension was removed in kernel "
2928 "2.5.39, hence is still present in current 2.4 kernels, but not in 2.6 "
2933 #: build/C/man2/nanosleep.2:210
2935 "In Linux 2.4, if B<nanosleep>() is stopped by a signal (e.g., B<SIGTSTP>), "
2936 "then the call fails with the error B<EINTR> after the thread is resumed by a "
2937 "B<SIGCONT> signal. If the system call is subsequently restarted, then the "
2938 "time that the thread spent in the stopped state is I<not> counted against "
2939 "the sleep interval."
2943 #: build/C/man2/nanosleep.2:218
2945 "B<clock_nanosleep>(2), B<restart_syscall>(2), B<sched_setscheduler>(2), "
2946 "B<timer_create>(2), B<sleep>(3), B<usleep>(3), B<time>(7)"
2950 #: build/C/man4/rtc.4:30
2956 #: build/C/man4/rtc.4:33
2957 msgid "rtc - real-time clock"
2961 #: build/C/man4/rtc.4:35
2962 msgid "#include E<lt>linux/rtc.hE<gt>"
2966 #: build/C/man4/rtc.4:37
2967 msgid "B<int ioctl(>I<fd>B<, RTC_>I<request>B<, >I<param>B<);>"
2971 #: build/C/man4/rtc.4:39
2972 msgid "This is the interface to drivers for real-time clocks (RTCs)."
2976 #: build/C/man4/rtc.4:46
2978 "Most computers have one or more hardware clocks which record the current "
2979 "\"wall clock\" time. These are called \"Real Time Clocks\" (RTCs). One of "
2980 "these usually has battery backup power so that it tracks the time even while "
2981 "the computer is turned off. RTCs often provide alarms and other interrupts."
2985 #: build/C/man4/rtc.4:51
2987 "All i386 PCs, and ACPI-based systems, have an RTC that is compatible with "
2988 "the Motorola MC146818 chip on the original PC/AT. Today such an RTC is "
2989 "usually integrated into the mainboard's chipset (south bridge), and uses a "
2990 "replaceable coin-sized backup battery."
2994 #: build/C/man4/rtc.4:55
2996 "Non-PC systems, such as embedded systems built around system-on-chip "
2997 "processors, use other implementations. They usually won't offer the same "
2998 "functionality as the RTC from a PC/AT."
3002 #: build/C/man4/rtc.4:55
3004 msgid "RTC vs system clock"
3008 #: build/C/man4/rtc.4:67
3010 "RTCs should not be confused with the system clock, which is a software clock "
3011 "maintained by the kernel and used to implement B<gettimeofday>(2) and "
3012 "B<time>(2), as well as setting timestamps on files, etc. The system clock "
3013 "reports seconds and microseconds since a start point, defined to be the "
3014 "POSIX Epoch: 1970-01-01 00:00:00 +0000 (UTC). (One common implementation "
3015 "counts timer interrupts, once per \"jiffy\", at a frequency of 100, 250, or "
3016 "1000 Hz.) That is, it is supposed to report wall clock time, which RTCs "
3021 #: build/C/man4/rtc.4:77
3023 "A key difference between an RTC and the system clock is that RTCs run even "
3024 "when the system is in a low power state (including \"off\"), and the system "
3025 "clock can't. Until it is initialized, the system clock can only report time "
3026 "since system boot ... not since the POSIX Epoch. So at boot time, and after "
3027 "resuming from a system low power state, the system clock will often be set "
3028 "to the current wall clock time using an RTC. Systems without an RTC need to "
3029 "set the system clock using another clock, maybe across the network or by "
3030 "entering that data manually."
3034 #: build/C/man4/rtc.4:77
3036 msgid "RTC functionality"
3040 #: build/C/man4/rtc.4:81
3042 "RTCs can be read and written with B<hwclock>(8), or directly with the ioctl "
3043 "requests listed below."
3047 #: build/C/man4/rtc.4:84
3048 msgid "Besides tracking the date and time, many RTCs can also generate interrupts"
3052 #: 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
3058 #: build/C/man4/rtc.4:86
3059 msgid "on every clock update (i.e., once per second);"
3063 #: build/C/man4/rtc.4:89
3065 "at periodic intervals with a frequency that can be set to any power-of-2 "
3066 "multiple in the range 2 Hz to 8192 Hz;"
3070 #: build/C/man4/rtc.4:91
3071 msgid "on reaching a previously specified alarm time."
3075 #: build/C/man4/rtc.4:100
3077 "Each of those interrupt sources can be enabled or disabled separately. On "
3078 "many systems, the alarm interrupt can be configured as a system wakeup "
3079 "event, which can resume the system from a low power state such as "
3080 "Suspend-to-RAM (STR, called S3 in ACPI systems), Hibernation (called S4 in "
3081 "ACPI systems), or even \"off\" (called S5 in ACPI systems). On some "
3082 "systems, the battery backed RTC can't issue interrupts, but another one can."
3086 #: build/C/man4/rtc.4:120
3088 "The I</dev/rtc> (or I</dev/rtc0>, I</dev/rtc1>, etc.) device can be opened "
3089 "only once (until it is closed) and it is read-only. On B<read>(2) and "
3090 "B<select>(2) the calling process is blocked until the next interrupt from "
3091 "that RTC is received. Following the interrupt, the process can read a long "
3092 "integer, of which the least significant byte contains a bit mask encoding "
3093 "the types of interrupt that occurred, while the remaining 3 bytes contain "
3094 "the number of interrupts since the last B<read>(2)."
3098 #: build/C/man4/rtc.4:120
3100 msgid "ioctl(2) interface"
3104 #: build/C/man4/rtc.4:124
3106 "The following B<ioctl>(2) requests are defined on file descriptors "
3107 "connected to RTC devices:"
3111 #: build/C/man4/rtc.4:124
3113 msgid "B<RTC_RD_TIME>"
3117 #: build/C/man4/rtc.4:127
3118 msgid "Returns this RTC's time in the following structure:"
3122 #: build/C/man4/rtc.4:141
3125 "struct rtc_time {\n"
3132 " int tm_wday; /* unused */\n"
3133 " int tm_yday; /* unused */\n"
3134 " int tm_isdst; /* unused */\n"
3139 #: build/C/man4/rtc.4:151
3141 "The fields in this structure have the same meaning and ranges as for the "
3142 "I<tm> structure described in B<gmtime>(3). A pointer to this structure "
3143 "should be passed as the third B<ioctl>(2) argument."
3147 #: build/C/man4/rtc.4:151
3149 msgid "B<RTC_SET_TIME>"
3153 #: build/C/man4/rtc.4:162
3155 "Sets this RTC's time to the time specified by the I<rtc_time> structure "
3156 "pointed to by the third B<ioctl>(2) argument. To set the RTC's time the "
3157 "process must be privileged (i.e., have the B<CAP_SYS_TIME> capability)."
3161 #: build/C/man4/rtc.4:162
3163 msgid "B<RTC_ALM_READ>, B<RTC_ALM_SET>"
3167 #: build/C/man4/rtc.4:179
3169 "Read and set the alarm time, for RTCs that support alarms. The alarm "
3170 "interrupt must be separately enabled or disabled using the B<RTC_AIE_ON>, "
3171 "B<RTC_AIE_OFF> requests. The third B<ioctl>(2) argument is a pointer to an "
3172 "I<rtc_time> structure. Only the I<tm_sec>, I<tm_min>, and I<tm_hour> fields "
3173 "of this structure are used."
3177 #: build/C/man4/rtc.4:179
3179 msgid "B<RTC_IRQP_READ>, B<RTC_IRQP_SET>"
3183 #: build/C/man4/rtc.4:201
3185 "Read and set the frequency for periodic interrupts, for RTCs that support "
3186 "periodic interrupts. The periodic interrupt must be separately enabled or "
3187 "disabled using the B<RTC_PIE_ON>, B<RTC_PIE_OFF> requests. The third "
3188 "B<ioctl>(2) argument is an I<unsigned long\\ *> or an I<unsigned long>, "
3189 "respectively. The value is the frequency in interrupts per second. The set "
3190 "of allowable frequencies is the multiples of two in the range 2 to 8192. "
3191 "Only a privileged process (i.e., one having the B<CAP_SYS_RESOURCE> "
3192 "capability) can set frequencies above the value specified in "
3193 "I</proc/sys/dev/rtc/max-user-freq>. (This file contains the value 64 by "
3198 #: build/C/man4/rtc.4:201
3200 msgid "B<RTC_AIE_ON>, B<RTC_AIE_OFF>"
3204 #: build/C/man4/rtc.4:207
3206 "Enable or disable the alarm interrupt, for RTCs that support alarms. The "
3207 "third B<ioctl>(2) argument is ignored."
3211 #: build/C/man4/rtc.4:207
3213 msgid "B<RTC_UIE_ON>, B<RTC_UIE_OFF>"
3217 #: build/C/man4/rtc.4:214
3219 "Enable or disable the interrupt on every clock update, for RTCs that support "
3220 "this once-per-second interrupt. The third B<ioctl>(2) argument is ignored."
3224 #: build/C/man4/rtc.4:214
3226 msgid "B<RTC_PIE_ON>, B<RTC_PIE_OFF>"
3230 #: build/C/man4/rtc.4:226
3232 "Enable or disable the periodic interrupt, for RTCs that support these "
3233 "periodic interrupts. The third B<ioctl>(2) argument is ignored. Only a "
3234 "privileged process (i.e., one having the B<CAP_SYS_RESOURCE> capability) can "
3235 "enable the periodic interrupt if the frequency is currently set above the "
3236 "value specified in I</proc/sys/dev/rtc/max-user-freq>."
3240 #: build/C/man4/rtc.4:226
3242 msgid "B<RTC_EPOCH_READ>, B<RTC_EPOCH_SET>"
3246 #: build/C/man4/rtc.4:249
3248 "Many RTCs encode the year in an 8-bit register which is either interpreted "
3249 "as an 8-bit binary number or as a BCD number. In both cases, the number is "
3250 "interpreted relative to this RTC's Epoch. The RTC's Epoch is initialized to "
3251 "1900 on most systems but on Alpha and MIPS it might also be initialized to "
3252 "1952, 1980, or 2000, depending on the value of an RTC register for the "
3253 "year. With some RTCs, these operations can be used to read or to set the "
3254 "RTC's Epoch, respectively. The third B<ioctl>(2) argument is a I<unsigned "
3255 "long\\ *> or a I<unsigned long>, respectively, and the value returned (or "
3256 "assigned) is the Epoch. To set the RTC's Epoch the process must be "
3257 "privileged (i.e., have the B<CAP_SYS_TIME> capability)."
3261 #: build/C/man4/rtc.4:249
3263 msgid "B<RTC_WKALM_RD>, B<RTC_WKALM_SET>"
3267 #: build/C/man4/rtc.4:253
3269 "Some RTCs support a more powerful alarm interface, using these ioctls to "
3270 "read or write the RTC's alarm time (respectively) with this structure:"
3274 #: build/C/man4/rtc.4:262
3277 "struct rtc_wkalrm {\n"
3278 " unsigned char enabled;\n"
3279 " unsigned char pending;\n"
3280 " struct rtc_time time;\n"
3285 #: build/C/man4/rtc.4:294
3287 "The I<enabled> flag is used to enable or disable the alarm interrupt, or to "
3288 "read its current status; when using these calls, B<RTC_AIE_ON> and "
3289 "B<RTC_AIE_OFF> are not used. The I<pending> flag is used by B<RTC_WKALM_RD> "
3290 "to report a pending interrupt (so it's mostly useless on Linux, except when "
3291 "talking to the RTC managed by EFI firmware). The I<time> field is as used "
3292 "with B<RTC_ALM_READ> and B<RTC_ALM_SET> except that the I<tm_mday>, "
3293 "I<tm_mon>, and I<tm_year> fields are also valid. A pointer to this "
3294 "structure should be passed as the third B<ioctl>(2) argument."
3298 #: build/C/man4/rtc.4:294 build/C/man8/tzselect.8:35 build/C/man3/tzset.3:192 build/C/man8/zic.8:410
3304 #: build/C/man4/rtc.4:299
3306 "I</dev/rtc>, I</dev/rtc0>, I</dev/rtc1>, etc: RTC special character device "
3311 #: build/C/man4/rtc.4:302
3312 msgid "I</proc/driver/rtc>: status of the (first) RTC."
3316 #: build/C/man4/rtc.4:309
3318 "When the kernel's system time is synchronized with an external reference "
3319 "using B<adjtimex>(2) it will update a designated RTC periodically every 11 "
3320 "minutes. To do so, the kernel has to briefly turn off periodic interrupts; "
3321 "this might affect programs using that RTC."
3325 #: build/C/man4/rtc.4:312
3327 "An RTC's Epoch has nothing to do with the POSIX Epoch which is used only for "
3332 #: build/C/man4/rtc.4:316
3334 "If the year according to the RTC's Epoch and the year register is less than "
3335 "1970 it is assumed to be 100 years later, that is, between 2000 and 2069."
3339 #: build/C/man4/rtc.4:323
3341 "Some RTCs support \"wildcard\" values in alarm fields, to support scenarios "
3342 "like periodic alarms at fifteen minutes after every hour, or on the first "
3343 "day of each month. Such usage is nonportable; portable user-space code only "
3344 "expects a single alarm interrupt, and will either disable or reinitialize "
3345 "the alarm after receiving it."
3349 #: build/C/man4/rtc.4:331
3351 "Some RTCs support periodic interrupts with periods that are multiples of a "
3352 "second rather than fractions of a second; multiple alarms; programmable "
3353 "output clock signals; nonvolatile memory; and other hardware capabilities "
3354 "that are not currently exposed by this API."
3358 #: build/C/man4/rtc.4:341
3360 "B<date>(1), B<adjtimex>(2), B<gettimeofday>(2), B<settimeofday>(2), "
3361 "B<stime>(2), B<time>(2), B<gmtime>(3), B<time>(7), B<hwclock>(8)"
3365 #: build/C/man4/rtc.4:344
3366 msgid "I<Documentation/rtc.txt> in the Linux kernel source tree"
3370 #: build/C/man2/stime.2:30
3376 #: build/C/man2/stime.2:33
3377 msgid "stime - set time"
3381 #: build/C/man2/stime.2:37
3382 msgid "B<int stime(time_t *>I<t>B<);>"
3386 #: build/C/man2/stime.2:45
3387 msgid "B<stime>(): _SVID_SOURCE"
3391 #: build/C/man2/stime.2:53
3393 "B<stime>() sets the system's idea of the time and date. The time, pointed "
3394 "to by I<t>, is measured in seconds since the Epoch, 1970-01-01 00:00:00 "
3395 "+0000 (UTC). B<stime>() may be executed only by the superuser."
3399 #: build/C/man2/stime.2:62
3400 msgid "Error in getting information from user space."
3404 #: build/C/man2/stime.2:68
3406 "The calling process has insufficient privilege. Under Linux the "
3407 "B<CAP_SYS_TIME> privilege is required."
3411 #: build/C/man2/stime.2:70
3416 #: build/C/man2/stime.2:74
3417 msgid "B<date>(1), B<settimeofday>(2), B<capabilities>(7)"
3421 #: build/C/man3/strftime.3:37
3427 #: build/C/man3/strftime.3:37
3433 #: build/C/man3/strftime.3:40
3434 msgid "strftime - format date and time"
3438 #: build/C/man3/strftime.3:46
3441 "B<size_t strftime(char *>I<s>B<, size_t >I<max>B<, const char "
3443 "B< const struct tm *>I<tm>B<);>\n"
3446 #. FIXME POSIX says: Local timezone information is used as though
3447 #. strftime() called tzset(). But this doesn't appear to be the case
3449 #: build/C/man3/strftime.3:61
3451 "The B<strftime>() function formats the broken-down time I<tm> according to "
3452 "the format specification I<format> and places the result in the character "
3453 "array I<s> of size I<max>."
3457 #: build/C/man3/strftime.3:70
3459 "The format specification is a null-terminated string and may contain special "
3460 "character sequences called I<conversion specifications>, each of which is "
3461 "introduced by a \\(aq%\\(aq character and terminated by some other character "
3462 "known as a I<conversion specifier character>. All other character sequences "
3463 "are I<ordinary character sequences>."
3467 #: build/C/man3/strftime.3:78
3469 "The characters of ordinary character sequences (including the null byte) "
3470 "are copied verbatim from I<format> to I<s>. However, the characters of "
3471 "conversion specifications are replaced as follows:"
3475 #: build/C/man3/strftime.3:78
3481 #: build/C/man3/strftime.3:81
3482 msgid "The abbreviated weekday name according to the current locale."
3486 #: build/C/man3/strftime.3:81
3492 #: build/C/man3/strftime.3:84
3493 msgid "The full weekday name according to the current locale."
3497 #: build/C/man3/strftime.3:84
3503 #: build/C/man3/strftime.3:87
3504 msgid "The abbreviated month name according to the current locale."
3508 #: build/C/man3/strftime.3:87
3514 #: build/C/man3/strftime.3:90
3515 msgid "The full month name according to the current locale."
3519 #: build/C/man3/strftime.3:90 build/C/man3/strptime.3:98 build/C/man1/time.1:193
3525 #: build/C/man3/strftime.3:93
3526 msgid "The preferred date and time representation for the current locale."
3530 #: build/C/man3/strftime.3:93 build/C/man3/strptime.3:101 build/C/man1/time.1:218
3536 #: build/C/man3/strftime.3:96
3537 msgid "The century number (year/100) as a 2-digit integer. (SU)"
3541 #: build/C/man3/strftime.3:96
3547 #: build/C/man3/strftime.3:99
3548 msgid "The day of the month as a decimal number (range 01 to 31)."
3552 #: build/C/man3/strftime.3:99 build/C/man3/strptime.3:107 build/C/man1/time.1:166
3558 #: build/C/man3/strftime.3:109
3560 "Equivalent to B<%m/%d/%y>. (Yecch\\(emfor Americans only. Americans should "
3561 "note that in other countries B<%d/%m/%y> is rather common. This means that "
3562 "in international context this format is ambiguous and should not be used.) "
3567 #: build/C/man3/strftime.3:109 build/C/man1/time.1:142
3573 #: build/C/man3/strftime.3:115
3575 "Like B<%d>, the day of the month as a decimal number, but a leading zero is "
3576 "replaced by a space. (SU)"
3580 #: build/C/man3/strftime.3:115 build/C/man1/time.1:139
3586 #: build/C/man3/strftime.3:118 build/C/man3/strftime.3:177
3587 msgid "Modifier: use alternative format, see below. (SU)"
3591 #: build/C/man3/strftime.3:118 build/C/man3/strptime.3:344 build/C/man1/time.1:179
3597 #: build/C/man3/strftime.3:123
3598 msgid "Equivalent to B<%Y-%m-%d> (the ISO\\ 8601 date format). (C99)"
3602 #: build/C/man3/strftime.3:123 build/C/man3/strptime.3:353
3608 #: build/C/man3/strftime.3:132
3610 "The ISO\\ 8601 week-based year (see NOTES) with century as a decimal "
3611 "number. The 4-digit year corresponding to the ISO week number (see B<%V>). "
3612 "This has the same format and value as B<%Y>, except that if the ISO week "
3613 "number belongs to the previous or next year, that year is used instead. (TZ)"
3617 #: build/C/man3/strftime.3:132 build/C/man3/strptime.3:349
3623 #: build/C/man3/strftime.3:137
3624 msgid "Like B<%G>, but without century, that is, with a 2-digit year (00-99). (TZ)"
3628 #: build/C/man3/strftime.3:137
3634 #: build/C/man3/strftime.3:142
3635 msgid "Equivalent to B<%b>. (SU)"
3639 #: build/C/man3/strftime.3:142 build/C/man3/strptime.3:117
3645 #: build/C/man3/strftime.3:145
3646 msgid "The hour as a decimal number using a 24-hour clock (range 00 to 23)."
3650 #: build/C/man3/strftime.3:145 build/C/man3/strptime.3:120 build/C/man1/time.1:203
3656 #: build/C/man3/strftime.3:148
3657 msgid "The hour as a decimal number using a 12-hour clock (range 01 to 12)."
3661 #: build/C/man3/strftime.3:148 build/C/man3/strptime.3:123
3667 #: build/C/man3/strftime.3:151
3668 msgid "The day of the year as a decimal number (range 001 to 366)."
3672 #: build/C/man3/strftime.3:151 build/C/man1/time.1:215
3678 #: build/C/man3/strftime.3:158
3680 "The hour (24-hour clock) as a decimal number (range 0 to 23); single digits "
3681 "are preceded by a blank. (See also B<%H>.) (TZ)"
3685 #: build/C/man3/strftime.3:158
3691 #: build/C/man3/strftime.3:165
3693 "The hour (12-hour clock) as a decimal number (range 1 to 12); single digits "
3694 "are preceded by a blank. (See also B<%I>.) (TZ)"
3698 #: build/C/man3/strftime.3:165 build/C/man3/strptime.3:126
3704 #: build/C/man3/strftime.3:168
3705 msgid "The month as a decimal number (range 01 to 12)."
3709 #: build/C/man3/strftime.3:168 build/C/man3/strptime.3:129 build/C/man1/time.1:156
3715 #: build/C/man3/strftime.3:171
3716 msgid "The minute as a decimal number (range 00 to 59)."
3720 #: build/C/man3/strftime.3:171 build/C/man3/strptime.3:132
3726 #: build/C/man3/strftime.3:174
3727 msgid "A newline character. (SU)"
3731 #: build/C/man3/strftime.3:174 build/C/man1/time.1:206
3737 #: build/C/man3/strftime.3:177 build/C/man3/strptime.3:135 build/C/man1/time.1:169
3743 #: build/C/man3/strftime.3:182
3745 "Either \"AM\" or \"PM\" according to the given time value, or the "
3746 "corresponding strings for the current locale. Noon is treated as \"PM\" and "
3747 "midnight as \"AM\"."
3751 #: build/C/man3/strftime.3:182 build/C/man1/time.1:151
3757 #: build/C/man3/strftime.3:188
3759 "Like B<%p> but in lowercase: \"am\" or \"pm\" or a corresponding string for "
3760 "the current locale. (GNU)"
3764 #: build/C/man3/strftime.3:188 build/C/man3/strptime.3:139 build/C/man1/time.1:209
3770 #: build/C/man3/strftime.3:194
3772 "The time in a.m. or p.m. notation. In the POSIX locale this is equivalent "
3773 "to B<%I:%M:%S %p>. (SU)"
3777 #: build/C/man3/strftime.3:194 build/C/man3/strptime.3:150 build/C/man1/time.1:183
3783 #: build/C/man3/strftime.3:202
3785 "The time in 24-hour notation (B<%H:%M>). (SU) For a version including the "
3786 "seconds, see B<%T> below."
3790 #: build/C/man3/strftime.3:202 build/C/man3/strptime.3:389 build/C/man1/time.1:212
3796 #: build/C/man3/strftime.3:205
3797 msgid "The number of seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC). (TZ)"
3801 #: build/C/man3/strftime.3:205 build/C/man3/strptime.3:154 build/C/man1/time.1:145
3807 #: build/C/man3/strftime.3:209
3809 "The second as a decimal number (range 00 to 60). (The range is up to 60 to "
3810 "allow for occasional leap seconds.)"
3814 #: build/C/man3/strftime.3:209 build/C/man3/strptime.3:158 build/C/man1/time.1:159
3820 #: build/C/man3/strftime.3:212
3821 msgid "A tab character. (SU)"
3825 #: build/C/man3/strftime.3:212 build/C/man3/strptime.3:161
3831 #: build/C/man3/strftime.3:217
3832 msgid "The time in 24-hour notation (B<%H:%M:%S>). (SU)"
3836 #: build/C/man3/strftime.3:217 build/C/man3/strptime.3:357
3842 #: build/C/man3/strftime.3:223
3844 "The day of the week as a decimal, range 1 to 7, Monday being 1. See also "
3849 #: build/C/man3/strftime.3:223 build/C/man3/strptime.3:165 build/C/man1/time.1:148
3855 #: build/C/man3/strftime.3:232
3857 "The week number of the current year as a decimal number, range 00 to 53, "
3858 "starting with the first Sunday as the first day of week 01. See also B<%V> "
3863 #: build/C/man3/strftime.3:232 build/C/man3/strptime.3:360
3869 #: build/C/man3/strftime.3:242
3871 "The ISO\\ 8601 week number (see NOTES) of the current year as a decimal "
3872 "number, range 01 to 53, where week 1 is the first week that has at least 4 "
3873 "days in the new year. See also B<%U> and B<%W>. (SU)"
3877 #: build/C/man3/strftime.3:242 build/C/man3/strptime.3:169 build/C/man1/time.1:197
3883 #: build/C/man3/strftime.3:247
3885 "The day of the week as a decimal, range 0 to 6, Sunday being 0. See also "
3890 #: build/C/man3/strftime.3:247 build/C/man3/strptime.3:172 build/C/man1/time.1:190
3896 #: build/C/man3/strftime.3:251
3898 "The week number of the current year as a decimal number, range 00 to 53, "
3899 "starting with the first Monday as the first day of week 01."
3903 #: build/C/man3/strftime.3:251 build/C/man3/strptime.3:176 build/C/man1/time.1:221
3909 #: build/C/man3/strftime.3:254
3910 msgid "The preferred date representation for the current locale without the time."
3914 #: build/C/man3/strftime.3:254 build/C/man3/strptime.3:179 build/C/man1/time.1:172
3920 #: build/C/man3/strftime.3:257
3921 msgid "The preferred time representation for the current locale without the date."
3925 #: build/C/man3/strftime.3:257 build/C/man3/strptime.3:182
3931 #: build/C/man3/strftime.3:260
3932 msgid "The year as a decimal number without a century (range 00 to 99)."
3936 #: build/C/man3/strftime.3:260 build/C/man3/strptime.3:188
3942 #: build/C/man3/strftime.3:263
3943 msgid "The year as a decimal number including the century."
3947 #: build/C/man3/strftime.3:263 build/C/man3/strptime.3:367
3953 #: build/C/man3/strftime.3:270
3955 "The I<+hhmm> or I<-hhmm> numeric timezone (that is, the hour and minute "
3956 "offset from UTC). (SU)"
3960 #: build/C/man3/strftime.3:273
3961 msgid "The timezone name or abbreviation."
3965 #: build/C/man3/strftime.3:273
3970 #. Nov 05 -- Not in Linux/glibc, but is in some BSDs (according to
3973 #: build/C/man3/strftime.3:281
3974 msgid "The date and time in B<date>(1) format. (TZ) (Not supported in glibc2.)"
3978 #: build/C/man3/strftime.3:281 build/C/man3/strptime.3:85
3984 #: build/C/man3/strftime.3:284
3985 msgid "A literal \\(aq%\\(aq character."
3989 #: build/C/man3/strftime.3:320
3991 "Some conversion specifications can be modified by preceding the conversion "
3992 "specifier character by the B<E> or B<O> I<modifier> to indicate that an "
3993 "alternative format should be used. If the alternative format or "
3994 "specification does not exist for the current locale, the behavior will be as "
3995 "if the unmodified conversion specification were used. (SU) The Single UNIX "
3996 "Specification mentions B<%Ec>, B<%EC>, B<%Ex>, B<%EX>, B<%Ey>, B<%EY>, "
3997 "B<%Od>, B<%Oe>, B<%OH>, B<%OI>, B<%Om>, B<%OM>, B<%OS>, B<%Ou>, B<%OU>, "
3998 "B<%OV>, B<%Ow>, B<%OW>, B<%Oy>, where the effect of the B<O> modifier is to "
3999 "use alternative numeric symbols (say, roman numerals), and that of the E "
4000 "modifier is to use a locale-dependent alternative representation."
4004 #: build/C/man3/strftime.3:327
4006 "The broken-down time structure I<tm> is defined in I<E<lt>time.hE<gt>>. See "
4011 #: build/C/man3/strftime.3:347
4013 "Provided that the result string, including the terminating null byte, does "
4014 "not exceed I<max> bytes, B<strftime>() returns the number of bytes "
4015 "(excluding the terminating null byte) placed in the array I<s>. If the "
4016 "length of the result string (including the terminating null byte) would "
4017 "exceed I<max> bytes, then B<strftime>() returns 0, and the contents of the "
4018 "array are undefined. (This behavior applies since at least libc 4.4.4; very "
4019 "old versions of libc, such as libc 4.4.1, would return I<max> if the array "
4024 #: build/C/man3/strftime.3:355
4026 "Note that the return value 0 does not necessarily indicate an error. For "
4027 "example, in many locales B<%p> yields an empty string. An empty I<format> "
4028 "string will likewise yield an empty string."
4032 #: build/C/man3/strftime.3:361
4033 msgid "The environment variables B<TZ> and B<LC_TIME> are used."
4037 #: build/C/man3/strftime.3:378
4039 "SVr4, C89, C99. There are strict inclusions between the set of conversions "
4040 "given in ANSI C (unmarked), those given in the Single UNIX Specification "
4041 "(marked SU), those given in Olson's timezone package (marked TZ), and those "
4042 "given in glibc (marked GNU), except that B<%+> is not supported in glibc2. "
4043 "On the other hand glibc2 has several more extensions. POSIX.1 only refers "
4044 "to ANSI C; POSIX.2 describes under B<date>(1) several extensions that could "
4045 "apply to B<strftime>() as well. The B<%F> conversion is in C99 and "
4050 #: build/C/man3/strftime.3:385
4052 "In SUSv2, the B<%S> specifier allowed a range of 00 to 61, to allow for the "
4053 "theoretical possibility of a minute that included a double leap second "
4054 "(there never has been such a minute)."
4058 #: build/C/man3/strftime.3:386
4060 msgid "ISO 8601 week dates"
4064 #: build/C/man3/strftime.3:411
4066 "B<%G>, B<%g>, and B<%V> yield values calculated from the week-based year "
4067 "defined by the ISO\\ 8601 standard. In this system, weeks start on a "
4068 "Monday, and are numbered from 01, for the first week, up to 52 or 53, for "
4069 "the last week. Week 1 is the first week where four or more days fall within "
4070 "the new year (or, synonymously, week 01 is: the first week of the year that "
4071 "contains a Thursday; or, the week that has 4 January in it). When three of "
4072 "fewer days of the first calendar week of the new year fall within that year, "
4073 "then the ISO 8601 week-based system counts those days as part of week 53 of "
4074 "the preceding year. For example, 1 January 2010 is a Friday, meaning that "
4075 "just three days of that calendar week fall in 2010. Thus, the ISO\\ 8601 "
4076 "week-based system considers these days to be part of week 53 (B<%V>) of the "
4077 "year 2009 (B<%G>); week 01 of ISO\\ 8601 year 2010 starts on Monday, 4 "
4082 #: build/C/man3/strftime.3:411 build/C/man3/strptime.3:335
4087 #. HP-UX and Tru64 also have features like this.
4089 #: build/C/man3/strftime.3:427
4091 "Glibc provides some extensions for conversion specifications. (These "
4092 "extensions are not specified in POSIX.1-2001, but a few other systems "
4093 "provide similar features.) Between the \\(aq%\\(aq character and the "
4094 "conversion specifier character, an optional I<flag> and field I<width> may "
4095 "be specified. (These precede the B<E> or B<O> modifiers, if present.)"
4099 #: build/C/man3/strftime.3:429
4100 msgid "The following flag characters are permitted:"
4104 #: build/C/man3/strftime.3:429
4110 #: build/C/man3/strftime.3:433
4111 msgid "(underscore) Pad a numeric result string with spaces."
4115 #: build/C/man3/strftime.3:433
4121 #: build/C/man3/strftime.3:437
4122 msgid "(dash) Do not pad a numeric result string."
4126 #: build/C/man3/strftime.3:437
4132 #: build/C/man3/strftime.3:441
4134 "Pad a numeric result string with zeros even if the conversion specifier "
4135 "character uses space-padding by default."
4139 #: build/C/man3/strftime.3:441
4145 #: build/C/man3/strftime.3:444
4146 msgid "Convert alphabetic characters in result string to upper case."
4150 #: build/C/man3/strftime.3:444
4156 #: build/C/man3/strftime.3:450
4158 "Swap the case of the result string. (This flag works only with certain "
4159 "conversion specifier characters, and of these, it is only really useful with "
4164 #: build/C/man3/strftime.3:454
4166 "An optional decimal width specifier may follow the (possibly absent) flag. "
4167 "If the natural size of the field is smaller than this width, then the result "
4168 "string is padded (on the left) to the specified width."
4172 #: build/C/man3/strftime.3:472
4174 "If the output string would exceed I<max> bytes, I<errno> is I<not> set. "
4175 "This makes it impossible to distinguish this error case from cases where the "
4176 "I<format> string legitimately produces a zero-length output string. "
4177 "POSIX.1-2001 does I<not> specify any I<errno> settings for B<strftime>()."
4181 #: build/C/man3/strftime.3:487
4183 "Some buggy versions of B<gcc>(1) complain about the use of B<%c>: "
4184 "I<warning: `%c' yields only last 2 digits of year in some locales>. Of "
4185 "course programmers are encouraged to use B<%c>, it gives the preferred date "
4186 "and time representation. One meets all kinds of strange obfuscations to "
4187 "circumvent this B<gcc>(1) problem. A relatively clean one is to add an "
4188 "intermediate function"
4192 #: build/C/man3/strftime.3:496
4196 "my_strftime(char *s, size_t max, const char *fmt,\n"
4197 " const struct tm *tm)\n"
4199 " return strftime(s, max, fmt, tm);\n"
4204 #: build/C/man3/strftime.3:505
4206 "Nowadays, B<gcc>(1) provides the I<-Wno-format-y2k> option to prevent the "
4207 "warning, so that the above workaround is no longer required."
4211 #: build/C/man3/strftime.3:508
4212 msgid "B<RFC\\ 2822-compliant date format> (with an English locale for %a and %b)"
4216 #: build/C/man3/strftime.3:511
4217 msgid "%a,\\ %d\\ %b\\ %Y\\ %T\\ %z"
4221 #: build/C/man3/strftime.3:514
4222 msgid "B<RFC\\ 822-compliant date format> (with an English locale for %a and %b)"
4226 #: build/C/man3/strftime.3:517
4227 msgid "%a,\\ %d\\ %b\\ %y\\ %T\\ %z"
4231 #: build/C/man3/strftime.3:517
4233 msgid "Example program"
4237 #: build/C/man3/strftime.3:520
4238 msgid "The program below can be used to experiment with B<strftime>()."
4242 #: build/C/man3/strftime.3:524
4244 "Some examples of the result string produced by the glibc implementation of "
4245 "B<strftime>() are as follows:"
4249 #: build/C/man3/strftime.3:533
4252 "$B< ./a.out \\(aq%m\\(aq>\n"
4253 "Result string is \"11\"\n"
4254 "$B< ./a.out \\(aq%5m\\(aq>\n"
4255 "Result string is \"00011\"\n"
4256 "$B< ./a.out \\(aq%_5m\\(aq>\n"
4257 "Result string is \" 11\"\n"
4261 #: build/C/man3/strftime.3:537
4262 msgid "Here's the program source:"
4266 #: build/C/man3/strftime.3:542
4269 "#include E<lt>time.hE<gt>\n"
4270 "#include E<lt>stdio.hE<gt>\n"
4271 "#include E<lt>stdlib.hE<gt>\n"
4275 #: build/C/man3/strftime.3:549
4279 "main(int argc, char *argv[])\n"
4281 " char outstr[200];\n"
4283 " struct tm *tmp;\n"
4287 #: build/C/man3/strftime.3:556
4290 " t = time(NULL);\n"
4291 " tmp = localtime(&t);\n"
4292 " if (tmp == NULL) {\n"
4293 " perror(\"localtime\");\n"
4294 " exit(EXIT_FAILURE);\n"
4299 #: build/C/man3/strftime.3:561
4302 " if (strftime(outstr, sizeof(outstr), argv[1], tmp) == 0) {\n"
4303 " fprintf(stderr, \"strftime returned 0\");\n"
4304 " exit(EXIT_FAILURE);\n"
4309 #: build/C/man3/strftime.3:565
4312 " printf(\"Result string is \\e\"%s\\e\"\\en\", outstr);\n"
4313 " exit(EXIT_SUCCESS);\n"
4318 #: build/C/man3/strftime.3:573
4320 "B<date>(1), B<time>(2), B<ctime>(3), B<setlocale>(3), B<sprintf>(3), "
4325 #: build/C/man3/strptime.3:31
4331 #: build/C/man3/strptime.3:31
4337 #: build/C/man3/strptime.3:34
4338 msgid "strptime - convert a string representation of time to a time tm structure"
4342 #: build/C/man3/strptime.3:36
4343 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
4347 #: build/C/man3/strptime.3:41
4349 "B<char *strptime(const char *>I<s>B<, const char *>I<format>B<,> B<struct tm "
4354 #: build/C/man3/strptime.3:70
4356 "The B<strptime>() function is the converse function to B<strftime>(3) and "
4357 "converts the character string pointed to by I<s> to values which are stored "
4358 "in the I<tm> structure pointed to by I<tm>, using the format specified by "
4359 "I<format>. Here I<format> is a character string that consists of field "
4360 "descriptors and text characters, reminiscent of B<scanf>(3). Each field "
4361 "descriptor consists of a B<%> character followed by another character that "
4362 "specifies the replacement for the field descriptor. All other characters in "
4363 "the I<format> string must have a matching character in the input string, "
4364 "except for whitespace, which matches zero or more whitespace characters in "
4365 "the input string. There should be white\\%space or other alphanumeric "
4366 "characters between any two field descriptors."
4370 #: build/C/man3/strptime.3:79
4372 "The B<strptime>() function processes the input string from left to right. "
4373 "Each of the three possible input elements (whitespace, literal, or format) "
4374 "are handled one after the other. If the input cannot be matched to the "
4375 "format string the function stops. The remainder of the format and input "
4376 "strings are not processed."
4380 #: build/C/man3/strptime.3:85
4382 "The supported input field descriptors are listed below. In case a text "
4383 "string (such as a weekday or month name) is to be matched, the comparison "
4384 "is case insensitive. In case a number is to be matched, leading zeros are "
4385 "permitted but not required."
4389 #: build/C/man3/strptime.3:90
4390 msgid "The B<%> character."
4394 #: build/C/man3/strptime.3:90
4396 msgid "B<%a> or B<%A>"
4400 #: build/C/man3/strptime.3:94
4402 "The weekday name according to the current locale, in abbreviated form or the "
4407 #: build/C/man3/strptime.3:94
4409 msgid "B<%b> or B<%B> or B<%h>"
4413 #: build/C/man3/strptime.3:98
4415 "The month name according to the current locale, in abbreviated form or the "
4420 #: build/C/man3/strptime.3:101
4421 msgid "The date and time representation for the current locale."
4425 #: build/C/man3/strptime.3:104
4426 msgid "The century number (0-99)."
4430 #: build/C/man3/strptime.3:104
4432 msgid "B<%d> or B<%e>"
4436 #: build/C/man3/strptime.3:107
4437 msgid "The day of month (1-31)."
4441 #: build/C/man3/strptime.3:117
4443 "Equivalent to B<%m/%d/%y>. (This is the American style date, very confusing "
4444 "to non-Americans, especially since B<%d/%m/%y> is widely used in Europe. "
4445 "The ISO 8601 standard format is B<%Y-%m-%d>.)"
4449 #: build/C/man3/strptime.3:120
4450 msgid "The hour (0-23)."
4454 #: build/C/man3/strptime.3:123
4455 msgid "The hour on a 12-hour clock (1-12)."
4459 #: build/C/man3/strptime.3:126
4460 msgid "The day number in the year (1-366)."
4464 #: build/C/man3/strptime.3:129
4465 msgid "The month number (1-12)."
4469 #: build/C/man3/strptime.3:132
4470 msgid "The minute (0-59)."
4474 #: build/C/man3/strptime.3:135 build/C/man3/strptime.3:161
4475 msgid "Arbitrary whitespace."
4479 #: build/C/man3/strptime.3:139
4480 msgid "The locale's equivalent of AM or PM. (Note: there may be none.)"
4484 #: build/C/man3/strptime.3:150
4486 "The 12-hour clock time (using the locale's AM or PM). In the POSIX locale "
4487 "equivalent to B<%I:%M:%S %p>. If I<t_fmt_ampm> is empty in the B<LC_TIME> "
4488 "part of the current locale then the behavior is undefined."
4492 #: build/C/man3/strptime.3:154
4493 msgid "Equivalent to B<%H:%M>."
4497 #: build/C/man3/strptime.3:158
4499 "The second (0-60; 60 may occur for leap seconds; earlier also 61 was "
4504 #: build/C/man3/strptime.3:165
4505 msgid "Equivalent to B<%H:%M:%S>."
4509 #: build/C/man3/strptime.3:169
4511 "The week number with Sunday the first day of the week (0-53). The first "
4512 "Sunday of January is the first day of week 1."
4516 #: build/C/man3/strptime.3:172
4517 msgid "The weekday number (0-6) with Sunday = 0."
4521 #: build/C/man3/strptime.3:176
4523 "The week number with Monday the first day of the week (0-53). The first "
4524 "Monday of January is the first day of week 1."
4528 #: build/C/man3/strptime.3:179
4529 msgid "The date, using the locale's date format."
4533 #: build/C/man3/strptime.3:182
4534 msgid "The time, using the locale's time format."
4538 #: build/C/man3/strptime.3:188
4540 "The year within century (0-99). When a century is not otherwise specified, "
4541 "values in the range 69-99 refer to years in the twentieth century "
4542 "(1969-1999); values in the range 00-68 refer to years in the twenty-first "
4543 "century (2000-2068)."
4547 #: build/C/man3/strptime.3:191
4548 msgid "The year, including century (for example, 1991)."
4552 #: build/C/man3/strptime.3:197
4554 "Some field descriptors can be modified by the E or O modifier characters to "
4555 "indicate that an alternative format or specification should be used. If the "
4556 "alternative format or specification does not exist in the current locale, "
4557 "the unmodified field descriptor is used."
4561 #: build/C/man3/strptime.3:200
4563 "The E modifier specifies that the input string may contain alternative "
4564 "locale-dependent versions of the date and time representation:"
4568 #: build/C/man3/strptime.3:200
4574 #: build/C/man3/strptime.3:203
4575 msgid "The locale's alternative date and time representation."
4579 #: build/C/man3/strptime.3:203
4585 #: build/C/man3/strptime.3:206
4587 "The name of the base year (period) in the locale's alternative "
4592 #: build/C/man3/strptime.3:206
4598 #: build/C/man3/strptime.3:209
4599 msgid "The locale's alternative date representation."
4603 #: build/C/man3/strptime.3:209
4609 #: build/C/man3/strptime.3:212
4610 msgid "The locale's alternative time representation."
4614 #: build/C/man3/strptime.3:212
4620 #: build/C/man3/strptime.3:217
4622 "The offset from B<%EC> (year only) in the locale's alternative "
4627 #: build/C/man3/strptime.3:217
4633 #: build/C/man3/strptime.3:220
4634 msgid "The full alternative year representation."
4638 #: build/C/man3/strptime.3:223
4640 "The O modifier specifies that the numerical input may be in an alternative "
4641 "locale-dependent format:"
4645 #: build/C/man3/strptime.3:223
4647 msgid "B<%Od> or B<%Oe>"
4651 #: build/C/man3/strptime.3:227
4653 "The day of the month using the locale's alternative numeric symbols; leading "
4654 "zeros are permitted but not required."
4658 #: build/C/man3/strptime.3:227
4664 #: build/C/man3/strptime.3:230
4665 msgid "The hour (24-hour clock) using the locale's alternative numeric symbols."
4669 #: build/C/man3/strptime.3:230
4675 #: build/C/man3/strptime.3:233
4676 msgid "The hour (12-hour clock) using the locale's alternative numeric symbols."
4680 #: build/C/man3/strptime.3:233
4686 #: build/C/man3/strptime.3:236
4687 msgid "The month using the locale's alternative numeric symbols."
4691 #: build/C/man3/strptime.3:236
4697 #: build/C/man3/strptime.3:239
4698 msgid "The minutes using the locale's alternative numeric symbols."
4702 #: build/C/man3/strptime.3:239
4708 #: build/C/man3/strptime.3:242
4709 msgid "The seconds using the locale's alternative numeric symbols."
4713 #: build/C/man3/strptime.3:242
4719 #: build/C/man3/strptime.3:246
4721 "The week number of the year (Sunday as the first day of the week) using the "
4722 "locale's alternative numeric symbols."
4726 #: build/C/man3/strptime.3:246
4732 #: build/C/man3/strptime.3:250
4734 "The number of the weekday (Sunday=0) using the locale's alternative numeric "
4739 #: build/C/man3/strptime.3:250
4745 #: build/C/man3/strptime.3:254
4747 "The week number of the year (Monday as the first day of the week) using the "
4748 "locale's alternative numeric symbols."
4752 #: build/C/man3/strptime.3:254
4758 #: build/C/man3/strptime.3:259
4760 "The year (offset from B<%C>) using the locale's alternative numeric "
4765 #: build/C/man3/strptime.3:265
4767 "The broken-down time structure I<tm> is defined in I<E<lt>time.hE<gt>> as "
4772 #: build/C/man3/strptime.3:279
4776 " int tm_sec; /* seconds */\n"
4777 " int tm_min; /* minutes */\n"
4778 " int tm_hour; /* hours */\n"
4779 " int tm_mday; /* day of the month */\n"
4780 " int tm_mon; /* month */\n"
4781 " int tm_year; /* year */\n"
4782 " int tm_wday; /* day of the week */\n"
4783 " int tm_yday; /* day in the year */\n"
4784 " int tm_isdst; /* daylight saving time */\n"
4789 #: build/C/man3/strptime.3:295
4791 "The return value of the function is a pointer to the first character not "
4792 "processed in this function call. In case the input string contains more "
4793 "characters than required by the format string the return value points right "
4794 "after the last consumed input character. In case the whole input string is "
4795 "consumed the return value points to the null byte at the end of the string. "
4796 "If B<strptime>() fails to match all of the format string and therefore an "
4797 "error occurred the function returns NULL."
4801 #: build/C/man3/strptime.3:313
4803 "In principle, this function does not initialize I<tm> but stores only the "
4804 "values specified. This means that I<tm> should be initialized before the "
4805 "call. Details differ a bit between different UNIX systems. The glibc "
4806 "implementation does not touch those fields which are not explicitly "
4807 "specified, except that it recomputes the I<tm_wday> and I<tm_yday> field if "
4808 "any of the year, month, or day elements changed."
4812 #: build/C/man3/strptime.3:321
4814 "This function is available since libc 4.6.8. Linux libc4 and libc5 includes "
4815 "define the prototype unconditionally; glibc2 includes provide a prototype "
4816 "only when B<_XOPEN_SOURCE> or B<_GNU_SOURCE> are defined."
4820 #: build/C/man3/strptime.3:326
4822 "Before libc 5.4.13 whitespace (and the \\(aqn\\(aq and \\(aqt\\(aq "
4823 "specifications) was not handled, no \\(aqE\\(aq and \\(aqO\\(aq locale "
4824 "modifier characters were accepted, and the \\(aqC\\(aq specification was a "
4825 "synonym for the \\(aqc\\(aq specification."
4828 #. In libc4 and libc5 the code for %I is broken (fixed in glibc;
4829 #. %OI was fixed in glibc 2.2.4).
4831 #: build/C/man3/strptime.3:335
4833 "The \\(aqy\\(aq (year in century) specification is taken to specify a year "
4834 "in the 20th century by libc4 and libc5. It is taken to be a year in the "
4835 "range 1950-2049 by glibc 2.0. It is taken to be a year in 1969-2068 since "
4840 #: build/C/man3/strptime.3:344
4842 "For reasons of symmetry, glibc tries to support for B<strptime>() the same "
4843 "format characters as for B<strftime>(3). (In most cases the corresponding "
4844 "fields are parsed, but no field in I<tm> is changed.) This leads to"
4848 #: build/C/man3/strptime.3:349
4849 msgid "Equivalent to B<%Y-%m-%d>, the ISO 8601 date format."
4853 #: build/C/man3/strptime.3:353
4855 "The year corresponding to the ISO week number, but without the century "
4860 #: build/C/man3/strptime.3:357
4861 msgid "The year corresponding to the ISO week number. (For example, 1991.)"
4865 #: build/C/man3/strptime.3:360
4866 msgid "The day of the week as a decimal number (1-7, where Monday = 1)."
4870 #: build/C/man3/strptime.3:367
4872 "The ISO 8601:1988 week number as a decimal number (1-53). If the week "
4873 "(starting on Monday) containing 1 January has four or more days in the new "
4874 "year, then it is considered week 1. Otherwise, it is the last week of the "
4875 "previous year, and the next week is week 1."
4879 #: build/C/man3/strptime.3:370
4880 msgid "An RFC-822/ISO 8601 standard timezone specification."
4884 #: build/C/man3/strptime.3:373
4885 msgid "The timezone name."
4889 #: build/C/man3/strptime.3:389
4891 "Similarly, because of GNU extensions to B<strftime>(3), B<%k> is accepted as "
4892 "a synonym for B<%H>, and B<%l> should be accepted as a synonym for B<%I>, "
4893 "and B<%P> is accepted as a synonym for B<%p>. Finally"
4897 #: build/C/man3/strptime.3:393
4899 "The number of seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC). "
4900 "Leap seconds are not counted unless leap second support is available."
4904 #: build/C/man3/strptime.3:396
4906 "The glibc implementation does not require whitespace between two field "
4911 #: build/C/man3/strptime.3:401
4913 "The following example demonstrates the use of B<strptime>() and "
4918 #: build/C/man3/strptime.3:408
4921 "#define _XOPEN_SOURCE\n"
4922 "#include E<lt>stdio.hE<gt>\n"
4923 "#include E<lt>stdlib.hE<gt>\n"
4924 "#include E<lt>string.hE<gt>\n"
4925 "#include E<lt>time.hE<gt>\n"
4929 #: build/C/man3/strptime.3:414
4940 #: build/C/man3/strptime.3:421
4943 " memset(&tm, 0, sizeof(struct tm));\n"
4944 " strptime(\"2001-11-12 18:31:01\", \"%Y-%m-%d %H:%M:%S\", &tm);\n"
4945 " strftime(buf, sizeof(buf), \"%d %b %Y %H:%M\", &tm);\n"
4947 " exit(EXIT_SUCCESS);\n"
4952 #: build/C/man3/strptime.3:428
4953 msgid "B<time>(2), B<getdate>(3), B<scanf>(3), B<setlocale>(3), B<strftime>(3)"
4957 #: build/C/man1/time.1:9 build/C/man2/time.2:29 build/C/man7/time.7:28
4963 #: build/C/man1/time.1:9
4969 #: build/C/man1/time.1:9
4971 msgid "Linux User's Manual"
4975 #: build/C/man1/time.1:12
4976 msgid "time - time a simple command or give resource usage"
4980 #: build/C/man1/time.1:14
4981 msgid "B<time [>I<options>B<] >I<command>B< [>I<arguments...>B<] >"
4985 #: build/C/man1/time.1:44
4987 "The B<time> command runs the specified program I<command> with the given "
4988 "arguments. When I<command> finishes, B<time> writes a message to standard "
4989 "error giving timing statistics about this program run. These statistics "
4990 "consist of (i) the elapsed real time between invocation and termination, "
4991 "(ii) the user CPU time (the sum of the I<tms_utime> and I<tms_cutime> values "
4992 "in a I<struct tms> as returned by B<times>(2)), and (iii) the system CPU "
4993 "time (the sum of the I<tms_stime> and I<tms_cstime> values in a I<struct "
4994 "tms> as returned by B<times>(2))."
4998 #: build/C/man1/time.1:53
5000 "Note: some shells (e.g., B<bash>(1)) have a built-in B<time> command that "
5001 "provides less functionality than the command described here. To access the "
5002 "real command, you may need to specify its pathname (something like "
5003 "I</usr/bin/time>)."
5007 #: build/C/man1/time.1:53
5013 #: build/C/man1/time.1:54
5019 #: build/C/man1/time.1:57
5020 msgid "When in the POSIX locale, use the precise traditional format"
5024 #: build/C/man1/time.1:60
5025 msgid "real %f\\enuser %f\\ensys %f\\en"
5029 #: build/C/man1/time.1:65
5031 "(with numbers in seconds) where the number of decimals in the output for %f "
5032 "is unspecified but is sufficient to express the clock tick accuracy, and at "
5037 #: build/C/man1/time.1:65 build/C/man8/tzselect.8:20
5043 #: build/C/man1/time.1:74
5045 "If I<command> was invoked, the exit status is that of I<command>. Otherwise "
5046 "it is 127 if I<command> could not be found, 126 if it could be found but "
5047 "could not be invoked, and some other nonzero value (1-125) if something else "
5052 #: build/C/man1/time.1:88
5054 "The variables B<LANG>, B<LC_ALL>, B<LC_CTYPE>, B<LC_MESSAGES>, "
5055 "B<LC_NUMERIC>, B<NLSPATH>, and B<PATH> are used. The last one to search for "
5056 "I<command>. The remaining ones for the text and formatting of the output."
5060 #: build/C/man1/time.1:88
5066 #: build/C/man1/time.1:100
5068 "Below a description of the GNU 1.7 version of B<time>. Disregarding the "
5069 "name of the utility, GNU makes it output lots of useful information, not "
5070 "only about time used, but also on other resources like memory, I/O and IPC "
5071 "calls (where available). The output is formatted using a format string that "
5072 "can be specified using the I<-f> option or the B<TIME> environment variable."
5076 #: build/C/man1/time.1:102
5077 msgid "The default format string is:"
5081 #: build/C/man1/time.1:105
5082 msgid "%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k"
5086 #: build/C/man1/time.1:107
5087 msgid "%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps"
5091 #: build/C/man1/time.1:113
5092 msgid "When the I<-p> option is given the (portable) output format"
5096 #: build/C/man1/time.1:116
5101 #: build/C/man1/time.1:118
5106 #: build/C/man1/time.1:120
5111 #: build/C/man1/time.1:124
5116 #: build/C/man1/time.1:124
5118 msgid "The format string"
5122 #: build/C/man1/time.1:137
5124 "The format is interpreted in the usual printf-like way. Ordinary characters "
5125 "are directly copied, tab, newline and backslash are escaped using \\et, \\en "
5126 "and \\e\\e, a percent sign is represented by %%, and otherwise % indicates a "
5127 "conversion. The program B<time> will always add a trailing newline itself. "
5128 "The conversions follow. All of those used by B<tcsh>(1) are supported."
5132 #: build/C/man1/time.1:139
5137 #: build/C/man1/time.1:142
5138 msgid "Elapsed real time (in [hours:]minutes:seconds)."
5142 #: build/C/man1/time.1:145
5143 msgid "(Not in tcsh.) Elapsed real time (in seconds)."
5147 #: build/C/man1/time.1:148
5148 msgid "Total number of CPU-seconds that the process spent in kernel mode."
5152 #: build/C/man1/time.1:151
5153 msgid "Total number of CPU-seconds that the process spent in user mode."
5157 #: build/C/man1/time.1:154
5158 msgid "Percentage of the CPU that this job got, computed as (%U + %S) / %E."
5162 #: build/C/man1/time.1:156
5167 #: build/C/man1/time.1:159
5168 msgid "Maximum resident set size of the process during its lifetime, in Kbytes."
5172 #: build/C/man1/time.1:162
5173 msgid "(Not in tcsh.) Average resident set size of the process, in Kbytes."
5177 #: build/C/man1/time.1:162
5183 #: build/C/man1/time.1:166
5184 msgid "Average total (data+stack+text) memory use of the process, in Kbytes."
5188 #: build/C/man1/time.1:169
5189 msgid "Average size of the process's unshared data area, in Kbytes."
5193 #: build/C/man1/time.1:172
5195 "(Not in tcsh.) Average size of the process's unshared stack space, in "
5200 #: build/C/man1/time.1:175
5201 msgid "Average size of the process's shared text space, in Kbytes."
5205 #: build/C/man1/time.1:179
5207 "(Not in tcsh.) System's page size, in bytes. This is a per-system constant, "
5208 "but varies between systems."
5212 #: build/C/man1/time.1:183
5214 "Number of major page faults that occurred while the process was running. "
5215 "These are faults where the page has to be read in from disk."
5219 #: build/C/man1/time.1:190
5221 "Number of minor, or recoverable, page faults. These are faults for pages "
5222 "that are not valid but which have not yet been claimed by other virtual "
5223 "pages. Thus the data in the page is still valid but the system tables must "
5228 #: build/C/man1/time.1:193
5229 msgid "Number of times the process was swapped out of main memory."
5233 #: build/C/man1/time.1:197
5235 "Number of times the process was context-switched involuntarily (because the "
5236 "time slice expired)."
5240 #: build/C/man1/time.1:201
5242 "Number of waits: times that the program was context-switched voluntarily, "
5243 "for instance while waiting for an I/O operation to complete."
5247 #: build/C/man1/time.1:203
5252 #: build/C/man1/time.1:206
5253 msgid "Number of filesystem inputs by the process."
5257 #: build/C/man1/time.1:209
5258 msgid "Number of filesystem outputs by the process."
5262 #: build/C/man1/time.1:212
5263 msgid "Number of socket messages received by the process."
5267 #: build/C/man1/time.1:215
5268 msgid "Number of socket messages sent by the process."
5272 #: build/C/man1/time.1:218
5273 msgid "Number of signals delivered to the process."
5277 #: build/C/man1/time.1:221
5278 msgid "(Not in tcsh.) Name and command-line arguments of the command being timed."
5282 #: build/C/man1/time.1:224
5283 msgid "(Not in tcsh.) Exit status of the command."
5287 #: build/C/man1/time.1:224
5293 #: build/C/man1/time.1:225
5295 msgid "B<-f >I<FORMAT>B<, --format=>I<FORMAT>"
5299 #: build/C/man1/time.1:229
5301 "Specify output format, possibly overriding the format specified in the "
5302 "environment variable TIME."
5306 #: build/C/man1/time.1:229
5308 msgid "B<-p, --portability>"
5312 #: build/C/man1/time.1:232
5313 msgid "Use the portable output format."
5317 #: build/C/man1/time.1:232
5319 msgid "B<-o >I<FILE>B<, --output=>I<FILE>"
5323 #: build/C/man1/time.1:237
5324 msgid "Do not send the results to I<stderr>, but overwrite the specified file."
5328 #: build/C/man1/time.1:237
5330 msgid "B<-a, --append>"
5334 #: build/C/man1/time.1:240
5335 msgid "(Used together with -o.) Do not overwrite but append."
5339 #: build/C/man1/time.1:240
5341 msgid "B<-v, --verbose>"
5345 #: build/C/man1/time.1:243
5346 msgid "Give very verbose output about all the program knows about."
5350 #: build/C/man1/time.1:243
5352 msgid "GNU standard options"
5356 #: build/C/man1/time.1:244 build/C/man8/zdump.8:31
5362 #: build/C/man1/time.1:247
5363 msgid "Print a usage message on standard output and exit successfully."
5367 #: build/C/man1/time.1:247
5369 msgid "B<-V, --version>"
5373 #: build/C/man1/time.1:250
5374 msgid "Print version information on standard output, then exit successfully."
5378 #: build/C/man1/time.1:250
5384 #: build/C/man1/time.1:253
5385 msgid "Terminate option list."
5389 #: build/C/man1/time.1:258
5391 "Not all resources are measured by all versions of UNIX, so some of the "
5392 "values might be reported as zero. The present selection was mostly inspired "
5393 "by the data provided by 4.2 or 4.3BSD."
5397 #: build/C/man1/time.1:261
5399 "GNU time version 1.7 is not yet localized. Thus, it does not implement the "
5400 "POSIX requirements."
5404 #: build/C/man1/time.1:273
5406 "The environment variable B<TIME> was badly chosen. It is not unusual for "
5407 "systems like B<autoconf>(1) or B<make>(1) to use environment variables "
5408 "with the name of a utility to override the utility to be used. Uses like "
5409 "MORE or TIME for options to programs (instead of program pathnames) tend to "
5410 "lead to difficulties."
5414 #: build/C/man1/time.1:280
5416 "It seems unfortunate that I<-o> overwrites instead of appends. (That is, "
5417 "the I<-a> option should be the default.)"
5421 #: build/C/man1/time.1:284
5422 msgid "Mail suggestions and bug reports for GNU B<time> to"
5426 #: build/C/man1/time.1:286
5427 msgid "I<bug-utils@prep.ai.mit.edu>"
5431 #: build/C/man1/time.1:290
5432 msgid "Please include the version of B<time>, which you can get by running"
5436 #: build/C/man1/time.1:292
5437 msgid "I<time --version>"
5442 #. .IP "David Keppel"
5444 #. .IP "David MacKenzie"
5445 #. POSIXization, autoconfiscation, GNU getoptization,
5446 #. documentation, other bug fixes and improvements.
5447 #. .IP "Arne Henrik Juul"
5448 #. Helped with portability
5449 #. .IP "Francois Pinard"
5450 #. Helped with portability
5452 #: build/C/man1/time.1:306
5453 msgid "and the operating system and C compiler you used."
5457 #: build/C/man1/time.1:310
5458 msgid "B<tcsh>(1), B<times>(2), B<wait3>(2)"
5462 #: build/C/man2/time.2:29
5468 #: build/C/man2/time.2:32
5469 msgid "time - get time in seconds"
5473 #: build/C/man2/time.2:36
5474 msgid "B<time_t time(time_t *>I<t>B<);>"
5478 #: build/C/man2/time.2:40
5480 "B<time>() returns the time as the number of seconds since the Epoch, "
5481 "1970-01-01 00:00:00 +0000 (UTC)."
5485 #: build/C/man2/time.2:46
5487 "If I<t> is non-NULL, the return value is also stored in the memory pointed "
5492 #: build/C/man2/time.2:50
5494 "On success, the value of time in seconds since the Epoch is returned. On "
5495 "error, I<((time_t)\\ -1)> is returned, and I<errno> is set appropriately."
5499 #: build/C/man2/time.2:55
5500 msgid "I<t> points outside your accessible address space."
5504 #. Under 4.3BSD, this call is obsoleted by
5505 #. .BR gettimeofday (2).
5507 #: build/C/man2/time.2:61
5509 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001. POSIX does not specify any error "
5514 #: build/C/man2/time.2:76
5516 "POSIX.1 defines I<seconds since the Epoch> using a formula that approximates "
5517 "the number of seconds between a specified time and the Epoch. This formula "
5518 "takes account of the facts that all years that are evenly divisible by 4 are "
5519 "leap years, but years that are evenly divisible by 100 are not leap years "
5520 "unless they are also evenly divisible by 400, in which case they are leap "
5521 "years. This value is not the same as the actual number of seconds between "
5522 "the time and the Epoch, because of leap seconds and because system clocks "
5523 "are not required to be synchronized to a standard reference. The intention "
5524 "is that the interpretation of seconds since the Epoch values be consistent; "
5525 "see POSIX.1-2008 Rationale A.4.15 for further rationale."
5529 #: build/C/man2/time.2:82
5530 msgid "B<date>(1), B<gettimeofday>(2), B<ctime>(3), B<ftime>(3), B<time>(7)"
5534 #: build/C/man7/time.7:28
5540 #: build/C/man7/time.7:31
5541 msgid "time - overview of time and timers"
5545 #: build/C/man7/time.7:32
5547 msgid "Real time and process time"
5551 #: build/C/man7/time.7:39
5553 "I<Real time> is defined as time measured from some fixed point, either from "
5554 "a standard point in the past (see the description of the Epoch and calendar "
5555 "time below), or from some point (e.g., the start) in the life of a process "
5556 "(I<elapsed time>)."
5560 #: build/C/man7/time.7:59
5562 "I<Process time> is defined as the amount of CPU time used by a process. "
5563 "This is sometimes divided into I<user> and I<system> components. User CPU "
5564 "time is the time spent executing code in user mode. System CPU time is the "
5565 "time spent by the kernel executing in system mode on behalf of the process "
5566 "(e.g., executing system calls). The B<time>(1) command can be used to "
5567 "determine the amount of CPU time consumed during the execution of a "
5568 "program. A program can determine the amount of CPU time it has consumed "
5569 "using B<times>(2), B<getrusage>(2), or B<clock>(3)."
5573 #: build/C/man7/time.7:59
5575 msgid "The hardware clock"
5579 #: build/C/man7/time.7:66
5581 "Most computers have a (battery-powered) hardware clock which the kernel "
5582 "reads at boot time in order to initialize the software clock. For further "
5583 "details, see B<rtc>(4) and B<hwclock>(8)."
5587 #: build/C/man7/time.7:66
5589 msgid "The software clock, HZ, and jiffies"
5592 #. semtimedop(), mq_timedwait(), io_getevents(), poll() are the same
5593 #. futexes and thus sem_timedwait() seem to use high-res timers.
5595 #: build/C/man7/time.7:81
5597 "The accuracy of various system calls that set timeouts, (e.g., B<select>(2), "
5598 "B<sigtimedwait>(2)) and measure CPU time (e.g., B<getrusage>(2)) is "
5599 "limited by the resolution of the I<software clock>, a clock maintained by "
5600 "the kernel which measures time in I<jiffies>. The size of a jiffy is "
5601 "determined by the value of the kernel constant I<HZ>."
5605 #: build/C/man7/time.7:96
5607 "The value of I<HZ> varies across kernel versions and hardware platforms. On "
5608 "i386 the situation is as follows: on kernels up to and including 2.4.x, HZ "
5609 "was 100, giving a jiffy value of 0.01 seconds; starting with 2.6.0, HZ was "
5610 "raised to 1000, giving a jiffy of 0.001 seconds. Since kernel 2.6.13, the "
5611 "HZ value is a kernel configuration parameter and can be 100, 250 (the "
5612 "default) or 1000, yielding a jiffies value of, respectively, 0.01, 0.004, or "
5613 "0.001 seconds. Since kernel 2.6.20, a further frequency is available: 300, "
5614 "a number that divides evenly for the common video frame rates (PAL, 25 HZ; "
5618 #. glibc gets this info with a little help from the ELF loader;
5619 #. see glibc elf/dl-support.c and kernel fs/binfmt_elf.c.
5621 #: build/C/man7/time.7:107
5623 "The B<times>(2) system call is a special case. It reports times with a "
5624 "granularity defined by the kernel constant I<USER_HZ>. User-space "
5625 "applications can determine the value of this constant using "
5626 "I<sysconf(_SC_CLK_TCK)>."
5630 #: build/C/man7/time.7:107
5632 msgid "High-resolution timers"
5636 #: build/C/man7/time.7:110
5638 "Before Linux 2.6.21, the accuracy of timer and sleep system calls (see "
5639 "below) was also limited by the size of the jiffy."
5643 #: build/C/man7/time.7:123
5645 "Since Linux 2.6.21, Linux supports high-resolution timers (HRTs), optionally "
5646 "configurable via B<CONFIG_HIGH_RES_TIMERS>. On a system that supports HRTs, "
5647 "the accuracy of sleep and timer system calls is no longer constrained by the "
5648 "jiffy, but instead can be as accurate as the hardware allows (microsecond "
5649 "accuracy is typical of modern hardware). You can determine whether "
5650 "high-resolution timers are supported by checking the resolution returned by "
5651 "a call to B<clock_getres>(2) or looking at the \"resolution\" entries in "
5652 "I</proc/timer_list>."
5656 #: build/C/man7/time.7:126
5658 "HRTs are not supported on all hardware architectures. (Support is provided "
5659 "on x86, arm, and powerpc, among others.)"
5663 #: build/C/man7/time.7:126
5669 #: build/C/man7/time.7:130
5671 "UNIX systems represent time in seconds since the I<Epoch>, 1970-01-01 "
5672 "00:00:00 +0000 (UTC)."
5676 #: build/C/man7/time.7:142
5678 "A program can determine the I<calendar time> using B<gettimeofday>(2), which "
5679 "returns time (in seconds and microseconds) that have elapsed since the "
5680 "Epoch; B<time>(2) provides similar information, but only with accuracy to "
5681 "the nearest second. The system time can be changed using "
5682 "B<settimeofday>(2)."
5686 #: build/C/man7/time.7:142
5688 msgid "Broken-down time"
5692 #: build/C/man7/time.7:160
5694 "Certain library functions use a structure of type I<tm> to represent "
5695 "I<broken-down time>, which stores time value separated out into distinct "
5696 "components (year, month, day, hour, minute, second, etc.). This structure "
5697 "is described in B<ctime>(3), which also describes functions that convert "
5698 "between calendar time and broken-down time. Functions for converting "
5699 "between broken-down time and printable string representations of the time "
5700 "are described in B<ctime>(3), B<strftime>(3), and B<strptime>(3)."
5704 #: build/C/man7/time.7:160
5706 msgid "Sleeping and setting timers"
5710 #: build/C/man7/time.7:167
5712 "Various system calls and functions allow a program to sleep (suspend "
5713 "execution) for a specified period of time; see B<nanosleep>(2), "
5714 "B<clock_nanosleep>(2), and B<sleep>(3)."
5718 #: build/C/man7/time.7:176
5720 "Various system calls allow a process to set a timer that expires at some "
5721 "point in the future, and optionally at repeated intervals; see B<alarm>(2), "
5722 "B<getitimer>(2), B<timerfd_create>(2), and B<timer_create>(2)."
5726 #: build/C/man7/time.7:176
5732 #: build/C/man7/time.7:188
5734 "Since Linux 2.6.28, it is possible to control the \"timer slack\" value for "
5735 "a thread. The timer slack is the length of time by which the kernel may "
5736 "delay the wake-up of certain system calls that block with a timeout. "
5737 "Permitting this delay allows the kernel to coalesce wake-up events, thus "
5738 "possibly reducing the number of system wake-ups and saving power. For more "
5739 "details, see the description of B<PR_SET_TIMERSLACK> in B<prctl>(2)."
5743 #: build/C/man7/time.7:220
5745 "B<date>(1), B<time>(1), B<adjtimex>(2), B<alarm>(2), B<clock_gettime>(2), "
5746 "B<clock_nanosleep>(2), B<getitimer>(2), B<getrlimit>(2), B<getrusage>(2), "
5747 "B<gettimeofday>(2), B<nanosleep>(2), B<stat>(2), B<time>(2), "
5748 "B<timer_create>(2), B<timerfd_create>(2), B<times>(2), B<utime>(2), "
5749 "B<adjtime>(3), B<clock>(3), B<clock_getcpuclockid>(3), B<ctime>(3), "
5750 "B<pthread_getcpuclockid>(3), B<sleep>(3), B<strftime>(3), B<strptime>(3), "
5751 "B<timeradd>(3), B<usleep>(3), B<rtc>(4), B<hwclock>(8)"
5755 #: build/C/man3/timegm.3:25
5761 #: build/C/man3/timegm.3:28
5762 msgid "timegm, timelocal - inverses of gmtime and localtime"
5766 #: build/C/man3/timegm.3:33
5768 msgid "B<time_t timelocal(struct tm *>I<tm>B<);>\n"
5772 #: build/C/man3/timegm.3:35
5774 msgid "B<time_t timegm(struct tm *>I<tm>B<);>\n"
5778 #: build/C/man3/timegm.3:45
5779 msgid "B<timelocal>(), B<timegm>(): _BSD_SOURCE || _SVID_SOURCE"
5783 #: build/C/man3/timegm.3:54
5785 "The functions B<timelocal>() and B<timegm>() are the inverses of "
5786 "B<localtime>(3) and B<gmtime>(3)."
5790 #: build/C/man3/timegm.3:58
5792 "These functions are nonstandard GNU extensions that are also present on the "
5793 "BSDs. Avoid their use; see NOTES."
5797 #: build/C/man3/timegm.3:64
5799 "The B<timelocal>() function is equivalent to the POSIX standard function "
5800 "B<mktime>(3). There is no reason to ever use it."
5804 #: build/C/man3/timegm.3:74
5806 "For a portable version of B<timegm>(), set the B<TZ> environment variable to "
5807 "UTC, call B<mktime>(3) and restore the value of B<TZ>. Something like"
5811 #: build/C/man3/timegm.3:79
5814 "#include E<lt>time.hE<gt>\n"
5815 "#include E<lt>stdlib.hE<gt>\n"
5819 #: build/C/man3/timegm.3:85
5823 "my_timegm(struct tm *tm)\n"
5830 #: build/C/man3/timegm.3:100
5833 " tz = getenv(\"TZ\");\n"
5835 " tz = strdup(tz);\n"
5836 " setenv(\"TZ\", \"\", 1);\n"
5838 " ret = mktime(tm);\n"
5840 " setenv(\"TZ\", tz, 1);\n"
5843 " unsetenv(\"TZ\");\n"
5850 #: build/C/man3/timegm.3:107
5851 msgid "B<gmtime>(3), B<localtime>(3), B<mktime>(3), B<tzset>(3)"
5855 #: build/C/man3/timeradd.3:27
5861 #: build/C/man3/timeradd.3:30
5862 msgid "timeradd, timersub, timercmp, timerclear, timerisset - timeval operations"
5866 #: build/C/man3/timeradd.3:36
5869 "B<void timeradd(struct timeval *>I<a>B<, struct timeval *>I<b>B<,>\n"
5870 "B< struct timeval *>I<res>B<);>\n"
5874 #: build/C/man3/timeradd.3:39
5877 "B<void timersub(struct timeval *>I<a>B<, struct timeval *>I<b>B<,>\n"
5878 "B< struct timeval *>I<res>B<);>\n"
5882 #: build/C/man3/timeradd.3:41
5884 msgid "B<void timerclear(struct timeval *>I<tvp>B<);>\n"
5888 #: build/C/man3/timeradd.3:43
5890 msgid "B<int timerisset(struct timeval *>I<tvp>B<);>\n"
5894 #: build/C/man3/timeradd.3:45
5897 "B<int timercmp(struct timeval *>I<a>B<, struct timeval *>I<b>B<, "
5902 #: build/C/man3/timeradd.3:54
5903 msgid "All functions shown above: _BSD_SOURCE"
5907 #: build/C/man3/timeradd.3:60
5909 "The macros are provided to operate on I<timeval> structures, defined in "
5910 "I<E<lt>sys/time.hE<gt>> as:"
5914 #: build/C/man3/timeradd.3:82
5916 "B<timeradd>() adds the time values in I<a> and I<b>, and places the sum in "
5917 "the I<timeval> pointed to by I<res>. The result is normalized such that "
5918 "I<res-E<gt>tv_usec> has a value in the range 0 to 999,999."
5922 #: build/C/man3/timeradd.3:95
5924 "B<timersub>() subtracts the time value in I<b> from the time value in I<a>, "
5925 "and places the result in the I<timeval> pointed to by I<res>. The result is "
5926 "normalized such that I<res-E<gt>tv_usec> has a value in the range 0 to "
5931 #: build/C/man3/timeradd.3:102
5933 "B<timerclear>() zeros out the I<timeval> structure pointed to by I<tvp>, so "
5934 "that it represents the Epoch: 1970-01-01 00:00:00 +0000 (UTC)."
5938 #: build/C/man3/timeradd.3:109
5940 "B<timerisset>() returns true (nonzero) if either field of the I<timeval> "
5941 "structure pointed to by I<tvp> contains a nonzero value."
5944 #. HP-UX, Tru64, Irix have a definition like:
5945 #. #define timercmp(tvp, uvp, cmp) \
5946 #. ((tvp)->tv_sec cmp (uvp)->tv_sec || \
5947 #. (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec)
5949 #: build/C/man3/timeradd.3:136
5951 "B<timercmp>() compares the timer values in I<a> and I<b> using the "
5952 "comparison operator I<CMP>, and returns true (nonzero) or false (0) "
5953 "depending on the result of the comparison. Some systems (but not "
5954 "Linux/glibc), have a broken B<timercmp>() implementation, in which I<CMP> "
5955 "of I<E<gt>=>, I<E<lt>=>, and I<==> do not work; portable applications can "
5960 #: build/C/man3/timeradd.3:140
5963 " !timercmp(..., E<lt>)\n"
5964 " !timercmp(..., E<gt>)\n"
5965 " !timercmp(..., !=)\n"
5969 #: build/C/man3/timeradd.3:145
5970 msgid "B<timerisset>() and B<timercmp>() return true (nonzero) or false (0)."
5974 #: build/C/man3/timeradd.3:147
5975 msgid "No errors are defined."
5979 #: build/C/man3/timeradd.3:150
5980 msgid "Not in POSIX.1-2001. Present on most BSD derivatives."
5984 #: build/C/man3/timeradd.3:153
5985 msgid "B<gettimeofday>(2), B<time>(7)"
5989 #: build/C/man2/times.2:38
5995 #: build/C/man2/times.2:38
6001 #: build/C/man2/times.2:41
6002 msgid "times - get process times"
6006 #: build/C/man2/times.2:43
6007 msgid "B<#include E<lt>sys/times.hE<gt>>"
6011 #: build/C/man2/times.2:45
6012 msgid "B<clock_t times(struct tms *>I<buf>B<);>"
6016 #: build/C/man2/times.2:56
6018 "B<times>() stores the current process times in the I<struct tms> that "
6019 "I<buf> points to. The I<struct tms> is as defined in "
6020 "I<E<lt>sys/times.hE<gt>>:"
6024 #: build/C/man2/times.2:65
6028 " clock_t tms_utime; /* user time */\n"
6029 " clock_t tms_stime; /* system time */\n"
6030 " clock_t tms_cutime; /* user time of children */\n"
6031 " clock_t tms_cstime; /* system time of children */\n"
6036 #: build/C/man2/times.2:90
6038 "The I<tms_utime> field contains the CPU time spent executing instructions of "
6039 "the calling process. The I<tms_stime> field contains the CPU time spent in "
6040 "the system while executing tasks on behalf of the calling process. The "
6041 "I<tms_cutime> field contains the sum of the I<tms_utime> and I<tms_cutime> "
6042 "values for all waited-for terminated children. The I<tms_cstime> field "
6043 "contains the sum of the I<tms_stime> and I<tms_cstime> values for all "
6044 "waited-for terminated children."
6048 #: build/C/man2/times.2:99
6050 "Times for terminated children (and their descendants) are added in at the "
6051 "moment B<wait>(2) or B<waitpid>(2) returns their process ID. In "
6052 "particular, times of grandchildren that the children did not wait for are "
6057 #: build/C/man2/times.2:101
6058 msgid "All times reported are in clock ticks."
6062 #: build/C/man2/times.2:110
6064 "B<times>() returns the number of clock ticks that have elapsed since an "
6065 "arbitrary point in the past. The return value may overflow the possible "
6066 "range of type I<clock_t>. On error, I<(clock_t)\\ -1> is returned, and "
6067 "I<errno> is set appropriately."
6071 #: build/C/man2/times.2:115
6072 msgid "I<tms> points outside the process's address space."
6076 #: build/C/man2/times.2:117
6077 msgid "SVr4, 4.3BSD, POSIX.1-2001."
6081 #: build/C/man2/times.2:119
6082 msgid "The number of clock ticks per second can be obtained using:"
6086 #: build/C/man2/times.2:122
6087 msgid "sysconf(_SC_CLK_TCK);"
6091 #: build/C/man2/times.2:128
6093 "In POSIX.1-1996 the symbol B<CLK_TCK> (defined in I<E<lt>time.hE<gt>>) is "
6094 "mentioned as obsolescent. It is obsolete now."
6097 #. See the description of times() in XSH, which says:
6098 #. The times of a terminated child process are included... when wait()
6099 #. or waitpid() returns the process ID of this terminated child.
6101 #: build/C/man2/times.2:147
6103 "In Linux kernel versions before 2.6.9, if the disposition of B<SIGCHLD> is "
6104 "set to B<SIG_IGN> then the times of terminated children are automatically "
6105 "included in the I<tms_cstime> and I<tms_cutime> fields, although "
6106 "POSIX.1-2001 says that this should happen only if the calling process "
6107 "B<wait>(2)s on its children. This nonconformance is rectified in Linux "
6112 #: build/C/man2/times.2:156
6114 "On Linux, the I<buf> argument can be specified as NULL, with the result that "
6115 "B<times>() just returns a function result. However, POSIX does not specify "
6116 "this behavior, and most other UNIX implementations require a non-NULL value "
6121 #: build/C/man2/times.2:165
6123 "Note that B<clock>(3) also returns a value of type I<clock_t>, but this "
6124 "value is measured in units of B<CLOCKS_PER_SEC>, not the clock ticks used by "
6129 #. On older systems the number of clock ticks per second is given
6130 #. by the variable HZ.
6132 #: build/C/man2/times.2:182
6134 "On Linux, the \"arbitrary point in the past\" from which the return value of "
6135 "B<times>() is measured has varied across kernel versions. On Linux 2.4 and "
6136 "earlier this point is the moment the system was booted. Since Linux 2.6, "
6137 "this point is I<(2^32/HZ) - 300> (i.e., about 429 million) seconds before "
6138 "system boot time. This variability across kernel versions (and across UNIX "
6139 "implementations), combined with the fact that the returned value may "
6140 "overflow the range of I<clock_t>, means that a portable application would be "
6141 "wise to avoid using this value. To measure changes in elapsed time, use "
6142 "B<clock_gettime>(2) instead."
6146 #: build/C/man2/times.2:182
6152 #: build/C/man2/times.2:193
6154 "SVr1-3 returns I<long> and the struct members are of type I<time_t> although "
6155 "they store clock ticks, not seconds since the Epoch. V7 used I<long> for "
6156 "the struct members, because it had no type I<time_t> yet."
6159 #. The problem is that a syscall return of -4095 to -1
6160 #. is interpreted by glibc as an error, and the wrapper converts
6161 #. the return value to -1.
6162 #. http://marc.info/?l=linux-kernel&m=119447727031225&w=2
6163 #. "compat_sys_times() bogus until jiffies >= 0"
6166 #: build/C/man2/times.2:208
6168 "A limitation of the Linux system call conventions on some architectures "
6169 "(notably i386) means that on Linux 2.6 there is a small time window (41 "
6170 "seconds) soon after boot when B<times>() can return -1, falsely indicating "
6171 "that an error occurred. The same problem can occur when the return value "
6172 "wraps passed the maximum value that can be stored in B<clock_t>."
6176 #: build/C/man2/times.2:215
6178 "B<time>(1), B<getrusage>(2), B<wait>(2), B<clock>(3), B<sysconf>(3), "
6183 #: build/C/man5/tzfile.5:8
6189 #: build/C/man5/tzfile.5:8
6195 #: build/C/man5/tzfile.5:11
6196 msgid "tzfile - timezone information"
6200 #: build/C/man5/tzfile.5:18
6202 "This page describes the structure of the timezone files used by "
6203 "B<tzset>(3). These files are typically found under one of the directories "
6204 "I</usr/lib/zoneinfo> or I</usr/share/zoneinfo>."
6208 #: build/C/man5/tzfile.5:31
6210 "Timezone information files begin with the magic characters \"TZif\" to "
6211 "identify them as timezone information files, followed by a character "
6212 "identifying the version of the file's format (as of 2005, either an ASCII "
6213 "NUL (\\(aq\\e0\\(aq) or a \\(aq2\\(aq) followed by fifteen bytes containing "
6214 "zeros reserved for future use, followed by six four-byte values of type "
6215 "I<long>, written in a \"standard\" byte order (the high-order byte of the "
6216 "value is written first). These values are, in order:"
6220 #: build/C/man5/tzfile.5:31
6222 msgid "I<tzh_ttisgmtcnt>"
6226 #: build/C/man5/tzfile.5:34
6227 msgid "The number of UTC/local indicators stored in the file."
6231 #: build/C/man5/tzfile.5:34
6233 msgid "I<tzh_ttisstdcnt>"
6237 #: build/C/man5/tzfile.5:37
6238 msgid "The number of standard/wall indicators stored in the file."
6242 #: build/C/man5/tzfile.5:37
6244 msgid "I<tzh_leapcnt>"
6248 #: build/C/man5/tzfile.5:40
6249 msgid "The number of leap seconds for which data is stored in the file."
6253 #: build/C/man5/tzfile.5:40
6255 msgid "I<tzh_timecnt>"
6259 #: build/C/man5/tzfile.5:44
6260 msgid "The number of \"transition times\" for which data is stored in the file."
6264 #: build/C/man5/tzfile.5:44
6266 msgid "I<tzh_typecnt>"
6270 #: build/C/man5/tzfile.5:48
6272 "The number of \"local time types\" for which data is stored in the file "
6273 "(must not be zero)."
6277 #: build/C/man5/tzfile.5:48
6279 msgid "I<tzh_charcnt>"
6283 #: build/C/man5/tzfile.5:52
6285 "The number of characters of \"timezone abbreviation strings\" stored in the "
6290 #: build/C/man5/tzfile.5:74
6292 "The above header is followed by I<tzh_timecnt> four-byte values of type "
6293 "I<long>, sorted in ascending order. These values are written in "
6294 "\"standard\" byte order. Each is used as a transition time (as returned by "
6295 "B<time>(2)) at which the rules for computing local time change. Next come "
6296 "I<tzh_timecnt> one-byte values of type I<unsigned char>; each one tells "
6297 "which of the different types of \"local time\" types described in the file "
6298 "is associated with the same-indexed transition time. These values serve as "
6299 "indices into an array of I<ttinfo> structures (with I<tzh_typecnt> entries) "
6300 "that appear next in the file; these structures are defined as follows:"
6304 #: build/C/man5/tzfile.5:82
6308 " long tt_gmtoff;\n"
6310 " unsigned int tt_abbrind;\n"
6315 #: build/C/man5/tzfile.5:107
6317 "Each structure is written as a four-byte value for I<tt_gmtoff> of type "
6318 "I<long>, in a standard byte order, followed by a one-byte value for "
6319 "I<tt_isdst> and a one-byte value for I<tt_abbrind>. In each structure, "
6320 "I<tt_gmtoff> gives the number of seconds to be added to UTC, I<tt_isdst> "
6321 "tells whether I<tm_isdst> should be set by B<localtime>(3), and "
6322 "I<tt_abbrind> serves as an index into the array of timezone abbreviation "
6323 "characters that follow the I<ttinfo> structure(s) in the file."
6327 #: build/C/man5/tzfile.5:119
6329 "Then there are I<tzh_leapcnt> pairs of four-byte values, written in standard "
6330 "byte order; the first value of each pair gives the time (as returned by "
6331 "B<time>(2)) at which a leap second occurs; the second gives the I<total> "
6332 "number of leap seconds to be applied after the given time. The pairs of "
6333 "values are sorted in ascending order by time."
6337 #: build/C/man5/tzfile.5:127
6339 "Then there are I<tzh_ttisstdcnt> standard/wall indicators, each stored as a "
6340 "one-byte value; they tell whether the transition times associated with local "
6341 "time types were specified as standard time or wall clock time, and are used "
6342 "when a timezone file is used in handling POSIX-style timezone environment "
6347 #: build/C/man5/tzfile.5:135
6349 "Finally, there are I<tzh_ttisgmtcnt> UTC/local indicators, each stored as a "
6350 "one-byte value; they tell whether the transition times associated with local "
6351 "time types were specified as UTC or local time, and are used when a timezone "
6352 "file is used in handling POSIX-style timezone environment variables."
6356 #: build/C/man5/tzfile.5:147
6358 "B<localtime>(3) uses the first standard-time I<ttinfo> structure in the "
6359 "file (or simply the first I<ttinfo> structure in the absence of a "
6360 "standard-time structure) if either I<tzh_timecnt> is zero or the time "
6361 "argument is less than the first transition time recorded in the file."
6365 #: build/C/man5/tzfile.5:157
6367 "For version-2-format timezone files, the above header and data is followed "
6368 "by a second header and data, identical in format except that eight bytes are "
6369 "used for each transition time or leap-second time. After the second header "
6370 "and data comes a newline-enclosed, POSIX-TZ-environment-variable-style "
6371 "string for use in handling instants after the last transition time stored in "
6372 "the file (with nothing between the newlines if there is no POSIX "
6373 "representation for such instants)."
6377 #: build/C/man5/tzfile.5:161
6378 msgid "B<ctime>(3), B<tzset>(3), B<tzselect>(8),"
6382 #: build/C/man5/tzfile.5:164
6383 msgid "I<timezone/tzfile.h> in the glibc source tree"
6387 #: build/C/man8/tzselect.8:5
6393 #: build/C/man8/tzselect.8:5
6399 #: build/C/man8/tzselect.8:5 build/C/man8/zdump.8:5 build/C/man8/zic.8:5
6401 msgid "Linux System Administration"
6405 #: build/C/man8/tzselect.8:8
6406 msgid "tzselect - select a timezone"
6410 #: build/C/man8/tzselect.8:10
6415 #: build/C/man8/tzselect.8:18
6417 "The B<tzselect> program asks the user for information about the current "
6418 "location, and outputs the resulting timezone description to standard "
6419 "output. The output is suitable as a value for the B<TZ> environment "
6424 #: build/C/man8/tzselect.8:20
6425 msgid "All interaction with the user is done via standard input and standard error."
6429 #: build/C/man8/tzselect.8:23
6431 "The exit status is zero if a timezone was successfully obtained from the "
6432 "user, nonzero otherwise."
6436 #: build/C/man8/tzselect.8:24
6442 #: build/C/man8/tzselect.8:30
6443 msgid "Name of a Posix-compliant I<awk> program (default: B<awk>)."
6447 #: build/C/man8/tzselect.8:30
6452 #. or perhaps /usr/local/etc/zoneinfo in some older systems.
6454 #: build/C/man8/tzselect.8:35
6456 "Name of the directory containing timezone data files (default: "
6457 "I</usr/share/zoneinfo>)."
6461 #: build/C/man8/tzselect.8:36
6463 msgid "B<TZDIR>I</iso3166.tab>"
6467 #: build/C/man8/tzselect.8:39
6468 msgid "Table of ISO 3166 2-letter country codes and country names."
6472 #: build/C/man8/tzselect.8:39
6474 msgid "B<TZDIR>I</zone.tab>"
6478 #: build/C/man8/tzselect.8:43
6480 "Table of country codes, latitude and longitude, TZ values, and descriptive "
6485 #: build/C/man8/tzselect.8:43
6487 msgid "B<TZDIR>I</>I<TZ>"
6491 #: build/C/man8/tzselect.8:47
6492 msgid "Time zone data file for timezone I<TZ>."
6495 #. @(#)tzselect.8 1.3
6497 #: build/C/man8/tzselect.8:52
6498 msgid "B<tzfile>(5), B<zdump>(8), B<zic>(8)"
6502 #: build/C/man3/tzset.3:33
6508 #: build/C/man3/tzset.3:33 build/C/man2/utimensat.2:26
6514 #: build/C/man3/tzset.3:36
6515 msgid "tzset, tzname, timezone, daylight - initialize time conversion information"
6519 #: build/C/man3/tzset.3:41
6521 msgid "B<void tzset (void);>\n"
6525 #: build/C/man3/tzset.3:45
6528 "B<extern char *>I<tzname>B<[2];>\n"
6529 "B<extern long >I<timezone>B<;>\n"
6530 "B<extern int >I<daylight>B<;>\n"
6534 #: build/C/man3/tzset.3:54
6535 msgid "B<tzset>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
6539 #: build/C/man3/tzset.3:57
6540 msgid "I<tzname>: _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
6544 #: build/C/man3/tzset.3:60
6545 msgid "I<timezone>: _SVID_SOURCE || _XOPEN_SOURCE"
6549 #: build/C/man3/tzset.3:63
6550 msgid "I<daylight>: _SVID_SOURCE || _XOPEN_SOURCE"
6554 #: build/C/man3/tzset.3:75
6556 "The B<tzset>() function initializes the I<tzname> variable from the B<TZ> "
6557 "environment variable. This function is automatically called by the other "
6558 "time conversion functions that depend on the timezone. In a System-V-like "
6559 "environment, it will also set the variables I<timezone> (seconds West of "
6560 "UTC) and I<daylight> (to 0 if this timezone does not have any daylight "
6561 "saving time rules, or to nonzero if there is a time during the year when "
6562 "daylight saving time applies)."
6566 #: build/C/man3/tzset.3:87
6568 "If the B<TZ> variable does not appear in the environment, the I<tzname> "
6569 "variable is initialized with the best approximation of local wall clock "
6570 "time, as specified by the B<tzfile>(5)-format file I<localtime> found in the "
6571 "system timezone directory (see below). (One also often sees "
6572 "I</etc/localtime> used here, a symlink to the right file in the system "
6573 "timezone directory.)"
6577 #: build/C/man3/tzset.3:93
6579 "If the B<TZ> variable does appear in the environment but its value is empty "
6580 "or its value cannot be interpreted using any of the formats specified below, "
6581 "Coordinated Universal Time (UTC) is used."
6585 #: build/C/man3/tzset.3:99
6587 "The value of B<TZ> can be one of three formats. The first format is used "
6588 "when there is no daylight saving time in the local timezone:"
6592 #: build/C/man3/tzset.3:102
6593 msgid "I<std offset>"
6597 #: build/C/man3/tzset.3:114
6599 "The I<std> string specifies the name of the timezone and must be three or "
6600 "more alphabetic characters. The I<offset> string immediately follows I<std> "
6601 "and specifies the time value to be added to the local time to get "
6602 "Coordinated Universal Time (UTC). The I<offset> is positive if the local "
6603 "timezone is west of the Prime Meridian and negative if it is east. The hour "
6604 "must be between 0 and 24, and the minutes and seconds 0 and 59."
6608 #: build/C/man3/tzset.3:116
6609 msgid "The second format is used when there is daylight saving time:"
6613 #: build/C/man3/tzset.3:119
6614 msgid "I<std offset dst [offset],start[/time],end[/time]>"
6618 #: build/C/man3/tzset.3:128
6620 "There are no spaces in the specification. The initial I<std> and I<offset> "
6621 "specify the standard timezone, as described above. The I<dst> string and "
6622 "I<offset> specify the name and offset for the corresponding daylight saving "
6623 "timezone. If the offset is omitted, it default to one hour ahead of "
6628 #: build/C/man3/tzset.3:133
6630 "The I<start> field specifies when daylight saving time goes into effect and "
6631 "the I<end> field specifies when the change is made back to standard time. "
6632 "These fields may have the following formats:"
6636 #: build/C/man3/tzset.3:133
6642 #: build/C/man3/tzset.3:139
6644 "This specifies the Julian day with I<n> between 1 and 365. Leap days are "
6645 "not counted. In this format, February 29 can't be represented; February 28 "
6646 "is day 59, and March 1 is always day 60."
6650 #: build/C/man3/tzset.3:139
6656 #: build/C/man3/tzset.3:143
6658 "This specifies the zero-based Julian day with I<n> between 0 and 365. "
6659 "February 29 is counted in leap years."
6663 #: build/C/man3/tzset.3:143
6665 msgid "MI<m>.I<w>.I<d>"
6669 #: build/C/man3/tzset.3:151
6671 "This specifies day I<d> (0 E<lt>= I<d> E<lt>= 6) of week I<w> (1 E<lt>= I<w> "
6672 "E<lt>= 5) of month I<m> (1 E<lt>= I<m> E<lt>= 12). Week 1 is the first week "
6673 "in which day I<d> occurs and week 5 is the last week in which day I<d> "
6674 "occurs. Day 0 is a Sunday."
6678 #: build/C/man3/tzset.3:155
6680 "The I<time> fields specify when, in the local time currently in effect, the "
6681 "change to the other time occurs. If omitted, the default is 02:00:00."
6685 #: build/C/man3/tzset.3:161
6687 "Here is an example for New Zealand, where the standard time (NZST) is 12 "
6688 "hours ahead of UTC, and daylight saving time (NZDT), 13 hours ahead of UTC, "
6689 "runs from the first Sunday in October to the third Sunday in March, and the "
6690 "changeovers happen at the default time of 02:00:00:"
6694 #: build/C/man3/tzset.3:164
6696 msgid " TZ=\"NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0\"\n"
6700 #: build/C/man3/tzset.3:168
6702 "The third format specifies that the timezone information should be read from "
6707 #: build/C/man3/tzset.3:171
6712 #: build/C/man3/tzset.3:186
6714 "If the file specification I<filespec> is omitted, the timezone information "
6715 "is read from the file I<localtime> in the system timezone directory, which "
6716 "nowadays usually is I</usr/share/zoneinfo>. This file is in B<tzfile>(5) "
6717 "format. If I<filespec> is given, it specifies another B<tzfile>(5)-format "
6718 "file to read the timezone information from. If I<filespec> does not begin "
6719 "with a \\(aq/\\(aq, the file specification is relative to the system "
6720 "timezone directory."
6724 #: build/C/man3/tzset.3:188
6725 msgid "Here's an example, once more for New Zealand:"
6729 #: build/C/man3/tzset.3:191
6731 msgid " TZ=\":Pacific/Auckland\"\n"
6735 #: build/C/man3/tzset.3:204
6737 "The system timezone directory used depends on the (g)libc version. Libc4 "
6738 "and libc5 use I</usr/lib/zoneinfo>, and, since libc-5.4.6, when this doesn't "
6739 "work, will try I</usr/share/zoneinfo>. Glibc2 will use the environment "
6740 "variable B<TZDIR>, when that exists. Its default depends on how it was "
6741 "installed, but normally is I</usr/share/zoneinfo>."
6745 #: build/C/man3/tzset.3:206
6746 msgid "This timezone directory contains the files"
6750 #: build/C/man3/tzset.3:209
6753 "localtime local timezone file\n"
6754 "posixrules rules for POSIX-style TZ's\n"
6758 #: build/C/man3/tzset.3:216
6760 "Often I</etc/localtime> is a symlink to the file I<localtime> or to the "
6761 "correct timezone file in the system timezone directory."
6765 #: build/C/man3/tzset.3:218
6766 msgid "SVr4, POSIX.1-2001, 4.3BSD."
6770 #: build/C/man3/tzset.3:225
6772 "Note that the variable I<daylight> does not indicate that daylight saving "
6773 "time applies right now. It used to give the number of some algorithm (see "
6774 "the variable I<tz_dsttime> in B<gettimeofday>(2)). It has been obsolete for "
6775 "many years but is required by SUSv2."
6779 #: build/C/man3/tzset.3:233
6781 "4.3BSD had a function B<char *timezone(>I<zone>B<, >I<dst>B<)> that returned "
6782 "the name of the timezone corresponding to its first argument (minutes West "
6783 "of UTC). If the second argument was 0, the standard name was used, "
6784 "otherwise the daylight saving time version."
6788 #: build/C/man3/tzset.3:240
6790 "B<date>(1), B<gettimeofday>(2), B<time>(2), B<ctime>(3), B<getenv>(3), "
6795 #: build/C/man2/utime.2:31
6801 #: build/C/man2/utime.2:31
6807 #: build/C/man2/utime.2:34
6808 msgid "utime, utimes - change file last access and modification times"
6812 #: build/C/man2/utime.2:37
6814 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
6818 #: build/C/man2/utime.2:39
6820 msgid "B<#include E<lt>utime.hE<gt>>\n"
6824 #: build/C/man2/utime.2:41
6827 "B<int utime(const char *>I<filename>B<, const struct utimbuf "
6832 #: build/C/man2/utime.2:45
6835 "B<int utimes(const char *>I<filename>B<, const struct timeval "
6836 ">I<times>B<[2]);>\n"
6840 #: build/C/man2/utime.2:57
6842 "The B<utime>() system call changes the access and modification times of the "
6843 "inode specified by I<filename> to the I<actime> and I<modtime> fields of "
6844 "I<times> respectively."
6848 #: build/C/man2/utime.2:62
6850 "If I<times> is NULL, then the access and modification times of the file are "
6851 "set to the current time."
6855 #: build/C/man2/utime.2:69
6857 "Changing timestamps is permitted when: either the process has appropriate "
6858 "privileges, or the effective user ID equals the user ID of the file, or "
6859 "I<times> is NULL and the process has write permission for the file."
6863 #: build/C/man2/utime.2:73
6864 msgid "The I<utimbuf> structure is:"
6868 #: build/C/man2/utime.2:80
6871 "struct utimbuf {\n"
6872 " time_t actime; /* access time */\n"
6873 " time_t modtime; /* modification time */\n"
6878 #: build/C/man2/utime.2:87
6880 "The B<utime>() system call allows specification of timestamps with a "
6881 "resolution of 1 second."
6885 #: build/C/man2/utime.2:100
6887 "The B<utimes>() system call is similar, but the I<times> argument refers to "
6888 "an array rather than a structure. The elements of this array are I<timeval> "
6889 "structures, which allow a precision of 1 microsecond for specifying "
6890 "timestamps. The I<timeval> structure is:"
6894 #: build/C/man2/utime.2:107
6897 "struct timeval {\n"
6898 " long tv_sec; /* seconds */\n"
6899 " long tv_usec; /* microseconds */\n"
6904 #: build/C/man2/utime.2:120
6906 "I<times>[0] specifies the new access time, and I<times>[1] specifies the new "
6907 "modification time. If I<times> is NULL, then analogously to B<utime>(), the "
6908 "access and modification times of the file are set to the current time."
6912 #: build/C/man2/utime.2:126 build/C/man2/utime.2:133 build/C/man2/utimensat.2:235
6918 #: build/C/man2/utime.2:133
6920 "Search permission is denied for one of the directories in the path prefix of "
6921 "I<path> (see also B<path_resolution>(7))."
6925 #: build/C/man2/utime.2:145
6927 "I<times> is NULL, the caller's effective user ID does not match the owner of "
6928 "the file, the caller does not have write access to the file, and the caller "
6929 "is not privileged (Linux: does not have either the B<CAP_DAC_OVERRIDE> or "
6930 "the B<CAP_FOWNER> capability)."
6934 #: build/C/man2/utime.2:145 build/C/man2/utimensat.2:344
6940 #: build/C/man2/utime.2:149
6941 msgid "I<filename> does not exist."
6945 #: build/C/man2/utime.2:158
6947 "I<times> is not NULL, the caller's effective UID does not match the owner of "
6948 "the file, and the caller is not privileged (Linux: does not have the "
6949 "B<CAP_FOWNER> capability)."
6953 #: build/C/man2/utime.2:158 build/C/man2/utimensat.2:405
6959 #: build/C/man2/utime.2:162
6960 msgid "I<path> resides on a read-only filesystem."
6964 #: build/C/man2/utime.2:168
6965 msgid "B<utime>(): SVr4, POSIX.1-2001. POSIX.1-2008 marks B<utime>() as obsolete."
6969 #: build/C/man2/utime.2:171
6970 msgid "B<utimes>(): 4.3BSD, POSIX.1-2001."
6974 #: build/C/man2/utime.2:175
6976 "Linux does not allow changing the timestamps on an immutable file, or "
6977 "setting the timestamps to something other than the current time on an "
6982 #: build/C/man2/utime.2:181
6984 "In libc4 and libc5, B<utimes>() is just a wrapper for B<utime>() and hence "
6985 "does not allow a subsecond resolution."
6989 #: build/C/man2/utime.2:188
6991 "B<chattr>(1), B<futimesat>(2), B<stat>(2), B<utimensat>(2), B<futimens>(3), "
6996 #: build/C/man2/utimensat.2:26
7002 #: build/C/man2/utimensat.2:29
7003 msgid "utimensat, futimens - change file timestamps with nanosecond precision"
7007 #: build/C/man2/utimensat.2:33
7010 "B<#include E<lt>fcntl.hE<gt> /* Definition of AT_* constants */>\n"
7011 "B<#include E<lt>sys/stat.hE<gt>>\n"
7015 #: build/C/man2/utimensat.2:36
7018 "B<int utimensat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
7019 "B< const struct timespec >I<times>B<[2], int >I<flags>B<);>\n"
7023 #: build/C/man2/utimensat.2:38
7025 msgid "B<int futimens(int >I<fd>B<, const struct timespec >I<times>B<[2]);>\n"
7029 #: build/C/man2/utimensat.2:48
7030 msgid "B<utimensat>():"
7034 #: build/C/man2/utimensat.2:49 build/C/man2/utimensat.2:59
7036 msgid "Since glibc 2.10:"
7040 #: build/C/man2/utimensat.2:52 build/C/man2/utimensat.2:62
7041 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
7045 #: build/C/man2/utimensat.2:52 build/C/man2/utimensat.2:62
7047 msgid "Before glibc 2.10:"
7051 #: build/C/man2/utimensat.2:55
7052 msgid "_ATFILE_SOURCE"
7056 #: build/C/man2/utimensat.2:58
7057 msgid "B<futimens>():"
7061 #: build/C/man2/utimensat.2:79
7063 "B<utimensat>() and B<futimens>() update the timestamps of a file with "
7064 "nanosecond precision. This contrasts with the historical B<utime>(2) and "
7065 "B<utimes>(2), which permit only second and microsecond precision, "
7066 "respectively, when setting file timestamps."
7070 #: build/C/man2/utimensat.2:89
7072 "With B<utimensat>() the file is specified via the pathname given in "
7073 "I<pathname>. With B<futimens>() the file whose timestamps are to be "
7074 "updated is specified via an open file descriptor, I<fd>."
7078 #: build/C/man2/utimensat.2:101
7080 "For both calls, the new file timestamps are specified in the array I<times>: "
7081 "I<times>[0] specifies the new \"last access time\" (I<atime>); I<times>[1] "
7082 "specifies the new \"last modification time\" (I<mtime>). Each of the "
7083 "elements of I<times> specifies a time as the number of seconds and "
7084 "nanoseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC). This "
7085 "information is conveyed in a structure of the following form:"
7089 #: build/C/man2/utimensat.2:113
7091 "Updated file timestamps are set to the greatest value supported by the "
7092 "filesystem that is not greater than the specified time."
7095 #. 2.6.22 was broken: it is not ignored
7097 #: build/C/man2/utimensat.2:132
7099 "If the I<tv_nsec> field of one of the I<timespec> structures has the special "
7100 "value B<UTIME_NOW>, then the corresponding file timestamp is set to the "
7101 "current time. If the I<tv_nsec> field of one of the I<timespec> structures "
7102 "has the special value B<UTIME_OMIT>, then the corresponding file timestamp "
7103 "is left unchanged. In both of these cases, the value of the corresponding "
7104 "I<tv_sec> field is ignored."
7108 #: build/C/man2/utimensat.2:137
7109 msgid "If I<times> is NULL, then both timestamps are set to the current time."
7113 #: build/C/man2/utimensat.2:137
7115 msgid "Permissions requirements"
7119 #: build/C/man2/utimensat.2:145
7121 "To set both file timestamps to the current time (i.e., I<times> is NULL, or "
7122 "both I<tv_nsec> fields specify B<UTIME_NOW>), either:"
7126 #: build/C/man2/utimensat.2:145
7131 #. 2.6.22 was broken here -- for futimens() the check is
7132 #. based on whether or not the file descriptor is writable,
7133 #. not on whether the caller's effective UID has write
7134 #. permission for the file referred to by the descriptor.
7136 #: build/C/man2/utimensat.2:151
7137 msgid "the caller must have write access to the file;"
7141 #: build/C/man2/utimensat.2:151
7147 #: build/C/man2/utimensat.2:153
7148 msgid "the caller's effective user ID must match the owner of the file; or"
7152 #: build/C/man2/utimensat.2:153
7158 #: build/C/man2/utimensat.2:155
7159 msgid "the caller must have appropriate privileges."
7162 #. 2.6.22 was broken here:
7163 #. both must something other than *either* UTIME_OMIT *or* UTIME_NOW.
7165 #: build/C/man2/utimensat.2:170
7167 "To make any change other than setting both timestamps to the current time "
7168 "(i.e., I<times> is not NULL, and both I<tv_nsec> fields are not B<UTIME_NOW> "
7169 "and both I<tv_nsec> fields are not B<UTIME_OMIT>), either condition 2 or 3 "
7174 #: build/C/man2/utimensat.2:180
7176 "If both I<tv_nsec> fields are specified as B<UTIME_OMIT>, then no file "
7177 "ownership or permission checks are performed, and the file timestamps are "
7178 "not modified, but other error conditions may still be detected."
7182 #: build/C/man2/utimensat.2:180
7184 msgid "utimensat() specifics"
7187 #. FIXME . Say something about O_SEARCH? (But it's not in current
7188 #. glibc (Mar 08), or kernel 2.6.25.)
7190 #: build/C/man2/utimensat.2:195
7192 "If I<pathname> is relative, then by default it is interpreted relative to "
7193 "the directory referred to by the open file descriptor, I<dirfd> (rather than "
7194 "relative to the current working directory of the calling process, as is done "
7195 "by B<utimes>(2) for a relative pathname). See B<openat>(2) for an "
7196 "explanation of why this can be useful."
7200 #: build/C/man2/utimensat.2:207
7202 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
7203 "then I<pathname> is interpreted relative to the current working directory of "
7204 "the calling process (like B<utimes>(2))."
7208 #: build/C/man2/utimensat.2:213
7209 msgid "If I<pathname> is absolute, then I<dirfd> is ignored."
7213 #: build/C/man2/utimensat.2:219
7215 "The I<flags> field is a bit mask that may be 0, or include the following "
7216 "constant, defined in I<E<lt>fcntl.hE<gt>>:"
7220 #: build/C/man2/utimensat.2:219
7222 msgid "B<AT_SYMLINK_NOFOLLOW>"
7226 #: build/C/man2/utimensat.2:225
7228 "If I<pathname> specifies a symbolic link, then update the timestamps of the "
7229 "link, rather than the file to which it refers."
7233 #: build/C/man2/utimensat.2:234
7235 "On success, B<utimensat>() and B<futimens>() return 0. On error, -1 is "
7236 "returned and I<errno> is set to indicate the error."
7240 #: build/C/man2/utimensat.2:244
7241 msgid "I<times> is NULL, or both I<tv_nsec> values are B<UTIME_NOW>, and:"
7244 #. But Linux 2.6.22 was broken here.
7245 #. Traditionally, utime()/utimes() gives the error EACCES for the case
7246 #. where the timestamp pointer argument is NULL (i.e., set both timestamps
7247 #. to the current time), and the file is owned by a user other than the
7248 #. effective UID of the caller, and the file is not writable by the
7249 #. effective UID of the program. utimensat() also gives this error in the
7250 #. same case. However, in the same circumstances, when utimensat() is
7251 #. given a 'times' array in which both tv_nsec fields are UTIME_NOW, which
7252 #. provides equivalent functionality to specifying 'times' as NULL, the
7253 #. call succeeds. It should fail with the error EACCES in this case.
7255 #. POSIX.1-2008 has the following:
7258 #. .RB ( utimensat ())
7260 #. was not opened with
7262 #. and the permissions of the directory to which
7264 #. refers do not allow searches.
7266 #: build/C/man2/utimensat.2:277
7268 "the effective user ID of the caller does not match the owner of the file, "
7269 "the caller does not have write access to the file, and the caller is not "
7270 "privileged (Linux: does not have either the B<CAP_FOWNER> or the "
7271 "B<CAP_DAC_OVERRIDE> capability); or,"
7274 #. EXT2_IMMUTABLE_FL and similar flags for other filesystems.
7276 #: build/C/man2/utimensat.2:281
7277 msgid "the file is marked immutable (see B<chattr>(1))."
7281 #: build/C/man2/utimensat.2:288
7282 msgid "(B<futimens>()) I<fd> is not a valid file descriptor."
7286 #: build/C/man2/utimensat.2:297
7288 "(B<utimensat>()) I<pathname> is a relative pathname, but I<dirfd> is "
7289 "neither B<AT_FDCWD> nor a valid file descriptor."
7293 #: build/C/man2/utimensat.2:307
7295 "I<times> pointed to an invalid address; or, I<dirfd> was B<AT_FDCWD>, and "
7296 "I<pathname> is NULL or an invalid address."
7300 #: build/C/man2/utimensat.2:311
7301 msgid "Invalid value in I<flags>."
7305 #: build/C/man2/utimensat.2:322
7307 "Invalid value in one of the I<tv_nsec> fields (value outside range 0 to "
7308 "999,999,999, and not B<UTIME_NOW> or B<UTIME_OMIT>); or an invalid value in "
7309 "one of the I<tv_sec> fields."
7312 #. SUSv4 does not specify this error.
7314 #: build/C/man2/utimensat.2:334
7316 "I<pathname> is NULL, I<dirfd> is not B<AT_FDCWD>, and I<flags> contains "
7317 "B<AT_SYMLINK_NOFOLLOW>."
7321 #: build/C/man2/utimensat.2:334
7327 #: build/C/man2/utimensat.2:339
7329 "(B<utimensat>()) Too many symbolic links were encountered in resolving "
7334 #: build/C/man2/utimensat.2:339
7336 msgid "B<ENAMETOOLONG>"
7340 #: build/C/man2/utimensat.2:344
7341 msgid "(B<utimensat>()) I<pathname> is too long."
7345 #: build/C/man2/utimensat.2:353
7347 "(B<utimensat>()) A component of I<pathname> does not refer to an existing "
7348 "directory or file, or I<pathname> is an empty string."
7352 #: build/C/man2/utimensat.2:353
7358 #: build/C/man2/utimensat.2:365
7360 "(B<utimensat>()) I<pathname> is a relative pathname, but I<dirfd> is "
7361 "neither B<AT_FDCWD> nor a file descriptor referring to a directory; or, one "
7362 "of the prefix components of I<pathname> is not a directory."
7366 #: build/C/man2/utimensat.2:382
7368 "The caller attempted to change one or both timestamps to a value other than "
7369 "the current time, or to change one of the timestamps to the current time "
7370 "while leaving the other timestamp unchanged, (i.e., I<times> is not NULL, "
7371 "both I<tv_nsec> fields are not B<UTIME_NOW>, and both I<tv_nsec> fields are "
7372 "not B<UTIME_OMIT>) and:"
7376 #: build/C/man2/utimensat.2:390
7378 "the caller's effective user ID does not match the owner of file, and the "
7379 "caller is not privileged (Linux: does not have the B<CAP_FOWNER> "
7383 #. Linux 2.6.22 was broken here:
7384 #. it was not consistent with the old utimes() implementation,
7385 #. since the case when both tv_nsec fields are UTIME_NOW, was not
7386 #. treated like the (times == NULL) case.
7387 #. EXT2_IMMUTABLE_FL EXT_APPPEND_FL and similar flags for
7388 #. other filesystems.
7390 #. Why the inconsistency (which is described under NOTES) between
7391 #. EACCES and EPERM, where only EPERM tests for append-only.
7392 #. (This was also so for the older utimes() implementation.)
7394 #: build/C/man2/utimensat.2:403
7395 msgid "the file is marked append-only or immutable (see B<chattr>(1))."
7399 #: build/C/man2/utimensat.2:408
7400 msgid "The file is on a read-only filesystem."
7404 #: build/C/man2/utimensat.2:413
7406 "(B<utimensat>()) Search permission is denied for one of the prefix "
7407 "components of I<pathname>."
7411 #: build/C/man2/utimensat.2:417
7413 "B<utimensat>() was added to Linux in kernel 2.6.22; glibc support was added "
7418 #: build/C/man2/utimensat.2:421
7419 msgid "Support for B<futimens>() first appeared in glibc 2.6."
7423 #: build/C/man2/utimensat.2:426
7424 msgid "B<futimens>() and B<utimensat>() are specified in POSIX.1-2008."
7428 #: build/C/man2/utimensat.2:430
7429 msgid "B<utimensat>() obsoletes B<futimesat>(2)."
7433 #: build/C/man2/utimensat.2:439
7435 "On Linux, timestamps cannot be changed for a file marked immutable, and the "
7436 "only change permitted for files marked append-only is to set the timestamps "
7437 "to the current time. (This is consistent with the historical behavior of "
7438 "B<utime>(2) and B<utimes>(2) on Linux.)"
7442 #: build/C/man2/utimensat.2:456
7444 "On Linux, B<futimens>() is a library function implemented on top of the "
7445 "B<utimensat>() system call. To support this, the Linux B<utimensat>() "
7446 "system call implements a nonstandard feature: if I<pathname> is NULL, then "
7447 "the call modifies the timestamps of the file referred to by the file "
7448 "descriptor I<dirfd> (which may refer to any type of file). Using this "
7449 "feature, the call I<futimens(fd,\\ times)> is implemented as:"
7453 #: build/C/man2/utimensat.2:459
7455 msgid " utimensat(fd, NULL, times, 0);\n"
7459 #: build/C/man2/utimensat.2:468
7461 "Several bugs afflict B<utimensat>() and B<futimens>() on kernels before "
7462 "2.6.26. These bugs are either nonconformances with the POSIX.1 draft "
7463 "specification or inconsistencies with historical Linux behavior."
7467 #: build/C/man2/utimensat.2:483
7469 "POSIX.1 specifies that if one of the I<tv_nsec> fields has the value "
7470 "B<UTIME_NOW> or B<UTIME_OMIT>, then the value of the corresponding I<tv_sec> "
7471 "field should be ignored. Instead, the value of the I<tv_sec> field is "
7472 "required to be 0 (or the error B<EINVAL> results)."
7475 #. Below, the long description of the errors from the previous bullet
7476 #. point (abridged because it's too much detail for a man page).
7486 #. should occur if the process's effective user ID does not match
7487 #. the file owner and the process is not privileged.
7488 #. Instead, the call successfully changes one of the timestamps.
7490 #. If file is not writable by the effective user ID of the process and
7491 #. the process's effective user ID does not match the file owner and
7492 #. the process is not privileged,
7495 #. is NULL, then the error
7498 #. This error should also occur if
7500 #. points to an array of structures in which both
7504 #. Instead the call succeeds.
7506 #. If a file is marked as append-only (see
7508 #. then Linux traditionally
7514 #. argument to be used in order to update both timestamps to the current time.
7519 #. should also produce the same result when given a
7521 #. argument that points to an array of structures in which both
7525 #. Instead, the call fails with the error
7528 #. If a file is marked as immutable (see
7530 #. then Linux traditionally
7543 #. should also produce the same result when given a
7545 #. that points to an array of structures in which both
7549 #. Instead, the call fails with the error
7552 #: build/C/man2/utimensat.2:585
7554 "Various bugs mean that for the purposes of permission checking, the case "
7555 "where both I<tv_nsec> fields are set to B<UTIME_NOW> isn't always treated "
7556 "the same as specifying I<times> as NULL, and the case where one I<tv_nsec> "
7557 "value is B<UTIME_NOW> and the other is B<UTIME_OMIT> isn't treated the same "
7558 "as specifying I<times> as a pointer to an array of structures containing "
7559 "arbitrary time values. As a result, in some cases: a) file timestamps can "
7560 "be updated by a process that shouldn't have permission to perform updates; "
7561 "b) file timestamps can't be updated by a process that should have permission "
7562 "to perform updates; and c) the wrong I<errno> value is returned in case of "
7566 #. This means that a process with a file descriptor that allows
7567 #. writing could change the timestamps of a file for which it
7568 #. does not have write permission;
7569 #. conversely, a process with a read-only file descriptor won't
7570 #. be able to update the timestamps of a file,
7571 #. even if it has write permission on the file.
7573 #: build/C/man2/utimensat.2:606
7575 "POSIX.1 says that a process that has I<write access to the file> can make a "
7576 "call with I<times> as NULL, or with I<times> pointing to an array of "
7577 "structures in which both I<tv_nsec> fields are B<UTIME_NOW>, in order to "
7578 "update both timestamps to the current time. However, B<futimens>() instead "
7579 "checks whether the I<access mode of the file descriptor allows writing>."
7583 #: build/C/man2/utimensat.2:615
7585 "B<chattr>(1), B<futimesat>(2), B<openat>(2), B<stat>(2), B<utimes>(2), "
7586 "B<futimes>(3), B<path_resolution>(7), B<symlink>(7)"
7590 #: build/C/man8/zdump.8:5
7596 #: build/C/man8/zdump.8:5
7602 #: build/C/man8/zdump.8:8
7603 msgid "zdump - timezone dumper"
7607 #: build/C/man8/zdump.8:21
7609 "B<zdump> [ B<--version> ] [ B<--help> ] [ B<-v> ] [ B<-c> "
7610 "[I<loyear>B<,>]I<hiyear> ] [ I<zonename> ... ]"
7614 #: build/C/man8/zdump.8:26
7616 "I<Zdump> prints the current time in each I<zonename> named on the command "
7621 #: build/C/man8/zdump.8:28 build/C/man8/zic.8:50
7622 msgid "These options are available:"
7626 #: build/C/man8/zdump.8:28
7628 msgid "B<--version>"
7632 #: build/C/man8/zdump.8:31
7633 msgid "Output version information and exit."
7637 #: build/C/man8/zdump.8:34
7638 msgid "Output short usage and exit."
7642 #: build/C/man8/zdump.8:34 build/C/man8/zic.8:76
7648 #: build/C/man8/zdump.8:50
7650 "For each I<zonename> on the command line, print the time at the lowest "
7651 "possible time value, the time one day after the lowest possible time value, "
7652 "the times both one second before and exactly at each detected time "
7653 "discontinuity, the time at one day less than the highest possible time "
7654 "value, and the time at the highest possible time value. Each line ends with "
7655 "B<isdst=1> if the given time is Daylight Saving Time or B<isdst=0> "
7660 #: build/C/man8/zdump.8:50
7662 msgid "B<-c >[I<loyear>B<,>]I<hiyear>"
7666 #: build/C/man8/zdump.8:56
7668 "Cut off the verbose output near the start of the given year(s). The output "
7669 "still includes the lowest possible time value and one day after it, and the "
7670 "highest possible time value preceded by the time value one day before it."
7675 #: build/C/man8/zdump.8:60
7676 msgid "B<tzfile>(5), B<zic>(8)"
7680 #: build/C/man8/zic.8:5
7686 #: build/C/man8/zic.8:8
7687 msgid "zic - timezone compiler"
7691 #: build/C/man8/zic.8:32
7693 "B<zic> [ B<-v> ] [ B<-d> I<directory> ] [ B<-l> I<localtime> ] [ B<-p> "
7694 "I<posixrules> ] [ B<-L> I<leapsecondfilename> ] [ B<-s> ] [ B<-y> I<command> "
7695 "] [ I<filename> \\&... ]"
7699 #: build/C/man8/zic.8:48
7701 "I<Zic> reads text from the file(s) named on the command line and creates the "
7702 "time conversion information files specified in this input. If a I<filename> "
7703 "is B<->, the standard input is read."
7707 #: build/C/man8/zic.8:50
7709 msgid "B<-d >I<directory>"
7713 #: build/C/man8/zic.8:54
7715 "Create time conversion information files in the named directory rather than "
7716 "in the standard directory named below."
7720 #: build/C/man8/zic.8:54
7722 msgid "B<-l >I<timezone>"
7726 #: build/C/man8/zic.8:59
7728 "Use the given timezone as local time. I<Zic> will act as if the input "
7729 "contained a link line of the form"
7733 #: build/C/man8/zic.8:62
7734 msgid "Link\tI<timezone>\t\tlocaltime"
7738 #: build/C/man8/zic.8:62
7740 msgid "B<-p >I<timezone>"
7744 #: build/C/man8/zic.8:68
7746 "Use the given timezone's rules when handling POSIX-format timezone "
7747 "environment variables. I<Zic> will act as if the input contained a link "
7752 #: build/C/man8/zic.8:71
7753 msgid "Link\tI<timezone>\t\tposixrules"
7757 #: build/C/man8/zic.8:71
7759 msgid "B<-L >I<leapsecondfilename>"
7763 #: build/C/man8/zic.8:76
7765 "Read leap second information from the file with the given name. If this "
7766 "option is not used, no leap second information appears in output files."
7770 #: build/C/man8/zic.8:82
7772 "Complain if a year that appears in a data file is outside the range of years "
7773 "representable by B<time>(2) values."
7777 #: build/C/man8/zic.8:82
7783 #: build/C/man8/zic.8:87
7785 "Limit time values stored in output files to values that are the same whether "
7786 "they're taken to be signed or unsigned. You can use this option to generate "
7787 "SVVS-compatible files."
7791 #: build/C/man8/zic.8:87
7793 msgid "B<-y >I<command>"
7797 #: build/C/man8/zic.8:94
7799 "Use the given I<command> rather than B<yearistype> when checking year types "
7804 #: build/C/man8/zic.8:105
7806 "Input lines are made up of fields. Fields are separated from one another by "
7807 "any number of white space characters. Leading and trailing white space on "
7808 "input lines is ignored. An unquoted sharp character (#) in the input "
7809 "introduces a comment which extends to the end of the line the sharp "
7810 "character appears on. White space characters and sharp characters may be "
7811 "enclosed in double quotes (\") if they're to be used as part of a field. "
7812 "Any line that is blank (after comment stripping) is ignored. Nonblank lines "
7813 "are expected to be of one of three types: rule lines, zone lines, and link "
7818 #: build/C/man8/zic.8:107
7819 msgid "A rule line has the form"
7823 #: build/C/man8/zic.8:109
7826 "\\w'Rule\\0\\0'u +\\w'NAME\\0\\0'u +\\w'FROM\\0\\0'u +\\w'1973\\0\\0'u "
7827 "+\\w'TYPE\\0\\0'u +\\w'Apr\\0\\0'u +\\w'lastSun\\0\\0'u +\\w'2:00\\0\\0'u "
7832 #: build/C/man8/zic.8:112
7834 msgid "Rule\tNAME\tFROM\tTO\tTYPE\tIN\tON\tAT\tSAVE\tLETTER/S\n"
7838 #: build/C/man8/zic.8:114 build/C/man8/zic.8:271 build/C/man8/zic.8:342 build/C/man8/zic.8:367
7840 msgid "For example:\n"
7844 #: build/C/man8/zic.8:117
7846 msgid "Rule\tUS\t1967\t1973\t-\tApr\tlastSun\t2:00\t1:00\tD\n"
7850 #: build/C/man8/zic.8:120
7851 msgid "The fields that make up a rule line are:"
7855 #: build/C/man8/zic.8:120 build/C/man8/zic.8:277
7861 #: build/C/man8/zic.8:123
7862 msgid "Gives the (arbitrary) name of the set of rules this rule is part of."
7866 #: build/C/man8/zic.8:123
7872 #: build/C/man8/zic.8:136
7874 "Gives the first year in which the rule applies. Any integer year can be "
7875 "supplied; the Gregorian calendar is assumed. The word I<minimum> (or an "
7876 "abbreviation) means the minimum year representable as an integer. The word "
7877 "I<maximum> (or an abbreviation) means the maximum year representable as an "
7878 "integer. Rules can describe times that are not representable as time "
7879 "values, with the unrepresentable times ignored; this allows rules to be "
7880 "portable among hosts with differing time value types."
7884 #: build/C/man8/zic.8:136
7890 #: build/C/man8/zic.8:150
7892 "Gives the final year in which the rule applies. In addition to I<minimum> "
7893 "and I<maximum> (as above), the word I<only> (or an abbreviation) may be "
7894 "used to repeat the value of the B<FROM> field."
7898 #: build/C/man8/zic.8:150
7904 #: build/C/man8/zic.8:167
7906 "Gives the type of year in which the rule applies. If B<TYPE> is B<-> then "
7907 "the rule applies in all years between B<FROM> and B<TO> inclusive. If "
7908 "B<TYPE> is something else, then I<zic> executes the command"
7912 #: build/C/man8/zic.8:171
7913 msgid "B<yearistype> I<year> I<type>"
7917 #: build/C/man8/zic.8:175
7919 "to check the type of a year: an exit status of zero is taken to mean that "
7920 "the year is of the given type; an exit status of one is taken to mean that "
7921 "the year is not of the given type."
7925 #: build/C/man8/zic.8:175
7931 #: build/C/man8/zic.8:179
7933 "Names the month in which the rule takes effect. Month names may be "
7938 #: build/C/man8/zic.8:179
7944 #: build/C/man8/zic.8:183
7945 msgid "Gives the day on which the rule takes effect. Recognized forms include:"
7949 #: build/C/man8/zic.8:186
7951 msgid "\\w'SunE<lt>=25\\0\\0'u"
7955 #: build/C/man8/zic.8:192
7958 "5\tthe fifth of the month\n"
7959 "lastSun\tthe last Sunday in the month\n"
7960 "lastMon\tthe last Monday in the month\n"
7961 "SunE<gt>=8\tfirst Sunday on or after the eighth\n"
7962 "SunE<lt>=25\tlast Sunday on or before the 25th\n"
7966 #: build/C/man8/zic.8:199
7968 "Names of days of the week may be abbreviated or spelled out in full. Note "
7969 "that there must be no spaces within the B<ON> field."
7973 #: build/C/man8/zic.8:199
7979 #: build/C/man8/zic.8:203
7981 "Gives the time of day at which the rule takes effect. Recognized forms "
7986 #: build/C/man8/zic.8:206
7988 msgid "\\w'1:28:13\\0\\0'u"
7992 #: build/C/man8/zic.8:212
7995 "2\ttime in hours\n"
7996 "2:00\ttime in hours and minutes\n"
7997 "15:00\t24-hour format time (for times after noon)\n"
7998 "1:28:14\ttime in hours, minutes, and seconds\n"
7999 "-\tequivalent to 0\n"
8003 #: build/C/man8/zic.8:234
8005 "where hour 0 is midnight at the start of the day, and hour 24 is midnight at "
8006 "the end of the day. Any of these forms may be followed by the letter I<w> "
8007 "if the given time is local E<.q \"wall clock\"> time, I<s> if the given time "
8008 "is local E<.q standard> time, or I<u> (or I<g> or I<z>) if the given time "
8009 "is universal time; in the absence of an indicator, wall clock time is "
8014 #: build/C/man8/zic.8:234
8020 #: build/C/man8/zic.8:246
8022 "Gives the amount of time to be added to local standard time when the rule is "
8023 "in effect. This field has the same format as the B<AT> field (although, of "
8024 "course, the I<w> and I<s> suffixes are not used)."
8028 #: build/C/man8/zic.8:246
8034 #: build/C/man8/zic.8:262
8036 "Gives the E<.q \"variable part\"> (for example, the E<.q S> or E<.q D> in "
8037 "E<.q EST> or E<.q EDT )> of timezone abbreviations to be used when this rule "
8038 "is in effect. If this field is B<->, the variable part is null."
8042 #: build/C/man8/zic.8:264
8043 msgid "A zone line has the form"
8047 #: build/C/man8/zic.8:267
8050 "\\w'Zone\\0\\0'u +\\w'Australia/Adelaide\\0\\0'u +\\w'UTCOFF\\0\\0'u "
8051 "+\\w'RULES/SAVE\\0\\0'u +\\w'FORMAT\\0\\0'u"
8055 #: build/C/man8/zic.8:269
8057 msgid "Zone\tNAME\tUTCOFF\tRULES/SAVE\tFORMAT\t[UNTIL]\n"
8061 #: build/C/man8/zic.8:274
8063 msgid "Zone\tAustralia/Adelaide\t9:30\tAus\tCST\t1971 Oct 31 2:00\n"
8067 #: build/C/man8/zic.8:277
8068 msgid "The fields that make up a zone line are:"
8072 #: build/C/man8/zic.8:282
8074 "The name of the timezone. This is the name used in creating the time "
8075 "conversion information file for the zone."
8079 #: build/C/man8/zic.8:282
8085 #: build/C/man8/zic.8:291
8087 "The amount of time to add to UTC to get standard time in this zone. This "
8088 "field has the same format as the B<AT> and B<SAVE> fields of rule lines; "
8089 "begin the field with a minus sign if time must be subtracted from UTC."
8093 #: build/C/man8/zic.8:291
8095 msgid "B<RULES/SAVE>"
8099 #: build/C/man8/zic.8:298
8101 "The name of the rule(s) that apply in the timezone or, alternately, an "
8102 "amount of time to add to local standard time. If this field is B<-> then "
8103 "standard time always applies in the timezone."
8107 #: build/C/man8/zic.8:298
8113 #: build/C/man8/zic.8:309
8115 "The format for timezone abbreviations in this timezone. The pair of "
8116 "characters B<%s> is used to show where the E<.q \"variable part\"> of the "
8117 "timezone abbreviation goes. Alternately, a slash (/) separates standard "
8118 "and daylight abbreviations."
8122 #: build/C/man8/zic.8:309
8128 #: build/C/man8/zic.8:319
8130 "The time at which the UTC offset or the rule(s) change for a location. It "
8131 "is specified as a year, a month, a day, and a time of day. If this is "
8132 "specified, the timezone information is generated from the given UTC offset "
8133 "and rule change until the time specified. The month, day, and time of day "
8134 "have the same format as the IN, ON, and AT columns of a rule; trailing "
8135 "columns can be omitted, and default to the earliest possible value for the "
8140 #: build/C/man8/zic.8:333
8142 "The next line must be a E<.q continuation> line; this has the same form as a "
8143 "zone line except that the string E<.q Zone> and the name are omitted, as the "
8144 "continuation line will place information starting at the time specified as "
8145 "the B<UNTIL> field in the previous line in the file used by the previous "
8146 "line. Continuation lines may contain an B<UNTIL> field, just as zone lines "
8147 "do, indicating that the next line is a further continuation."
8151 #: build/C/man8/zic.8:335
8152 msgid "A link line has the form"
8156 #: build/C/man8/zic.8:338
8158 msgid "\\w'Link\\0\\0'u +\\w'Europe/Istanbul\\0\\0'u"
8162 #: build/C/man8/zic.8:340
8164 msgid "Link\tLINK-FROM\tLINK-TO\n"
8168 #: build/C/man8/zic.8:345
8170 msgid "Link\tEurope/Istanbul\tAsia/Istanbul\n"
8174 #: build/C/man8/zic.8:355
8176 "The B<LINK-FROM> field should appear as the B<NAME> field in some zone line; "
8177 "the B<LINK-TO> field is used as an alternate name for that zone."
8181 #: build/C/man8/zic.8:358
8182 msgid "Except for continuation lines, lines may appear in any order in the input."
8186 #: build/C/man8/zic.8:360
8187 msgid "Lines in the file that describes leap seconds have the following form:"
8191 #: build/C/man8/zic.8:362
8194 "\\w'Leap\\0\\0'u +\\w'YEAR\\0\\0'u +\\w'MONTH\\0\\0'u +\\w'DAY\\0\\0'u "
8195 "+\\w'HH:MM:SS\\0\\0'u +\\w'CORR\\0\\0'u"
8199 #: build/C/man8/zic.8:365
8201 msgid "Leap\tYEAR\tMONTH\tDAY\tHH:MM:SS\tCORR\tR/S\n"
8205 #: build/C/man8/zic.8:370
8207 msgid "Leap\t1974\tDec\t31\t23:59:60\t+\tS\n"
8210 #. There's no need to document the following, since it's impossible for more
8211 #. than one leap second to be inserted or deleted at a time.
8212 #. The C Standard is in error in suggesting the possibility.
8213 #. See Terry J Quinn, The BIPM and the accurate measure of time,
8214 #. Proc IEEE 79, 7 (July 1991), 894-905.
8217 #. if two seconds were added
8220 #. if two seconds were skipped.
8222 #: build/C/man8/zic.8:410
8224 "The B<YEAR>, B<MONTH>, B<DAY>, and B<HH:MM:SS> fields tell when the leap "
8225 "second happened. The B<CORR> field should be E<.q +> if a second was added "
8226 "or E<.q -> if a second was skipped. The B<R/S> field should be (an "
8227 "abbreviation of) E<.q Stationary> if the leap second time given by the "
8228 "other fields should be interpreted as UTC or (an abbreviation of) E<.q "
8229 "Rolling> if the leap second time given by the other fields should be "
8230 "interpreted as local wall clock time."
8234 #: build/C/man8/zic.8:412
8235 msgid "/usr/local/etc/zoneinfo\tstandard directory used for created files"
8239 #: build/C/man8/zic.8:418
8241 "For areas with more than two types of local time, you may need to use local "
8242 "standard time in the B<AT> field of the earliest transition time's rule to "
8243 "ensure that the earliest transition time recorded in the compiled file is "
8249 #: build/C/man8/zic.8:422
8250 msgid "B<tzfile>(5), B<zdump>(8)"