OSDN Git Service

Release some pages for LDP v3.79
[linuxjm/LDP_man-pages.git] / release / man2 / gettimeofday.2
index 075525b..eccd112 100644 (file)
@@ -1,7 +1,6 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
 .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
@@ -21,6 +20,7 @@
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
 .\" Modified by Michael Haardt (michael@moria.de)
 .\" Modified 1993-07-23 by Rik Faith (faith@cs.unc.edu)
 .\" Modified, 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
 .\"   Added notes on capability requirement.
 .\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
 .\" Japanese Version Copyright (c) 1998 HANATAKA Shinya
 .\"         all rights reserved.
 .\" Translated 1998-05-11, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
 .\" Updated & Modified 2004-12-30, Yuichi SATO
 .\" Updated 2006-07-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\" Updated 2009-04-13, Akihiro MOTOKI, LDP v3.20
+.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2012-05-08, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-03-26, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.\"WORD:       timezone                タイムゾーン
-.\"WORD:       daylight savings times  夏時間(daylight savings times)
-.\"WORD:       macro                   マクロ
-.\"WORD:       null                    NULL
-.\"WORD:       superuser               スーパー・ユーザー
-.\"
-.TH GETTIMEOFDAY 2 2009-03-25 "Linux" "Linux Programmer's Manual"
+.TH GETTIMEOFDAY 2 2012\-04\-26 Linux "Linux Programmer's Manual"
 .SH 名前
 gettimeofday, settimeofday \- 時刻を取得/設定する
 .SH 書式
 .nf
-.B #include <sys/time.h>
+\fB#include <sys/time.h>\fP
 
-.BI "int gettimeofday(struct timeval *" tv ", struct timezone *" tz );
+\fBint gettimeofday(struct timeval *\fP\fItv\fP\fB, struct timezone *\fP\fItz\fP\fB);\fP
 
-.BI "int settimeofday(const struct timeval *" tv \
-", const struct timezone *" tz );
+\fBint settimeofday(const struct timeval *\fP\fItv\fP\fB, const struct timezone *\fP\fItz\fP\fB);\fP
 
 .fi
 .in -4n
-glibc 向けの機能検査マクロの要件
-.RB ( feature_test_macros (7)
-参照):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
-.BR settimeofday ():
-_BSD_SOURCE
+\fBsettimeofday\fP(): _BSD_SOURCE
 .SH 説明
-関数
-.BR gettimeofday ()
-と
-.BR settimeofday ()
-は時刻とタイムゾーンを取得または設定する。
-.I tv
-引き数は
-.I struct timeval
-である
-.RI ( <sys/time.h>
-で定義されている):
+関数 \fBgettimeofday\fP()  と \fBsettimeofday\fP()  は時刻とタイムゾーンを取得または設定する。 \fItv\fP 引き数は
+\fIstruct timeval\fP である (\fI<sys/time.h>\fP で定義されている):
 .sp
 .in +4n
 .nf
@@ -96,13 +86,8 @@ struct timeval {
 .fi
 .in
 .sp
-これにより紀元 (the Epoch:
-.BR time (2)
-を参照) からの秒とマイクロ秒が取得できる。
-.I tz
-引き数は
-.I "struct timezone"
-である:
+これにより紀元 (the Epoch: \fBtime\fP(2)  を参照) からの秒とマイクロ秒が取得できる。 \fItz\fP 引き数は \fIstruct
+timezone\fP である:
 .sp
 .in +4n
 .nf
@@ -113,33 +98,64 @@ struct timezone {
 .fi
 .in
 .PP
-.I tv
-や
-.I tz
-が NULL の場合、対応する構造体の設定/取得は行われない。
+.\" FIXME . The compilation warning looks to be going away in 2.17
+.\" see glibc commit 4b7634a5e03b0da6f8875de9d3f74c1cf6f2a6e8
 .\" The following is covered under EPERM below:
 .\" .PP
 .\" Only the superuser may use
 .\" .BR settimeofday ().
+\fItv\fP や \fItz\fP が NULL の場合、対応する構造体の設定/取得は行われない
+(ただし、\fItv\fP が NULL の場合には、コンパイル時の警告が発生する)。
 .PP
-.I timezone
-構造体を使うのは時代遅れ (obsolete) である:
-.I tz
-引き数は通常は NULL に指定すべきである。
-.I tz_dsttime
-フィールドは Linux では一切使われてこなかった;
-libc や glibc でもサポートされてこなかったし、
-これからもサポートされることはない。
-カーネルのソース中の宣言以外で、このフィールドが存在するのは全てバグである。
-よってこれ以降の記述は、純粋に歴史的興味に基づいたものである。
+\fItimezone\fP 構造体の利用は廃止予定とされている;
+通常は \fItz\fP 引き数に NULL を指定すべきである (下記の「注意」を参照)。
+
+Linux では、 \fBsettimeofday\fP() システムコールに関連して、独特の「クロックのズレ
+(warp clock)」が存在する場合がある。 これは (ブート後の) 最初の呼び出しで
+\fItz\fP 引き数が NULL でなく、 \fItv\fP 引き数が NULL で \fItz_minuteswest\fP フィールド
+が 0 でない場合に起こる (この場合 \fItz_dsttime\fP フィールドは 0 にすべきである)。
+このような場合、 \fBsettimeofday\fP() は CMOS クロックが地方時 (local time) であり、
+UTC システム時間を得るためには、\fItz_minuteswest\fP の分だけ増加させなくてはなら
+ないとみなしてしまう。 疑いもなく、この機構を使うことは良い考えではない。
+.SH 返り値
+\fBgettimeofday\fP()  と \fBsettimeofday\fP()  は成功すると 0 を返し、失敗した場合は \-1 を返す (この場合は
+\fIerrno\fP が適切に設定される)。
+.SH エラー
+.TP 
+\fBEFAULT\fP
+\fItv\fP か \fItz\fP のどちらかがアクセス可能なアドレス空間外を指している。
+.TP 
+\fBEINVAL\fP
+タイムゾーン (または他の何か) が不正である。
+.TP 
+\fBEPERM\fP
+呼び出し元プロセスに \fBsettimeofday\fP()  を呼び出すための十分な特権がない。 Linux では \fBCAP_SYS_TIME\fP
+ケーパビリティ (capability) が必要である。
+.SH 準拠
+SVr4, 4.3BSD に準拠する。 POSIX.1\-2001 は \fBgettimeofday\fP()  については記述しているが、
+\fBsettimeofday\fP()  については記述していない。 POSIX.1\-2008 では \fBgettimeofday\fP()
+は廃止予定とされており、 代わりに \fBclock_gettime\fP(2)  の使用が推奨されている。
+.SH 注意
+\fBgettimeofday\fP() が返す時刻は、システム時間の不連続な変化
+(例えば、システム管理者がシステム時間を手動で変更した場合など)
+の影響を\fI受ける\fP。単調増加するクロックが必要な場合は、
+\fBclock_gettime\fP(2) を参照してほしい。
 
-.I tz_dsttime
-フィールドには (以下で与えられるような) シンボル定数が格納される。
+\fItimeval\fP 構造体を操作するためのマクロの説明は \fBtimeradd\fP(3)  にある。
+
+昔は \fIstruct timeval\fP のフィールドは \fIlong\fP 型であった。
+
+.\" it has not
+.\" been and will not be supported by libc or glibc.
+.\" Each and every occurrence of this field in the kernel source
+.\" (other than the declaration) is a bug.
+\fItz_dsttime\fP は Linux でこれまで使われたことはない。
+したがって、以下は純粋に歴史的な興味から書かれたものである。
+
+\fItz_dsttime\fP フィールドには (下記に示す) シンボル定数が格納される。
 これは一年のうちでいつ夏時間 (Daylight Savings Time) を実施するかを示している
-(注意: その値は年間を通した定数である:
-夏時間が実施中であることを示すわけではなく、
-アルゴリズムを選択しているだけである)。
-夏時間は以下のように定義される:
+(注意: その値は年間を通した定数である: 夏時間が実施中であることを示すわけではなく、
+アルゴリズムを選択しているだけである)。 夏時間は以下のように定義される:
 .in +4n
 .nf
 
@@ -167,89 +183,16 @@ libc や glibc でもサポートされてこなかったし、
 .fi
 .in
 .PP
-当然のことながら、夏時間がどの期間に実施されるかを
-国ごとの簡単なアルゴリズムで導くことができないことが判明した。
-実際、夏時間の期間は予測不可能な政治的決定で決まる。
-そのためこの方法でタイム・ゾーンを表すことは断念された。
-Linux において
-.BR settimeofday ()
-を呼び出すときは、
-.I tz_dsttime
-フィールドを 0 にするべきである。
-.PP
-Linux では、
-.BR settimeofday ()
-システム・コールに関連して、独特の「クロックのズレ (warp clock)」が存在する。
-これは (ブート後の) 最初の呼び出しで
-.I tz
-引き数が NULL でなく、
-.I tv
-引き数が NULL で
-.I tz_minuteswest
-フィールドが 0 でない場合に起こる。
-このような場合、
-.BR settimeofday ()
-は CMOS クロックが地方時 (local time) であり、
-UTC システム時間を得るためには、
-.I tz_minuteswest
-の分だけ増加させなくてはならないとみなしてしまう。
-疑いもなく、この機構を使うことは良い考えではない。
-.PP
-.I timeval
-構造体を操作するためのマクロの説明は
-.BR timeradd (3)
-にある。
-.SH 返り値
-.BR gettimeofday ()
-と
-.BR settimeofday ()
-は成功すると 0 を返し、失敗した場合は \-1 を返す
-(この場合は
-.I errno
-が適切に設定される)。
-.SH エラー
-.TP
-.B EFAULT
-.I tv
-か
-.I tz
-のどちらかがアクセス可能なアドレス空間外を指している。
-.TP
-.B EINVAL
-タイムゾーン (または他の何か) が不正である。
-.TP
-.B EPERM
-呼び出し元プロセスに
-.BR settimeofday ()
-を呼び出すための十分な特権がない。
-Linux では
-.B CAP_SYS_TIME
-ケーパビリティ (capability) が必要である。
-.SH 準拠
-SVr4, 4.3BSD に準拠する。
-POSIX.1-2001 は
-.BR gettimeofday ()
-については記述しているが、
-.BR settimeofday ()
-については記述していない。
-POSIX.1-2008 では
-.BR gettimeofday ()
-は廃止予定とされており、
-代わりに
-.BR clock_gettime (2)
-の使用が推奨されている。
-.SH 注意
-.LP
-昔は
-.I struct timeval
-のフィールドは
-.I long
-型であった。
+当然のことながら、夏時間がどの期間に実施されるかを国ごとの簡単なアルゴリズムで
+導くことができないことが判明した。 実際、夏時間の期間は予測不可能な政治的決定で
+決定される。そのため、この方法でタイムゾーンを表すことは断念された。
+Linux において \fBsettimeofday\fP() を呼び出すときは、
+\fItz_dsttime\fP フィールドを 0 にするべきである。
 .SH 関連項目
-.BR date (1),
-.BR adjtimex (2),
-.BR time (2),
-.BR ctime (3),
-.BR ftime (3),
-.BR capabilities (7),
-.BR time (7)
+\fBdate\fP(1), \fBadjtimex\fP(2), \fBclock_gettime\fP(2), \fBtime\fP(2),
+\fBctime\fP(3), \fBftime\fP(3), \fBtimeradd\fP(3), \fBcapabilities\fP(7),
+\fBtime\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。