OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / draft / man4 / rtc.4
diff --git a/draft/man4/rtc.4 b/draft/man4/rtc.4
deleted file mode 100644 (file)
index f2a374a..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-.\" rtc.4
-.\" Copyright 2002 Urs Thuermann (urs@isnogud.escape.de)
-.\"
-.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
-.\" This is free documentation; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License, or (at your option) any later version.
-.\"
-.\" The GNU General Public License's references to "object code"
-.\" and "executables" are to be interpreted as the output of any
-.\" document formatting or typesetting system, including
-.\" intermediate and printed output.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, see
-.\" <http://www.gnu.org/licenses/>.
-.\" %%%LICENSE_END
-.\"
-.\" $Id: rtc.4,v 1.4 2005/12/05 17:19:49 urs Exp $
-.\"
-.\" 2006-02-08 Various additions by mtk
-.\" 2006-11-26 cleanup, cover the generic rtc framework; David Brownell
-.\"
-.\"*******************************************************************
-.\"
-.\" This file was generated with po4a. Translate the source file.
-.\"
-.\"*******************************************************************
-.\"
-.\" Japanese Version Copyright (c) 2006-2007 Yuichi SATO
-.\"         all rights reserved.
-.\" Translated 2006-07-12 by Yuichi SATO <ysato444@yahoo.co.jp>. LDP v2.29
-.\" Updated & Modified 2007-01-08 by Yuichi SATO. LDP v2.43
-.\"
-.TH RTC 4 2010\-02\-25 Linux "Linux Programmer's Manual"
-.SH 名前
-rtc \- リアルタイムクロック
-.SH 書式
-#include <linux/rtc.h>
-.sp
-\fBint ioctl(\fP\fIfd\fP\fB, RTC_\fP\fIrequest\fP\fB, \fP\fIparam\fP\fB);\fP
-.SH 説明
-これはリアルタイムクロック (RTC) のドライバのインターフェースである。
-
-多くのコンピュータは、現在の「壁時計」時刻 ("wall clock" time) を記録する、 ハードウェアクロックを 1 個以上持っている。
-これらは「リアルタイムクロック」(RTC) と呼ばれる。 これらの時計のうち 1 つは、通常は電池でバックアップして駆動されるので、
-コンピュータのスイッチを切っても、時刻を保持できる。 多くの場合、RTC はアラームやその他の割り込みの機能を提供する。
-
-全ての i386 PC と ACPI ベースのシステムには RTC がある。 この RTC は、元々の PC/AT に存在した Motorola
-MC146818 チップと互換性がある。 このような RTC は、今日ではマザーボードの チップセット (サウスブリッジ)
-内で実装されていることが多く、 交換可能な硬貨くらいの大きさのバックアップ電池を使っている。
-
-システムオンチップ (system\-on\-chip) プロセッサを使って作られた 組み込みシステムといった、PC
-以外のシステムでは、別な実装を用いている。 このようなシステムでは、PC/AT の RTC と同じ機能を提供していない場合が多い。
-.SS "RTC とシステムクロックの違い"
-RTC をシステムクロックと混同すべきではない。 システムクロックは、カーネルに管理されるソフトウェアクロックであり、
-ファイルによるタイムスタンプ設定などとともに、 \fBgettimeofday\fP(2)  や \fBtime\fP(2)  を実装するのに使用されている。
-システムクロックは、POSIX における紀元 (Epoch; 1970\-01\-01 00:00:00 +0000 (UTC)) からの秒とミリ秒を表す。
-1 つの一般的な実装ではタイマー割り込みを、"jiffy" 毎に 1 回、 100, 250, 1000 Hz という周波数でカウントする。
-
-RTC とシステムクロックの重要な違いは、 RTC はシステムが低電力状態 (「オフ」の場合も含む) でも動作するのに対し、
-システムクロックは動作しない点である。 システムクロックは、初期化が行われるまでは、 POSIX
-紀元からではなくシステムのブート時からの時刻しか返せない。 そのため、ブート時やシステムの低電力状態からの復帰 (resume) 後には、
-システムクロックは RTC を使って現在の壁時計時刻に設定される場合が多い。 RTC を持たないシステムでは、
-他の時計を使ってシステムクロックを設定する必要があり、 ネットワークにアクセスしたり、(時刻) データを手動で入力したりするだろう。
-.SS "RTC の機能"
-RTC は \fBhwclock\fP(8)  または下記の ioctl リクエストで読み書きができる。
-
-日付と時間をカウントするのに加えて、 多くの RTC は以下のように割り込みを発生できる。
-.IP * 3
-クロックの更新毎 (つまり 1 秒毎)。
-.IP *
-2 Hz から 8192 Hz までの 2 の乗数の周波数で、定期的な間隔。
-.IP *
-前もって指定したアラーム時刻に達した時。
-.PP
-これらの割り込み元は、個別に有効にしたり無効にしたりできる。 多くのシステムでは、アラーム割り込みをシステムの ウェイクアップイベントとして設定できる。
-このイベントは、RAM へのサスペンド (STR, ACPI システムで S3 と呼ばれる) や ハイバーネーション (ACPI システムで S4
-と呼ばれる) といった低電力状態や、 「オフ」(ACPI システムで S5 と呼ばれる) からでも、システムを復帰できる。 電池でバックアップされた
-RTC が割り込みを発生できるシステムと、 できないシステムがある。
-
-\fI/dev/rtc\fP (または \fI/dev/rtc0\fP, \fI/dev/rtc1\fP などの)  デバイスは (クローズされるまで) 1
-回しかオープンすることができず、 読み込み専用である。 \fBread\fP(2)  と \fBselect\fP(2)  を呼び出したプロセスは、 RTC
-からの割り込みを受け取るまで停止 (block) される。 割り込みの後、プロセスは long 型整数を読み出すことができる。
-この整数の最下位バイトは発生した割り込みの種別を コード化したビットマスクであり、 残りの 3 バイトは最後の \fBread\fP(2)
-以降に発生した割り込みの回数である。
-.SS "ioctl(2) インターフェース"
-以下の \fBioctl\fP(2)  リクエストが RTC デバイスの接続された ファイルディスクリプターに対して定義されている:
-.TP 
-\fBRTC_RD_TIME\fP
-RTC の時刻を以下の構造体で返す:
-.IP
-.in +4n
-.nf
-struct rtc_time {
-    int tm_sec;
-    int tm_min;
-    int tm_hour;
-    int tm_mday;
-    int tm_mon;
-    int tm_year;
-    int tm_wday;     /* 未使用 */
-    int tm_yday;     /* 未使用 */
-    int tm_isdst;    /* 未使用 */
-};
-.fi
-.in
-.IP
-この構造体のフィールドは \fBgmtime\fP(3)  で説明されている \fItm\fP 構造体のフィールドと同じ意味で同じ範囲である。
-この構造体へのポインターを \fBioctl\fP(2)  の第 3 引き数として渡す。
-.TP 
-\fBRTC_SET_TIME\fP
-\fBioctl\fP(2)  の第 3 引き数が指す \fIrtc_time\fP 構造体の値を RTC 時刻に設定する。 RTC
-時刻の設定する場合、プロセスは特権 (つまり \fBCAP_SYS_TIME\fP ケーパビリティ) を持たなければならない。
-.TP 
-\fBRTC_ALM_READ\fP, \fBRTC_ALM_SET\fP
-アラームがサポートされている RTC に対して、 アラーム時刻の読み込みと設定を行う。 アラーム割り込みは、 \fBRTC_AIE_ON\fP,
-\fBRTC_AIE_OFF\fP を使って、これとは別に有効または無効にしなければならない。 \fBioctl\fP(2) の第 3 引き数は、
-\fIrtc_time\fP 構造体へのポインターでなければならない。 この構造体の \fItm_sec\fP, \fItm_min\fP, \fItm_hour\fP
-フィールドのみが使用される。
-.TP 
-\fBRTC_IRQP_READ\fP, \fBRTC_IRQP_SET\fP
-周期的な割り込みがサポートされている RTC に対して、 周期的な割り込みの周波数の読み込みと設定を行う。 周期的な割り込みは、
-\fBRTC_PIE_ON\fP, \fBRTC_PIE_OFF\fP を使って、これとは別に有効または無効にしなければならない。 \fBioctl\fP(2) の第 3
-引き数は、それぞれ \fIunsigned long\ *\fP と \fIunsigned long\fP である。 この値は 1
-秒当たりの割り込みの回数である。 指定可能な周波数は、2 の乗数で 2 から 8192 の範囲である。 特権プロセス (つまり
-\fBCAP_SYS_RESOURCE\fP ケーパビリティを持つプロセス) のみが、 \fI/proc/sys/dev/rtc/max\-user\-freq\fP
-に書かれた上記の周波数を設定できる。 (このファイルにはデフォルトで 64 という値が書かれている)。
-.TP 
-\fBRTC_AIE_ON\fP, \fBRTC_AIE_OFF\fP
-アラームがサポートされている RTC に対して、 アラーム割り込みを有効または無効にする。 \fBioctl\fP(2) の第 3 引き数は無視される。
-.TP 
-\fBRTC_UIE_ON\fP, \fBRTC_UIE_OFF\fP
-1 秒毎の割り込みがサポートされている RTC に対して、 クロック更新毎の割り込みを有効または無効にする。 \fBioctl\fP(2) の第 3
-引き数は無視される。
-.TP 
-\fBRTC_PIE_ON\fP, \fBRTC_PIE_OFF\fP
-周期的な割り込みがサポートされている RTC に対して、 周期的な割り込みを有効または無効にする。 \fBioctl\fP(2) の第 3
-引き数は無視される。 特権プロセス (つまり \fBCAP_SYS_RESOURCE\fP ケーパビリティを持つプロセス) のみが、 その時点で
-\fI/proc/sys/dev/rtc/max\-user\-freq\fP に周期が上記の値に指定されている場合に、 周期的な割り込みを有効にできる。
-.TP 
-\fBRTC_EPOCH_READ\fP, \fBRTC_EPOCH_SET\fP
-多くの RTC は年を 8 ビットのレジスターにコード化する。 年は 8 ビットのバイナリ数または BCD 数に変換される。
-どちらの場合でも、その数値は RTC の紀元から相対値に変換される。 多くのシステムでは RTC の紀元は 1900 に初期化されるが、 Alpha と
-MIPS では、RTC レジスターの年の値に応じて、 1952, 1980, 2000 の何れかに初期化される。 これらの操作でそれぞれ RTC
-の紀元の読み込みと設定が可能な RTC もある。 \fBioctl\fP(2) の第 3 引き数は、それぞれ \fIunsigned long\ *\fP と
-\fIunsigned long\fP である。 返される値 (または指定される値) は紀元である。 RTC の紀元を設定する場合、プロセスは特権 (つまり
-\fBCAP_SYS_TIME\fP ケーパビリティ) を持たなければならない。
-.TP 
-\fBRTC_WKALM_RD\fP, \fBRTC_WKALM_SET\fP
-RTC の中にはより強力なアラームインターフェースをサポートするものもあり、 これらの ioctl を使うことで、以下のような構造体で RTC
-のアラーム時刻を (それぞれ) 読み書きできる:
-.PP
-.RS
-.in +4n
-.nf
-struct rtc_wkalrm {
-    unsigned char enabled;
-    unsigned char pending;
-    struct rtc_time time;
-};
-.fi
-.in
-.RE
-.IP
-\fIenabled\fP フラグはアラーム割り込みを有効または無効したり、 現在の状態を読み込むのに使用される。 これらのフラグを使う場合、
-\fBRTC_AIE_ON\fP と \fBRTC_AIE_OFF\fP は使用されない。 \fIpending\fP フラグは \fBRTC_WKALM_RD\fP
-で使用され、処理待ちの割り込みを表示する (EFI ファームウェアで管理される RTC と通信するとき以外、 Linux ではほとんど役に立たない)。
-\fItime\fP フィールドは \fBRTC_ALM_READ\fP や \fBRTC_ALM_SET\fP の場合と同じように使用されるが、 \fItm_mday\fP,
-\fItm_mon\fP, \fItm_year\fP フィールドも有効であるという点が異なる。 この構造体へのポインターを \fBioctl\fP(2)  の第 3
-引き数として渡さなければならない。
-.SH ファイル
-\fI/dev/rtc\fP, \fI/dev/rtc0\fP, \fI/dev/rtc1\fP など: RTC 特殊キャラクターデバイスファイル
-
-\fI/proc/driver/rtc\fP: (1 つ目の) RTC の状態
-.SH 注意
-カーネルのシステムクロックを \fBadjtimex\fP(2)  を使って外部参照で同期させる場合、 \fBadjtimex\fP(2)  は指定された RTC
-を 11 分毎に定期的に更新する。 これを行うためカーネルは周期的な割り込みを短期間無効にする必要がある。 これは RTC
-を使うプログラムに影響を与える。
-
-RTC の紀元は、システムクロックでのみ使用される POSIX の紀元とは何の関係もない。
-
-RTC の紀元と年のレジスターに基づく年が 1970 未満である場合、 100 年後、つまり 2000 から 2069 であると仮定される。
-
-RTC の中にはアラームフィールドに 「ワイルドカード」の値をサポートするものもあり、 毎時 15
-分や各月の初日など、定期的なアラームを行うシナリオをサポートする。 このような使い方は移植性がない。
-移植性の高いユーザー空間コードでは、単独のアラーム割り込みだけを想定し、 割り込みの受信後にアラームを無効または再初期化すべきである。
-
-以下の機能をサポートする RTC もある。 1 秒の分数ではなく、1 秒の倍数を周期とする周期的な割り込み。 複数のアラーム。
-プログラム可能な出力クロックシグナル。 不揮発性 (nonvolatile) メモリー。 この API で現在提供していない、その他のハードウェア機能。
-.SH 関連項目
-\fBdate\fP(1), \fBadjtimex\fP(2), \fBgettimeofday\fP(2), \fBsettimeofday\fP(2),
-\fBstime\fP(2), \fBtime\fP(2), \fBgmtime\fP(3), \fBtime\fP(7), \fBhwclock\fP(8)
-
-Linux カーネルソース内の \fIDocumentation/rtc.txt\fP
-.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。