picox  0.1
xtime.h ファイル
被依存関係図:

[ソースコード]

データ構造

struct  XTimeVal
 高精度のシステム時刻を格納するための型です [詳解]
 

マクロ定義

#define X_TICKS_FOREVER   ((XTicks)-1)
 待ち関数で永久待ちを表す特殊値です [詳解]
 
#define X_TICKS_PER_SEC   X_CONF_TICKS_PER_SEC
 
time_conversion_macros

同等の関数のマクロ版です

#define X_MSEC_TO_TICKS(msec)    (X_DIV_ROUNDUP((msec) * X_TICKS_PER_SEC, 1000))
 
#define X_USEC_TO_TICKS(usec)    (X_DIV_ROUNDUP((usec) * X_TICKS_PER_SEC, 1000) / 1000)
 
#define X_TICKS_TO_MSEC(ticks)   (((ticks) * 1000) / X_TICKS_PER_SEC)
 
#define X_TICKS_TO_USEC(ticks)   ((((ticks) * 1000) / X_TICKS_PER_SEC) * 1000)
 
timeval_operations

以下リンク先のstruct timevalに対する操作の互換マクロです。XTimeValに対して使 用します。

https://linuxjm.osdn.jp/html/LDP_man-pages/man3/timeradd.3.html

#define x_timerclear(tvp)    ((tvp)->tv_sec = (tvp)->tv_usec = 0)
 
#define x_timerisset(tvp)    ((tvp)->tv_sec || (tvp)->tv_usec)
 
#define x_timercmp(tvp, uvp, cmp)
 
#define x_timeradd(tvp, uvp, vvp)
 
#define x_timersub(tvp, uvp, vvp)
 

型定義

typedef int32_t XMSeconds
 ミリ秒単位の時間を格納する型です
 
typedef int32_t XSeconds
 秒単位の時間を格納する型です [詳解]
 
typedef int32_t XTicks
 システムチックを格納する型です
 
typedef uint32_t XTime
 time_tの代替をするシステム時刻を格納するための型です [詳解]
 
typedef int32_t XUSeconds
 マイクロ秒単位の時間を格納する型です
 

関数

static XTimeVal x_gettimeofday2 (void)
 現在時刻を返します
 
time_conversions

X秒からチックへの変換の際はチック単位に切り上げし、チックからX秒への変換は切 り下げます。 時間待ちが最終的にはチック単位で行われるため、指定時間以上の待ち時間を確保す ることがこの変換規則の目的です。

static XTicks x_msec_to_ticks (XMSeconds msec)
 ミリ秒をチックに変換した値を返します
 
static XTicks x_usec_to_ticks (XUSeconds usec)
 マイクロ秒をチックに変換した値を返します
 
static XMSeconds x_ticks_to_msec (XTicks ticks)
 チックをミリ秒に変換した値を返します
 
static XUSeconds x_ticks_to_usec (XTicks ticks)
 チックをマイクロ秒に変換した値を返します
 

user_porting_functions

#define x_ticks_now   x_port_ticks_now
 
#define x_gettimeofday   x_port_gettimeofday
 
#define x_msleep   x_port_msleep
 
#define x_usleep   x_port_usleep
 
#define x_mdelay   x_port_mdelay
 
#define x_udelay   x_port_mdelay
 
XTicks x_port_ticks_now (void)
 現在のチック時間を返します
 
int x_port_gettimeofday (XTimeVal *tv, void *tz_dammy)
 現在時刻を返します [詳解]
 
void x_port_msleep (XMSeconds msec)
 ミリ秒単位のスリープを行います [詳解]
 
void x_port_usleep (XUSeconds usec)
 マイクロ秒単位のスリープを行います [詳解]
 
void x_port_mdelay (XMSeconds msec)
 ミリ秒単位のディレイを行います [詳解]
 
void x_port_udelay (XUSeconds usec)
 マイクロ秒単位のディレイを行います [詳解]
 

詳解

著者
MaskedW