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

📄 gtmpscbuf.h

📁 Curtiss-Wright Controls Embedded Computing公司的cw183板bsp源代码
💻 H
字号:
/* gtMpscBuf.h - header file for Mpsc buffer management *//********************************************************************** * *   Copyright (c) 2003-2004, Dy 4 Systems All rights reserved. *   This Source Code is the Property of Dy 4 Systems Inc. and can *   only be used in accordance with Source Code License *   Agreement of Dy 4 Systems Inc. dba (doing business as)  *   CURTISS-WRIGHT CONTROLS EMBEDDED COMPUTING, "CWCEC". * **********************************************************************//* modification history-------------------- 01nov02, deb    PTR Initial release*/#ifndef GT_MPSCBUF_H#define GT_MPSCBUF_H#ifdef __cplusplusextern "C" {#endif /******************************** ********  LOCAL STRUCTS  ******** *********************************//* device and channel structures */typedef struct {  unsigned char * buf;     /* location of bytes */    int read;                /* index into current read frame */  int write;               /* index into current write frame */  int size;                /* size of buf */} GT_MPSCBUF_STREAM;typedef struct {  unsigned char * buf;     /* data */  int size;                /* amount of data */  int read;                /* used by gtMpscHw */  int maxSize;             /* maximum amount of data */} GT_MPSCBUF_FRAME;typedef struct {  int size;                /* number of frames in the buffer */  int read;                /* read frame */  int write;               /* write frame */  GT_MPSCBUF_FRAME * frames;  /* used in GT_MPSC_FRAME mode */} GT_MPSCBUF_FRAMES; /******************************** **      FUNCTION PROTOTYPES    ** *********************************/int gtMpscBufPackedSize( int dataSize, int charSize );int gtMpscBufUnpackedSize( int packedDataSize, int charSize );int gtMpscBufPackBytes( unsigned char * dst, int dstSize,unsigned char * src, int srcSize,int charSize );int gtMpscBufUnpackBytes( unsigned char * dst, int dstSize,unsigned char * src, int srcSize,int charSize );/* frame buffer */int gtMpscBufNumFrames( GT_MPSCBUF_FRAMES * buffer );int gtMpscBufCreateFrames( GT_MPSCBUF_FRAMES * buffer, char ** bufs, int frameSize, int numFrames );int gtMpscBufDeleteFrames( GT_MPSCBUF_FRAMES * buffer );int gtMpscBufReadFrame( GT_MPSCBUF_FRAMES * buffer, char * bytes, int size,int charSize);int gtMpscBufWriteFrame( GT_MPSCBUF_FRAMES * buffer, char * bytes, int size,int charSize);int gtMpscBufReadFrameSize( GT_MPSCBUF_FRAMES * buffer );int gtMpscBufWriteFrameSize( GT_MPSCBUF_FRAMES * buffer );int gtMpscBufWriteFrameByte( GT_MPSCBUF_FRAMES * buffer, unsigned char byte );int gtMpscBufReadFrameByte( GT_MPSCBUF_FRAMES * buffer, unsigned char *  byte );void gtMpscBufFlushFrames( GT_MPSCBUF_FRAMES * buffer );/* stream buffer */int gtMpscBufCreateStream( GT_MPSCBUF_STREAM * buffer, int size );void gtMpscBufDeleteStream( GT_MPSCBUF_STREAM * buffer );int gtMpscBufStreamSize( GT_MPSCBUF_STREAM * buffer );int gtMpscBufStreamAvailable( GT_MPSCBUF_STREAM * buffer );int gtMpscBufReadStream( GT_MPSCBUF_STREAM * buffer, char * bytes, int size, unsigned char mask );int gtMpscBufWriteStream( GT_MPSCBUF_STREAM * buffer, char * bytes,int size, unsigned char mask );int gtMpscBufReadStreamByte( GT_MPSCBUF_STREAM * buffer, char * byte );int gtMpscBufWriteStreamByte( GT_MPSCBUF_STREAM * buffer, char byte );void gtMpscBufFlushStream( GT_MPSCBUF_STREAM * buffer ); #ifdef __cplusplus}#endif#endif /* GT_MPSCBUF_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -