OSDN Git Service

Release some pages for LDP v3.79
[linuxjm/LDP_man-pages.git] / release / man2 / gettimeofday.2
index ab8d5c1..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"
-.SH Ì¾Á°
-gettimeofday, settimeofday \- »þ¹ï¤ò¼èÆÀ/ÀßÄꤹ¤ë
-.SH ½ñ¼°
+.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
-.SH ÀâÌÀ
-´Ø¿ô
-.BR gettimeofday ()
-¤È
-.BR settimeofday ()
-¤Ï»þ¹ï¤È¥¿¥¤¥à¥¾¡¼¥ó¤ò¼èÆÀ¤Þ¤¿¤ÏÀßÄꤹ¤ë¡£
-.I tv
-°ú¤­¿ô¤Ï
-.I struct timeval
-¤Ç¤¢¤ë
-.RI ( <sys/time.h>
-¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë):
+\fBsettimeofday\fP(): _BSD_SOURCE
+.SH 説明
+関数 \fBgettimeofday\fP()  と \fBsettimeofday\fP()  は時刻とタイムゾーンを取得または設定する。 \fItv\fP 引き数は
+\fIstruct timeval\fP である (\fI<sys/time.h>\fP で定義されている):
 .sp
 .in +4n
 .nf
 struct timeval {
-    time_t      tv_sec;     /* Éà*/
-    suseconds_t tv_usec;    /* ¥Þ¥¤¥¯¥íÉà*/
+    time_t      tv_sec;     /*  */
+    suseconds_t tv_usec;    /* マイクロ秒 */
 };
 .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
 struct timezone {
-    int tz_minuteswest;     /* ¥°¥ê¥Ë¥Ã¥¸É¸½à»þ¤È¤Îº¹ (À¾Êý¤Ëʬñ°Ì) */
-    int tz_dsttime;         /* ²Æ»þ´ÖÄ´À°¤Î·¿ */
+    int tz_minuteswest;     /* グリニッジ標準時との差 (西方に分単位) */
+    int tz_dsttime;         /* 夏時間調整の型 */
 };
 .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
-¥Õ¥£¡¼¥ë¥É¤Ë¤Ï (°Ê²¼¤ÇÍ¿¤¨¤é¤ì¤ë¤è¤¦¤Ê) ¥·¥ó¥Ü¥ëÄê¿ô¤¬³ÊǼ¤µ¤ì¤ë¡£
-¤³¤ì¤Ï°ìǯ¤Î¤¦¤Á¤Ç¤¤¤Ä²Æ»þ´Ö (Daylight Savings Time) ¤ò¼Â»Ü¤¹¤ë¤«¤ò¼¨¤·¤Æ¤¤¤ë
-(Ãí°Õ: ¤½¤ÎÃͤÏǯ´Ö¤òÄ̤·¤¿Äê¿ô¤Ç¤¢¤ë:
-²Æ»þ´Ö¤¬¼Â»ÜÃæ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢
-¥¢¥ë¥´¥ê¥º¥à¤òÁªÂò¤·¤Æ¤¤¤ë¤À¤±¤Ç¤¢¤ë)¡£
-²Æ»þ´Ö¤Ï°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤ë:
+\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
 
-\fBDST_NONE\fP     /* ²Æ»þ´Ö¤òºÎÍѤ·¤Æ¤¤¤Ê¤¤ */
+\fBDST_NONE\fP     /* 夏時間を採用していない */
 .br
-\fBDST_USA\fP      /* ¥¢¥á¥ê¥«¹ç½°¹ñ¼°²Æ»þ´Ö */
+\fBDST_USA\fP      /* アメリカ合衆国式夏時間 */
 .br
-\fBDST_AUST\fP     /* ¥ª¡¼¥¹¥È¥é¥ê¥¢¼°²Æ»þ´Ö */
+\fBDST_AUST\fP     /* オーストラリア式夏時間 */
 .br
-\fBDST_WET\fP      /* À¾¥è¡¼¥í¥Ã¥Ñ¼°²Æ»þ´Ö */
+\fBDST_WET\fP      /* 西ヨーロッパ式夏時間 */
 .br
-\fBDST_MET\fP      /* Ãæ±û¥è¡¼¥í¥Ã¥Ñ¼°²Æ»þ´Ö */
+\fBDST_MET\fP      /* 中央ヨーロッパ式夏時間 */
 .br
-\fBDST_EET\fP      /* Åì¥è¡¼¥í¥Ã¥Ñ¼°²Æ»þ´Ö */
+\fBDST_EET\fP      /* 東ヨーロッパ式夏時間 */
 .br
-\fBDST_CAN\fP      /* ¥«¥Ê¥À */
+\fBDST_CAN\fP      /* カナダ */
 .br
-\fBDST_GB\fP       /* ¥°¥ì¡¼¥È¥Ö¥ê¥Æ¥ó¤ª¤è¤Ó¥¢¥¤¥ë¥é¥ó¥É */
+\fBDST_GB\fP       /* グレートブリテンおよびアイルランド */
 .br
-\fBDST_RUM\fP      /* ¥ë¡¼¥Þ¥Ë¥¢ */
+\fBDST_RUM\fP      /* ã\83«ã\83¼ã\83\9eã\83\8bã\82¢ */
 .br
-\fBDST_TUR\fP      /* ¥È¥ë¥³ */
+\fBDST_TUR\fP      /* ã\83\88ã\83«ã\82³ */
 .br
-\fBDST_AUSTALT\fP  /* 1986ǯ¤Ë°Ü¹Ô¤µ¤ì¤¿¥ª¡¼¥¹¥È¥é¥ê¥¢¼° */
+\fBDST_AUSTALT\fP  /* 1986年に移行されたオーストラリア式 */
 .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
-·¿¤Ç¤¢¤Ã¤¿¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR date (1),
-.BR adjtimex (2),
-.BR time (2),
-.BR ctime (3),
-.BR ftime (3),
-.BR capabilities (7),
-.BR time (7)
+当然のことながら、夏時間がどの期間に実施されるかを国ごとの簡単なアルゴリズムで
+導くことができないことが判明した。 実際、夏時間の期間は予測不可能な政治的決定で
+決定される。そのため、この方法でタイムゾーンを表すことは断念された。
+Linux において \fBsettimeofday\fP() を呼び出すときは、
+\fItz_dsttime\fP フィールドを 0 にするべきである。
+.SH 関連項目
+\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/ に書かれている。