Linux全般 > カーネル内で時刻を取得する方法

更新日 2015-02-11
広告

カーネルやカーネルモジュールなどで、時刻を取得する方法を紹介します。

通常のアプリケーションを実装する場合は gettimeofday 関数を使うのですが、カーネル内部からだと、少し違う関数になります。 以下は、時刻を取得して出力するサンプルコードです。

#include <linux/time.h>
 
static int print_timestamp() {
  struct timespec time;
  long timestamp;
 
  getnstimeofday(&time);
  timestamp = time.tv_sec * 1000000000L + time.tv_nsec;

  printk(KERN_INFO "time = %ld nsec. \n", timestamp);
  return 0;
}
このように、timespec構造体と、getnstimeofday関数を使うことで、現在時刻を取得できます。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system