13#ifndef __xwos_cxx_sync_Flg_hxx__
14#define __xwos_cxx_sync_Flg_hxx__
284 template<xwsz_t TSelNum>
291 template<xwsz_t TSelNum>
306 template<xwsz_t TSelNum>
313 template<xwsz_t TSelNum>
xwbmp_t mData[(((TNum)+(8U *sizeof(xwbmp_t)) - 1U)/(8U *sizeof(xwbmp_t)))]
xwer_t clear(unsigned long pos)
xwer_t unbind(Sel< TSelNum > *sel)
从信号选择器上解绑事件标志对象
xwer_t clear(xwos::Bmp< TNum > &msk)
struct xwos_flg * mFlgPtr
xwer_t unbind(Sel< TSelNum > &sel)
xwer_t toggle(xwos::Bmp< TNum > *msk)
同时翻转多个事件标志位
xwer_t bind(Sel< TSelNum > &sel, long pos)
xwer_t toggle(xwos::Bmp< TNum > &msk)
xwer_t wait(enum Trigger trigger, bool consumption, xwos::Bmp< TNum > *origin, xwos::Bmp< TNum > *msk, enum WaitMode mode=WaitMode::FlgWait, xwtm_t to=((xwtm_t)((~(xwu64_t) 0) > > 1)))
等待事件标志
xwer_t set(xwos::Bmp< TNum > &msk)
xwer_t clear(xwos::Bmp< TNum > *msk)
同时清除多个事件标志位
void read(xwos::Bmp< TNum > *out)
读取事件标志位图的值
xwer_t bind(Sel< TSelNum > *sel, long pos)
绑定事件标志对象到信号选择器
xwer_t set(xwos::Bmp< TNum > *msk)
同时设置多个事件标志位
xwer_t set(unsigned long pos)
struct xwos_flg * getXwosObj()
获取XWOS对象指针
xwer_t toggle(unsigned long pos)
struct xwos_sel * getXwosObj()
获取XWOS对象指针
xws64_t xwtm_t
XWOS系统时间 (有符号)
#define XWTM_MAX
xwtm_t 的最大值
static xwer_t xwos_flg_x1m(struct xwos_flg *flg, xwbmp_t msk[])
XWOS API:同时翻转多个事件标志位
static xwer_t xwos_flg_x1i(struct xwos_flg *flg, xwsq_t pos)
XWOS API:翻转单个事件标志位
static xwer_t xwos_flg_c0i(struct xwos_flg *flg, xwsq_t pos)
XWOS API:清除单个事件标志位
static xwer_t xwos_flg_s1m(struct xwos_flg *flg, xwbmp_t msk[])
XWOS API:同时设置多个事件标志位
static xwer_t xwos_flg_bind(struct xwos_flg *flg, struct xwos_sel *sel, xwsq_t pos)
XWOS API:绑定事件标志对象到信号选择器
static xwer_t xwos_flg_wait(struct xwos_flg *flg, enum xwos_flg_trigger_em trigger, bool consumption, xwbmp_t origin[], xwbmp_t msk[])
XWOS API:等待事件
static xwer_t xwos_flg_wait_to(struct xwos_flg *flg, enum xwos_flg_trigger_em trigger, bool consumption, xwbmp_t origin[], xwbmp_t msk[], xwtm_t to)
XWOS API:限时等待触发事件
xwos_flg_trigger_em
事件标志触发条件枚举
static xwer_t xwos_flg_unbind(struct xwos_flg *flg, struct xwos_sel *sel)
XWOS API:从信号选择器上解绑事件标志对象
static xwer_t xwos_flg_wait_unintr(struct xwos_flg *flg, enum xwos_flg_trigger_em trigger, bool consumption, xwbmp_t origin[], xwbmp_t msk[])
XWOS API:等待事件,且等待不可被中断
static xwer_t xwos_flg_s1i(struct xwos_flg *flg, xwsq_t pos)
XWOS API:设置单个事件标志位
static xwer_t xwos_flg_trywait(struct xwos_flg *flg, enum xwos_flg_trigger_em trigger, bool consumption, xwbmp_t origin[], xwbmp_t msk[])
XWOS API:检查触发事件
static xwer_t xwos_flg_read(struct xwos_flg *flg, xwbmp_t out[])
XWOS API:读取事件标志位图的值
static xwer_t xwos_flg_c0m(struct xwos_flg *flg, xwbmp_t msk[])
XWOS API:同时清除多个事件标志位
@ XWOS_FLG_TRIGGER_CLR_ANY
@ XWOS_FLG_TRIGGER_CLR_ALL
@ XWOS_FLG_TRIGGER_SET_ANY
@ XWOS_FLG_TRIGGER_TGL_ANY
@ XWOS_FLG_TRIGGER_TGL_ALL
@ XWOS_FLG_TRIGGER_SET_ALL