📄 queue.h
字号:
/*************************************************************************** Copyright : 2001-2002, ASPIRE TECHNOLOGIES (SHENZHEN) LTD. Program ID : queue.h Description : 队列函数实现头文件 Version : NEWCMPPAPI Functions : 内部函数 Modification Log: DATE AUTHOR DESCRIPTION -------------------------------------------------------------------------- 11/25/2002 wenyz Create 11/26/2002 wenyz 原来为share memory改为 memory 由NOUSESHAREMEMORY开关控制***************************************************************************/ #ifndef _API_QUEUE_H_#define _API_QUEUE_H_ #define QUEUE_OK 0 #define QUEUE_FAIL -1#define QUEUE_FULL -2#define QUEUE_EMPTY -3#include "os.h"#include "log.h"/*#define ErrMsg printf#define DPrintf printf#define ErrRet printf*/#define ErrMsg Trace#define DPrintf Trace#define ErrRet Trace#include <stdio.h>#include <stdlib.h>#ifdef WIN32#include <memory.h>#endif/**描述: 初始化队列 ( 可以应用于不固定长度的包 ) *输入参数: nKey 队列的KEY值,nSize 每个包的长度, nCount 最大包个数 ( 可以应用于不固定长度的包 )* 输出参数:pnShmId 内存ID *返回值: 〉0 成功, * NULL 失败 */void* pvInitAQueue_Api( int nKey, int nSize, int nCount, int* pnShmId );/**描述:写包进入内存区 ( 可以应用于不固定长度的包 ) *输入参数: pQAddr( 队列的内存地址 ), pAddr(包的首地址), nSize(包大小)*输出参数: 无*返回值: QUEUE_OK 成功 * QUEUE_FAIL 失败 * QUEUE_FULL 空间已满*/int nWriteQueue_Api( void* pQAddr, void* pAddr, int nSize );/**描述:从内存区取包*输入参数: pQAddr( 队列的内存地址 ),pAddr 包的首地址,nSize 包大小*返回值: QUEUE_OK 成功 * QUEUE_FAIL 失败 * QUEUE_EMPTY没有包*/int nReadQueue_Api( void* pQAddr, void* pAddr, int nSize );/**描述:复位该内存*输入参数: pQAddr( 队列的内存地址 )*返回值: QUEUE_OK 成功 * QUEUE_FAIL 失败 * */int nResetQueue_Api( void* pQAddr );/**描述:删除该内存区*输入参数: nShmId 申请时候得到的SHARE MEM ID*返回值: QUEUE_OK 成功 * QUEUE_FAIL 失败 */int nRemoveShm_Api( int nShmId );/**描述:从内存区取包*输入参数: pQLink( 队列的内存地址 )*输出参数: pnLoad( 负载系数 0-100 )pnCellNum 当前的包的个数*返回值: QUEUE_OK 成功 * QUEUE_FAIL 失败 */int nGetQLoad_Api( const void* pQLink, int* pnLoad, int* pnCellNum );/**描述:调试使用函数*/void vDumpQueue_Api( FILE* fp, void* pQAddr );/** int* pnLoad 用于输出负载系数,以百分比为单位*/void vDumpQLink_Api( FILE* fp, const void* pQLink, int* pnLoad );#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -