カーネルモジュールで(エポック以降の)現在の時刻を秒単位で取得する標準的な方法は何ですか?
私は、xtimeを取得することを含むテクニックを見てきました。これは、非常に長く、whileループとロックを含みます。より良い方法があるに違いありません。
[これは重複ではありません。私はSOに関する以前の質問に目を通しました。これらの多くに対する答えは、使用される関数を指定していないか、カーネルで許可されていないtime.hを誤って参照しています]
カーネルモジュールで(エポック以降の)現在の時刻を秒単位で取得する標準的な方法は何ですか?
私は、xtimeを取得することを含むテクニックを見てきました。これは、非常に長く、whileループとロックを含みます。より良い方法があるに違いありません。
[これは重複ではありません。私はSOに関する以前の質問に目を通しました。これらの多くに対する答えは、使用される関数を指定していないか、カーネルで許可されていないtime.hを誤って参照しています]
あなたはそのために使うことができますgetnstimeofday
。
/* getnstimeofday - Returns the time of day in a timespec */
void getnstimeofday(struct timespec *ts)
ここstruct timespec
で:
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
そして、はい、あなたは必要になります#include <linux/time.h>
。