総合手引 | セクション 2 | English | オプション |
#include <sys/time.h>
システムが保持している現在のグリニッジ時刻と現在の時間帯は gettimeofday() システムコールから得られ、 settimeofday() システムコールで設定されます。 時刻は 1970 年 1 月 1 日の深夜 (0 時) からの秒数とマイクロ秒数で表現されます。 システムクロックの分解能はハードウェアで決まり、 時刻は継続的または "チック" 単位で更新されます。 tp または tzp が NULL の場合、対応する時刻情報は返されず、また設定されません。
tp と tzp の指す構造体は <sys/time.h> 内に次のように定義されています:
struct timeval { long tv_sec; /* 1970 年 1 月 1 日からの秒数 */ long tv_usec; /* およびマイクロ秒数 */ };struct timezone { int tz_minuteswest; /* グリニッジから西方向への偏差 */ int tz_dsttime; /* 夏時間補正のタイプ */ };
timezone 構造体は、ローカル時間帯 (グリニッジから西向きに分単位で測定) と フラグを含みます。 フラグが 0 でない場合は、1 年の適切な時期に 夏時間がその地域に適用されることを示します。
スーパユーザだけが時刻または時間帯を設定できます。 システムが securelevel >= 2 (init(8) を参照) で実行される場合は、 最大 1 秒のみ時刻を進めるか遅らせることしかできません。 この制限が課されるのは、悪意のあるスーパユーザがファイルに任意の タイムスタンプを設定するのを防止するためです。 システム時刻は、システムが安全モードにあっても adjtime(2) システムコールを使用して制限なしに後方に調整できます。
[EFAULT] | |
引数アドレスが無効なメモリを参照しました。 | |
[EPERM] | |
スーパユーザ以外のユーザが時刻を設定しようとしました。 | |
GETTIMEOFDAY (2) | May 26, 1995 |
総合手引 | セクション 2 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.