📄 queuelock.h
字号:
/*************************************************************************** Copyright : 2001-2002, ASPIRE TECHNOLOGIES (SHENZHEN) LTD. Program ID : queuelock.h Description : 队列函数实现头文件 实现互斥 Version : NEWCMPPAPI Functions : 内部函数 Modification Log: DATE AUTHOR DESCRIPTION -------------------------------------------------------------------------- 11/28/2002 wenyz Create ***************************************************************************/ #ifndef _API_QUEUELOCK_H_#define _API_QUEUELOCK_H_#include "queue.h" // queue 的原型函数#include "datatype.h" // 数据类型定义/**描述: 初始化队列 ( 可以应用于不固定长度的包 ) *输入参数: nKey 队列的KEY值,nSize 每个包的长度, nCount 最大包个数 ( 可以应用于不固定长度的包 ) bBlock 是否BLOCK* 输出参数:pQFd QUEUE的句柄*返回值: QUEUE_OK 成功, * QUEUE_FAIL 失败*/int nLockInitAQueue( int nKey, int nSize, int nCount, EBool bBlock, recBufFd* pQFd );/**描述:写包进入QUEUE ( 可以应用于不固定长度的包 ) *输入参数: QFd QUEUE的句柄, pAddr(包的首地址), nSize(包大小)*输出参数: 无*返回值: QUEUE_OK 成功 * QUEUE_FAIL 失败 * QUEUE_FULL 空间已满*/int nLockWriteQueue( recBufFd* QFd, void* pAddr, int nSize );/**描述:从QUEUE取包*输入参数: QFd QUEUE的句柄,pAddr 包的首地址,nSize 包大小 int nTimeOut 超时时间(秒) (队列为BLOCK时生效) <=0 阻塞的等待 >0 超时的秒数*返回值: QUEUE_OK 成功 * QUEUE_FAIL 失败 * QUEUE_EMPTY没有包*/int nLockReadQueue( recBufFd* QFd, void* pAddr, int nSize, int nTimeOut );/**描述:复位该QUEUE*输入参数: QFd QUEUE的句柄*返回值: QUEUE_OK 成功 * QUEUE_FAIL 失败 * */int nLockResetQueue( recBufFd* QFd );/**描述:删除该QUEUE *输入参数: QFd QUEUE的句柄*返回值: QUEUE_OK 成功 * QUEUE_FAIL 失败 */int nLockRemoveQueue( recBufFd* QFd );/**描述:从QUEUE取包*输入参数: QFd QUEUE的句柄*输出参数: pnLoad( 负载系数 0-100 )pnCellNum 当前的包的个数*返回值: QUEUE_OK 成功 * QUEUE_FAIL 失败 */int nLockGetQLoad( recBufFd* QFd, int* pnLoad, int* pnCellNum );/**描述:调试使用函数*/void vLockDumpQueue( FILE* fp, recBufFd* QFd );/** int* pnLoad 用于输出负载系数,以百分比为单位*/void vLockDumpQLink( FILE* fp, recBufFd* QFd, int* pnLoad );#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -