⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue.h

📁 用c/c++实现的一个CMPP API
💻 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 + -