XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
XWOS的时间类型 的协作图:

宏定义

#define XWTK_MAX   ((xwtk_t)((~(xwu64_t)0)))
 xwtk_t 的最大值
 
#define XWTK_MIN   ((xwtk_t)0)
 xwtk_t 的最小值
 
#define BITS_PER_XWTK_T   BITS_PER_XWU64_T
 
#define XWTK_T_SHIFT   XWU64_T_SHIFT
 
#define XWTM_MAX   ((xwtm_t)((~(xwu64_t)0) >> 1))
 xwtm_t 的最大值
 
#define XWTM_MIN   ((xwtm_t)(-XWTM_MAX - (xwtm_t)1))
 xwtm_t 的最小值
 
#define BITS_PER_XWTM_T   BITS_PER_XWS64_T
 
#define XWTM_T_SHIFT   XWS64_T_SHIFT
 
#define XWTM_NS(ns)   (ns)
 系统时间的单位:纳秒
 
#define XWTM_US(us)   ((us) * 1000LL)
 系统时间的单位:微秒
 
#define XWTM_MS(ms)   ((ms) * 1000000LL)
 系统时间的单位:毫秒
 
#define XWTM_S(s)   ((s) * 1000000000LL)
 系统时间的单位:秒
 
#define XWTM_M(m)   ((m) * XWTM_S(60))
 系统时间的单位:分
 
#define XWTM_H(h)   ((h) * XWTM_M(60))
 系统时间的单位:时
 
#define XWTM_D(d)   ((d) * XWTM_H(24))
 系统时间的单位:天
 

类型定义

typedef xwu64_t xwtk_t
 XWOS系统滴答计数 (无符号)
 
typedef __xwcc_atomic xwtk_t atomic_xwtk_t
 XWOS系统滴答计数 (无符号,原子的)
 
typedef xws64_t xwtm_t
 XWOS系统时间 (有符号)
 
typedef __xwcc_atomic xwtm_t atomic_xwtm_t
 XWOS系统时间 (有符号,原子的)
 

函数

static __xwcc_inline xwtm_t xwtm_add_safely (const xwtm_t a, const xwtm_t b)
 将两个系统时间相加,并检查溢出
 
static __xwcc_inline xwtm_t xwtm_add (const xwtm_t a, const xwtm_t b)
 将两个系统时间相加
 
static __xwcc_inline xwtm_t xwtm_sub (const xwtm_t a, const xwtm_t b)
 将两个系统时间相减
 
static __xwcc_inline xwer_t xwtm_cmp (const xwtm_t a, const xwtm_t b)
 比较两个系统时间
 
static __xwcc_inline xwtm_t xwtm_ns (xwtm_t ns)
 返回以 纳秒 为单位的系统时间
 
static __xwcc_inline xwtm_t xwtm_us (xwtm_t us)
 返回以 微秒 为单位的系统时间
 
static __xwcc_inline xwtm_t xwtm_ms (xwtm_t ms)
 返回以 毫秒 为单位的系统时间
 
static __xwcc_inline xwtm_t xwtm_s (xwtm_t s)
 返回以 为单位的系统时间
 
static __xwcc_inline xwtm_t xwtm_m (xwtm_t m)
 返回以 为单位的系统时间
 
static __xwcc_inline xwtm_t xwtm_h (xwtm_t h)
 返回以 为单位的系统时间
 
static __xwcc_inline xwtm_t xwtm_d (xwtm_t d)
 返回以 为单位的系统时间
 

详细描述

宏定义说明

◆ BITS_PER_XWTK_T

#define BITS_PER_XWTK_T   BITS_PER_XWU64_T

在文件 type.h732 行定义.

◆ BITS_PER_XWTM_T

#define BITS_PER_XWTM_T   BITS_PER_XWS64_T

在文件 type.h764 行定义.

◆ XWTK_MAX

#define XWTK_MAX   ((xwtk_t)((~(xwu64_t)0)))

xwtk_t 的最大值

在文件 type.h723 行定义.

◆ XWTK_MIN

#define XWTK_MIN   ((xwtk_t)0)

xwtk_t 的最小值

在文件 type.h729 行定义.

◆ XWTK_T_SHIFT

#define XWTK_T_SHIFT   XWU64_T_SHIFT

在文件 type.h735 行定义.

◆ XWTM_D

#define XWTM_D (   d)    ((d) * XWTM_H(24))

系统时间的单位:天

参数
[in]d

在文件 type.h810 行定义.

◆ XWTM_H

#define XWTM_H (   h)    ((h) * XWTM_M(60))

系统时间的单位:时

参数
[in]h

在文件 type.h804 行定义.

◆ XWTM_M

#define XWTM_M (   m)    ((m) * XWTM_S(60))

系统时间的单位:分

参数
[in]m

在文件 type.h798 行定义.

◆ XWTM_MAX

#define XWTM_MAX   ((xwtm_t)((~(xwu64_t)0) >> 1))

xwtm_t 的最大值

在文件 type.h755 行定义.

◆ XWTM_MIN

#define XWTM_MIN   ((xwtm_t)(-XWTM_MAX - (xwtm_t)1))

xwtm_t 的最小值

在文件 type.h761 行定义.

◆ XWTM_MS

#define XWTM_MS (   ms)    ((ms) * 1000000LL)

系统时间的单位:毫秒

参数
[in]ms毫秒

在文件 type.h786 行定义.

◆ XWTM_NS

#define XWTM_NS (   ns)    (ns)

系统时间的单位:纳秒

参数
[in]ns纳秒

在文件 type.h774 行定义.

◆ XWTM_S

#define XWTM_S (   s)    ((s) * 1000000000LL)

系统时间的单位:秒

参数
[in]s

在文件 type.h792 行定义.

◆ XWTM_T_SHIFT

#define XWTM_T_SHIFT   XWS64_T_SHIFT

在文件 type.h767 行定义.

◆ XWTM_US

#define XWTM_US (   us)    ((us) * 1000LL)

系统时间的单位:微秒

参数
[in]us微秒

在文件 type.h780 行定义.

类型定义说明

◆ atomic_xwtk_t

XWOS系统滴答计数 (无符号,原子的)

在文件 type.h716 行定义.

◆ atomic_xwtm_t

XWOS系统时间 (有符号,原子的)

在文件 type.h748 行定义.

◆ xwtk_t

typedef xwu64_t xwtk_t

XWOS系统滴答计数 (无符号)

在文件 type.h710 行定义.

◆ xwtm_t

typedef xws64_t xwtm_t

XWOS系统时间 (有符号)

在文件 type.h742 行定义.

函数说明

◆ xwtm_add()

static __xwcc_inline xwtm_t xwtm_add ( const xwtm_t  a,
const xwtm_t  b 
)
static

将两个系统时间相加

参数
[in]a加数a
[in]b加数b
返回
结果

在文件 type.h840 行定义.

841{
842 return a + b;
843}

◆ xwtm_add_safely()

static __xwcc_inline xwtm_t xwtm_add_safely ( const xwtm_t  a,
const xwtm_t  b 
)
static

将两个系统时间相加,并检查溢出

参数
[in]a加数a
[in]b加数b
返回
结果
注解
  • 如果结果已经溢出,返回xwtm_t的最大值。

在文件 type.h822 行定义.

823{
824 xwtm_t res;
825
826 res = a + b;
827 if (res < 0) {
828 res = XWTM_MAX;
829 }
830 return res;
831}
xws64_t xwtm_t
XWOS系统时间 (有符号)
Definition type.h:742
#define XWTM_MAX
xwtm_t 的最大值
Definition type.h:755
这是这个函数的调用关系图:

◆ xwtm_cmp()

static __xwcc_inline xwer_t xwtm_cmp ( const xwtm_t  a,
const xwtm_t  b 
)
static

比较两个系统时间

参数
[in]a系统时间a
[in]b系统时间b
返回
结果
返回值
<0a < b
==0a == b
>0a > b

在文件 type.h867 行定义.

868{
869 xwer_t rc;
870
871 if (a > b) {
872 rc = 1;
873 } else if (a < b) {
874 rc = -1;
875 } else {
876 rc = 0;
877 }
878 return rc;
879}
signed long xwer_t
Definition type.h:554
这是这个函数的调用关系图:

◆ xwtm_d()

static __xwcc_inline xwtm_t xwtm_d ( xwtm_t  d)
static

返回以 为单位的系统时间

参数
[in]d
返回
系统时间

在文件 type.h953 行定义.

954{
955 return XWTM_D(d);
956}
#define XWTM_D(d)
系统时间的单位:天
Definition type.h:810

◆ xwtm_h()

static __xwcc_inline xwtm_t xwtm_h ( xwtm_t  h)
static

返回以 为单位的系统时间

参数
[in]h
返回
系统时间

在文件 type.h942 行定义.

943{
944 return XWTM_H(h);
945}
#define XWTM_H(h)
系统时间的单位:时
Definition type.h:804

◆ xwtm_m()

static __xwcc_inline xwtm_t xwtm_m ( xwtm_t  m)
static

返回以 为单位的系统时间

参数
[in]m
返回
系统时间

在文件 type.h931 行定义.

932{
933 return XWTM_M(m);
934}
#define XWTM_M(m)
系统时间的单位:分
Definition type.h:798

◆ xwtm_ms()

static __xwcc_inline xwtm_t xwtm_ms ( xwtm_t  ms)
static

返回以 毫秒 为单位的系统时间

参数
[in]ms毫秒
返回
系统时间

在文件 type.h909 行定义.

910{
911 return XWTM_MS(ms);
912}
#define XWTM_MS(ms)
系统时间的单位:毫秒
Definition type.h:786

◆ xwtm_ns()

static __xwcc_inline xwtm_t xwtm_ns ( xwtm_t  ns)
static

返回以 纳秒 为单位的系统时间

参数
[in]ns纳秒
返回
系统时间

在文件 type.h887 行定义.

888{
889 return XWTM_NS(ns);
890}
#define XWTM_NS(ns)
系统时间的单位:纳秒
Definition type.h:774

◆ xwtm_s()

static __xwcc_inline xwtm_t xwtm_s ( xwtm_t  s)
static

返回以 为单位的系统时间

参数
[in]s
返回
系统时间

在文件 type.h920 行定义.

921{
922 return XWTM_S(s);
923}
#define XWTM_S(s)
系统时间的单位:秒
Definition type.h:792

◆ xwtm_sub()

static __xwcc_inline xwtm_t xwtm_sub ( const xwtm_t  a,
const xwtm_t  b 
)
static

将两个系统时间相减

参数
[in]a被减数
[in]b减数
返回
结果

在文件 type.h852 行定义.

853{
854 return a - b;
855}

◆ xwtm_us()

static __xwcc_inline xwtm_t xwtm_us ( xwtm_t  us)
static

返回以 微秒 为单位的系统时间

参数
[in]us微秒
返回
系统时间

在文件 type.h898 行定义.

899{
900 return XWTM_US(us);
901}
#define XWTM_US(us)
系统时间的单位:微秒
Definition type.h:780