gettimer、settimer、restimer、stime、または time サブルーチン

目的

指定されたシステム共通タイマーの現行値を入手または設定します。

ライブラリー

標準 C ライブラリー (libc.a)

構文

#include <sys/time.h>
#include <sys/types.h>
int gettimer( TimerType,  Value)
timer_t TimerType;
struct timestruc_t * Value;
#include <sys/timers.h>
#include <sys/types.h>
int gettimer( TimerType,  Value)
timer_t TimerType;
struct itimerspec * Value;
int settimer(TimerType TimePointer)
int TimerType;
const struct timestruc_t *TimePointer;
int restimer(TimerType Resolution MaximumValue)
int TimerType;
struct timestruc_t *Resolution, *MaximumValue;
int stime( Tp)
long *Tp;
#include <sys/types.h>
time_t time(Tp)
time_t *Tp

説明

settimer サブルーチンは、 TimerType パラメーターで指定された、システム全体のタイマーの TimePointer パラメーターの現行値を設定するために使用されます。

gettimer サブルーチンを sys/timers.hの関数プロトタイプと一緒に使用すると、パラメーターを除き、 gettimer サブルーチンは getinterval サブルーチンと同じになります。 標準に準拠したアプリケーションで gettimer サブルーチンが必要な場合を除き、 getinterval サブルーチンを使用することをお勧めします。 gettimer サブルーチンの記述とセマンティクスは、リリース間で変更されることがあり、現在の gettimer サブルーチンの記述の基礎となっているドラフト標準での変更が保留されます。

gettimer サブルーチンを /sys/timers.hの関数プロトタイプと一緒に使用すると、 gettimer サブルーチンは、 Value パラメーターで指定されたポインターに itimerspec 構造体を戻します。 itimerspec 構造体の it_value メンバーは、タイマー ( TimerType パラメーターで指定) の有効期限が切れるまでの現在の間隔の時間、またはタイマーが使用不可の場合はゼロの間隔を表します。 Value パラメーターで指定されたポインターのメンバーは、タイマーの解決に従います。

gettimer サブルーチンを sys/time.hの関数プロトタイプと一緒に使用すると、 gettimer サブルーチンは、 Value パラメーターで指定されたポインターに timestruc 構造体を戻します。 この構造体は、 Value パラメーターで指定されたシステム全体のタイマーの現行値を保持します。

タイマーの解像度は、 restimer サブルーチンによって得られます。 Resolution パラメーターは、指定されたタイマーの解像度を表します。 MaximumValue パラメーターは、可能な最大タイマー値を表します。 これらのパラメーターの値は、 settimer サブルーチンによって受け入れられる解像度です。

注: 非特権ユーザーが細分度の高いタイマー (つまり、10 ミリ秒未満のタイマー要求) を送信しようとすると、タイマー要求は 10 ミリ秒に引き上げられます。

time サブルーチンは、エポック (つまり、1970 年 1 月 1 日 00:00:00 GMT) 以降の時間を秒単位で戻します。 Tp パラメーターは、戻り値も保管される領域を指します。 Tp パラメーターが NULL ポインターの場合、値は保管されません。

stime サブルーチンは、古い AIX®、AT & T System V、および BSD システムとの互換性を提供するために実装されています。 TIMEOFDAY タイマーを使用して settimer サブルーチンを呼び出します。

パラメーター

項目 説明
VALUE タイプ itimerspecの構造体を指します。
TimerType システム全体のタイマーを指定します。
TimeOfDay
(POSIX システム・クロック・タイマー) このタイマーは、システムの時刻機構を表します。 このタイマーの場合、 gettimer サブルーチンによって戻され、 settimer サブルーチンによって指定される値は、1970 年 1 月 1 日 00:00:00 GMT からの経過時間を表します。
TimePointer struct timestruc_t型の構造体を指します。
解決 指定されたタイマーの解像度。
MaximumValue 可能な最大タイマー値。
TP 時間 (秒単位) を含む構造体を指します。

戻り値

gettimersettimerrestimer、および stime サブルーチンは、呼び出しが成功すると値 0 (ゼロ) を返します。 戻り値 -1 はエラーが発生したことを示し、 errno が設定されます。

time サブルーチンは、エポック以降の時間の値を秒単位で戻します。 それ以外の場合は、値 ((time_t)-1) が戻され、エラーを示すために errno グローバル変数が設定されます。

エラー・コード

gettimersettimerrestimer、または stime サブルーチンでエラーが発生した場合、 戻り値-1 が受信され、 errno グローバル変数が以下のいずれかのエラー・コードに設定されます。

項目 説明
EINVAL TimerType パラメーターが既知のシステム全体のタイマーを指定していないか、または settimer サブルーチンの TimePointer パラメーターが指定されたシステム全体のタイマーの範囲外です。
EFAULT パラメーター・アドレスが無効なメモリーを参照しました。
EIO タイマー装置へのアクセス中にエラーが発生しました。
EPERM 要求プロセスには、指定されたタイマーを設定するための適切な特権がありません。

time サブルーチンが失敗すると、戻り値 -1 が受信され、 errno グローバル変数は次のように設定されます。

項目 説明
EFAULT パラメーター・アドレスが無効なメモリーを参照しました。