|
XWOS API
4.0
XWOS C/C++ API参考手册
|
XWCQ C++ 对象 更多...
#include <Xwcq.hxx>

Public 成员函数 | |
| Xwcq () | |
| ~Xwcq () | |
| struct xwcq * | get () |
| 获取循环队列内部对象指针 | |
| xwsz_t | capacity () |
XWCQ API: 获取循环队列的容量 TSlotNum | |
| xwsz_t | size () |
XWCQ API: 获取循环队列的单个数据槽的大小 sizeof(T) | |
| xwsz_t | availability () |
| XWCQ API: 获取循环队列中有效数据槽的数量 | |
| void | flush () |
| 清空循环队列 | |
| xwer_t | eq (T *data, xwsz_t *size) |
| 将数据发送到循环队列的 尾端 (入队,EnQueue) | |
| xwer_t | jq (T *data, xwsz_t *size) |
| 将数据发送循环队列的 首端 (插队,Jump the Queue) | |
| xwer_t | dq (T *data, xwsz_t *size) |
| 等待从循环队列的 首端 接收数据 (离队,DeQueue) | |
| xwer_t | dq (T *data, xwsz_t *size, xwtm_t to) |
| 限时等待从循环队列的 首端 接收数据 (离队,DeQueue) | |
| xwer_t | dqUnintr (T *data, xwsz_t *size) |
| 等待从循环队列的 首端 接收数据 (离队,DeQueue), 并且等待不可被中断 | |
| xwer_t | tryDq (T *data, xwsz_t *size) |
| 尝试从循环队列的 首端 接收数据 (离队,DeQueue) | |
| xwer_t | rq (T *data, xwsz_t *size) |
| 等待从循环队列的 尾端 接收数据 (反向离队,Reversely deQueue) | |
| xwer_t | rq (T *data, xwsz_t *size, xwtm_t to) |
| 限时等待从循环队列的 尾端 接收数据 (反向离队,Reversely deQueue) | |
| xwer_t | rqUnintr (T *data, xwsz_t *size) |
| 等待从循环队列的 尾端 接收数据 (反向离队,Reversely deQueue), 并且等待不可被中断 | |
| xwer_t | tryRq (T *data, xwsz_t *size) |
| 尝试从循环队列的 尾端 接收数据 (反向离队,Reversely deQueue) | |
| xwer_t | pfq (T *data, xwsz_t *size) |
| 等待从循环队列 头端 拷贝数据 (Peek at the Front of Queue) | |
| xwer_t | pfq (T *data, xwsz_t *size, xwtm_t to) |
| 限时等待从循环队列 头端 拷贝数据 (Peek at the Front of Queue) | |
| xwer_t | pfqUnintr (T *data, xwsz_t *size) |
| 等待从循环队列 头端 拷贝数据 (Peek at the Front of Queue), 并且等待不可被中断 | |
| xwer_t | tryPfq (T *data, xwsz_t *size) |
| 尝试从循环队列 头端 拷贝数据 (Peek at the Front of Queue) | |
| xwer_t | prq (T *data, xwsz_t *size) |
| 等待从循环队列 尾端 拷贝数据 (Peek at the Rear of Queue) | |
| xwer_t | prq (T *data, xwsz_t *size, xwtm_t to) |
| 限时等待从循环队列 尾端 拷贝数据 (Peek at the Rear of Queue) | |
| xwer_t | prqUnintr (T *data, xwsz_t *size) |
| 等待从循环队列 尾端 拷贝数据 (Peek at the Rear of Queue), 并且等待不可被中断 | |
| xwer_t | tryPrq (T *data, xwsz_t *size) |
| 尝试从循环队列 尾端 拷贝数据 (Peek at the Rear of Queue) | |
Private 属性 | |
| struct xwcq | mCq |
| xwu8_t | mPool [sizeof(T) *TSlotNum] |
XWCQ C++ 对象
|
inline |

|
inline |
|
inline |
XWCQ API: 获取循环队列中有效数据槽的数量


|
inline |
XWCQ API: 获取循环队列的容量 TSlotNum

|
inline |
等待从循环队列的 首端 接收数据 (离队,DeQueue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -EINTR | 等待被中断 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |
-EINTR 。 
|
inline |
限时等待从循环队列的 首端 接收数据 (离队,DeQueue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| [in] | to | 期望唤醒的时间点 |
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -EINTR | 等待被中断 |
| -ETIMEDOUT | 超时 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |
-EINTR 。to 表示等待超时的时间点:to 通常是未来的时间,即 当前系统时间 + delta , 可以使用 xwtm_ft(delta) 表示;to 是过去的时间点,将直接返回 -ETIMEDOUT 。 
|
inline |
等待从循环队列的 首端 接收数据 (离队,DeQueue), 并且等待不可被中断
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |

|
inline |
将数据发送到循环队列的 尾端 (入队,EnQueue)
| [in] | data | 数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
*size 超过初始化循环队列时指定的 sizeof(T) , 数据将被截断。
|
inline |
清空循环队列

|
inline |
|
inline |
将数据发送循环队列的 首端 (插队,Jump the Queue)
| [in] | data | 数据 |
| [in] | size | 数据的大小 |
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
*size 超过初始化循环队列时指定的 sizeof(T) , 数据将被截断。
|
inline |
等待从循环队列 头端 拷贝数据 (Peek at the Front of Queue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -EINTR | 等待被中断 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |
-EINTR 。 
|
inline |
限时等待从循环队列 头端 拷贝数据 (Peek at the Front of Queue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| [in] | to | 期望唤醒的时间点 |
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -EINTR | 等待被中断 |
| -ETIMEDOUT | 超时 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |
-EINTR 。to 表示等待超时的时间点:to 通常是未来的时间,即 当前系统时间 + delta , 可以使用 xwtm_ft(delta) 表示;to 是过去的时间点,将直接返回 -ETIMEDOUT 。 
|
inline |
等待从循环队列 头端 拷贝数据 (Peek at the Front of Queue), 并且等待不可被中断
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |

|
inline |
等待从循环队列 尾端 拷贝数据 (Peek at the Rear of Queue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -EINTR | 等待被中断 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |
-EINTR 。 
|
inline |
限时等待从循环队列 尾端 拷贝数据 (Peek at the Rear of Queue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| [in] | to | 期望唤醒的时间点 |
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -EINTR | 等待被中断 |
| -ETIMEDOUT | 超时 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |
-EINTR 。to 表示等待超时的时间点:to 通常是未来的时间,即 当前系统时间 + delta , 可以使用 xwtm_ft(delta) 表示;to 是过去的时间点,将直接返回 -ETIMEDOUT 。 
|
inline |
等待从循环队列 尾端 拷贝数据 (Peek at the Rear of Queue), 并且等待不可被中断
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |

|
inline |
等待从循环队列的 尾端 接收数据 (反向离队,Reversely deQueue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -EINTR | 等待被中断 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |
-EINTR 。 
|
inline |
限时等待从循环队列的 尾端 接收数据 (反向离队,Reversely deQueue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| [in] | to | 期望唤醒的时间点 |
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -EINTR | 等待被中断 |
| -ETIMEDOUT | 超时 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |
-EINTR 。to 表示等待超时的时间点:to 通常是未来的时间,即 当前系统时间 + delta , 可以使用 xwtm_ft(delta) 表示;to 是过去的时间点,将直接返回 -ETIMEDOUT 。 
|
inline |
等待从循环队列的 尾端 接收数据 (反向离队,Reversely deQueue), 并且等待不可被中断
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENOTTHDCTX | 不在线程上下文中 |
| -EDISIRQ | 中断被关闭 |
| -EDISPMPT | 抢占被关闭 |
| -EDISBH | 中断底半部被关闭 |

|
inline |
XWCQ API: 获取循环队列的单个数据槽的大小 sizeof(T)


|
inline |
尝试从循环队列的 首端 接收数据 (离队,DeQueue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENODATA | 循环队列为空 |
-ENODATA 。
|
inline |
尝试从循环队列 头端 拷贝数据 (Peek at the Front of Queue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENODATA | 循环队列为空 |
-ENODATA ,此CAPI可在中断中使用。 
|
inline |
尝试从循环队列 尾端 拷贝数据 (Peek at the Rear of Queue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENODATA | 循环队列为空 |
-ENODATA ,此CAPI可在中断中使用。 
|
inline |
尝试从循环队列的 尾端 接收数据 (反向离队,Reversely deQueue)
| [out] | data | 指向缓冲区的指针,此缓冲区用于接收数据 |
| [in,out] | size | 指向缓冲区的指针,此缓冲区:
|
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENODATA | 循环队列为空 |
-ENODATA ,此C++API可在中断中使用。 
|
private |
|
private |