XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
swt.h
浏览该文件的文档.
1
13#ifndef __xwos_osal_swt_h__
14#define __xwos_osal_swt_h__
15
16#include <xwos/standard.h>
17#include <xwos/osal/jack/swt.h>
18
69struct xwos_swt {
70 struct xwosdl_swt osswt;
71};
72
76typedef void (* xwos_swt_f)(struct xwos_swt * /*swt*/, void * /*arg*/);
77
81typedef struct {
82 struct xwos_swt * swt;
85
89#define XWOS_SWT_NILD ((xwos_swt_d){NULL, 0,})
90
94#define XWOS_SWT_FLAG_NULL XWOSDL_SWT_FLAG_NULL
95
99#define XWOS_SWT_FLAG_RESTART XWOSDL_SWT_FLAG_RESTART
100
113{
114 return xwosdl_swt_init(&swt->osswt, flag);
115}
116
128{
129 return xwosdl_swt_fini(&swt->osswt);
130}
131
151{
152 return xwosdl_swt_grab(&swt->osswt);
153}
154
170{
171 return xwosdl_swt_put(&swt->osswt);
172}
173
184{
185 return xwosdl_swt_create((xwosdl_swt_d *)swtd, flag);
186}
187
197{
198 return xwosdl_swt_delete(&swtd.swt->osswt, swtd.tik);
199}
200
217{
218 return xwosdl_swt_acquire(&swtd.swt->osswt, swtd.tik);
219}
220
234{
235 return xwosdl_swt_release(&swtd.swt->osswt, swtd.tik);
236}
237
247{
248 return xwosdl_swt_get_tik(&swt->osswt);
249}
250
260{
261 xwos_swt_d swtd;
262
263 swtd.swt = swt;
264 swtd.tik = xwosdl_swt_get_tik(&swt->osswt);
265 return swtd;
266}
267
280xwer_t xwos_swt_start(struct xwos_swt * swt, xwtm_t origin, xwtm_t period,
281 xwos_swt_f callback, void * arg)
282{
283 return xwosdl_swt_start(&swt->osswt, origin, period,
284 // cppcheck-suppress [misra-c2012-11.1]
285 (xwosdl_swt_f)callback,
286 arg);
287}
288
298{
299 return xwosdl_swt_stop(&swt->osswt);
300}
301
306#endif /* xwos/osal/swt.h */
#define __xwos_inline_api
Definition compiler.h:179
xws64_t xwtm_t
XWOS系统时间 (有符号)
Definition type.h:742
signed long xwer_t
Definition type.h:554
unsigned long xwsq_t
Definition type.h:445
static xwer_t xwos_swt_put(struct xwos_swt *swt)
XWOS API:减少软件定时器对象的引用计数
Definition swt.h:169
static xwer_t xwos_swt_acquire(xwos_swt_d swtd)
XWOS API:检查软件定时器对象的标签并增加引用计数
Definition swt.h:216
static xwsq_t xwos_swt_get_tik(struct xwos_swt *swt)
XWOS API:获取软件定时器对象的标签
Definition swt.h:246
static xwos_swt_d xwos_swt_get_d(struct xwos_swt *swt)
XWOS API:获取软件定时器对象描述符
Definition swt.h:259
static xwer_t xwos_swt_start(struct xwos_swt *swt, xwtm_t origin, xwtm_t period, xwos_swt_f callback, void *arg)
XWOS API:启动软件定时器
Definition swt.h:280
static xwer_t xwos_swt_stop(struct xwos_swt *swt)
XWOS API:停止软件定时器
Definition swt.h:297
static xwer_t xwos_swt_release(xwos_swt_d swtd)
XWOS API:检查对象的标签并减少引用计数
Definition swt.h:233
static xwer_t xwos_swt_delete(xwos_swt_d swtd)
XWOS API:删除动态方式创建的软件定时器
Definition swt.h:196
static xwer_t xwos_swt_create(xwos_swt_d *swtd, xwsq_t flag)
XWOS API:动态方式创建软件定时器
Definition swt.h:183
static xwer_t xwos_swt_init(struct xwos_swt *swt, xwsq_t flag)
XWOS API:静态方式初始化软件定时器
Definition swt.h:112
static xwer_t xwos_swt_fini(struct xwos_swt *swt)
XWOS API:销毁静态方式初始化的软件定时器
Definition swt.h:127
void(* xwos_swt_f)(struct xwos_swt *, void *)
XWOS API:软件定时器回调函数指针类型
Definition swt.h:76
static xwer_t xwos_swt_grab(struct xwos_swt *swt)
XWOS API:增加软件定时器对象的引用计数
Definition swt.h:150
操作系统抽象层:软件定时器接口描述
XWOS API:软件定时器对象描述符
Definition swt.h:81
xwsq_t tik
Definition swt.h:83
struct xwos_swt * swt
Definition swt.h:82
XWOS API:软件定时器
Definition swt.h:69
struct xwmp_swt osswt
Definition swt.h:70
XWOS的标准头文件