|
XWOS API
4.0
XWOS C/C++ API参考手册
|
信号选择器基类 更多...
#include <Sel.hxx>


Public 类型 | |
| enum | WaitMode : xwu32_t { SelWait = 0 , SelWaitTimed , SelWaitUninterruptable , SelTryWait } |
| 等待模式枚举 更多... | |
Public 成员函数 | |
| xwsz_t | num () |
| 获取信号选择器中的信号槽的数量 | |
| xwer_t | select (xwos::Bmp< TNum > *msk, xwos::Bmp< TNum > *trigger, enum WaitMode mode, xwtm_t to) |
| 等待信号选择器 | |
| template<xwsz_t TSelNum> | |
| xwer_t | bind (Sel< TSelNum > *src, long pos) |
| 绑定源信号选择器到本信号选择器 | |
| template<xwsz_t TSelNum> | |
| xwer_t | bind (Sel< TSelNum > &src, long pos) |
| template<xwsz_t TSelNum> | |
| xwer_t | unbind (Sel< TSelNum > *src) |
| 从目的信号选择器上解绑源信号选择器 | |
| template<xwsz_t TSelNum> | |
| xwer_t | unbind (Sel< TSelNum > &src) |
| struct xwos_sel * | getXwosObj () |
| 获取XWOS对象指针 | |
Protected 成员函数 | |
| Sel () | |
| ~Sel () | |
Protected 属性 | |
| struct xwos_sel * | mSelPtr |
| enum xwos::sync::Sel::WaitMode : xwu32_t |
等待模式枚举
| 枚举值 | |
|---|---|
| SelWait | 等待模式 |
| SelWaitTimed | 定时等待模式 |
| SelWaitUninterruptable | 不可中断等待模式 |
| SelTryWait | 尝试模式(只测试不等待) |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inline |
等待信号选择器
| [in] | msk | 同步对象位图掩码,表示只关注掩码内的同步对象 |
| [out] | trigger | 指向缓冲区的指针,通过此缓冲区返回已触发的同步对象位图掩码 |
| [in] | mode | 等待模式,取值 Sel::WaitMode |
| [in] | to | 期望唤醒的时间点,仅当 mode == Sel::WaitMode::SelWaitTimed 时有效。 |
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ETIMEDOUT | 超时 |
| -ENODATA | 没有任何同步对象向信号选择器发送 选择信号 |
| -EINTR | 等待被中断 |
| -ENOTTHDCTX | 不在线程上下文中 |
mode == Sel::WaitMode::SelTryWait : 任意mode != Sel::WaitMode::SelTryWait : 线程Sel::WaitMode::SelWait: 调用线程会阻塞等待。Sel::WaitMode::SelWaitTimed 定时等待模式, to 表示等待超时的时间点:to 通常是未来时间点,即 当前系统时间 + delta , 可以使用 xwtm_ft(delta) 表示;to 是过去的时间点,将直接返回 -ETIMEDOUT 。Sel::WaitMode::SelWaitUninterruptable 不可中断等待模式。Sel::WaitMode::SelTryWait 尝试模式(只测试不等待)。 
|
inline |
绑定源信号选择器到本信号选择器
| [in] | src | 源信号选择器对象的指针 |
| [in] | pos | 源信号选择器对象映射到位图中的位置 |
| XWOK | 没有错误 |
| -EFAULT | 无效的指针或空指针 |
| -ECHRNG | 位置超出范围 |
| -EALREADY | 同步对象已经绑定到事件对象 |
| -EBUSY | 通道已经被其他同步对象独占 |

|
inline |
这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.

|
inline |
从目的信号选择器上解绑源信号选择器
| [in] | src | 源信号选择器对象的指针 |
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENOTCONN | 同步对象没有绑定到事件对象上 |

|
inline |
这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.

|
inline |
|
protected |