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

📄 xdspacket.h

📁 pci-tv卡底层驱动源代码
💻 H
字号:
// XDSPacket.h

#ifndef _XDSPACKET_H
#define _XDSPACKET_H

#include <string>
#include <windows.h>

// XDS Control Codes EIA/CEA-608-B Sec. 9.3
const BYTE  XDS_STRT_CUR        = 0x01;
const BYTE  XDS_CONT_CUR        = 0x02;
const BYTE  XDS_STRT_FUT        = 0x03;
                            
const BYTE  XDS_STRT_PRI        = 0x0D;
const BYTE  XDS_CONT_PRI        = 0x0E;
const BYTE  XDS_END_ALL         = 0x0F;

// XDS Current Class Type Codes EIA/CEA-608-B Sec. 9.5.1
const BYTE  TY_PROG_ID          = 0x01;
const BYTE  TY_PROG_NAME        = 0x03;
const BYTE  TY_CONTENT_ADVISORY = 0x05; // Program Rating
const BYTE  TY_COMPOSITE_PKT1   = 0x0C;
const BYTE  TY_COMPOSITE_PKT2   = 0x0D;

// Number of informational bytes in XDS Packets EIA/CEA-608-B Sec. 9.5.1
const int   INFO_CNT_PROG_ID           =  4;
const int   INFO_CNT_CONTENT_ADVISORY  =  2;
const int   INFO_CNT_COMP_PKT1_CON_ADV =  1;

const int   INFO_MIN_PROG_NAME         =  2;
const int   INFO_MAX_PROG_NAME         = 32;
const int   INFO_MIN_COMPOSITE_PKT1    = 10;
const int   INFO_MIN_COMPOSITE_PKT2    = 14;

// Caption and Text Control Codes EIA/CEA-608-B Sec. 8.6.2
const BYTE  CAPTION_CTRL_MIN    = 0x10;
const BYTE  CAPTION_CTRL_MAX    = 0x1F;

const int   COMP_PKT1_PROG_NAME_OFST  = 10;
const int   COMP_PKT1_CONT_ADV_OFST   =  5;

#define BIT(x) ((DWORD)1 << (x))
#define NBITS(n)    (BIT(n)-1)
 

class XDSPacket
{
public:
          XDSPacket( BYTE byte1, BYTE byte2 );

    void  addBytePair( BYTE byte1, BYTE byte2 );
    bool  checkSum( BYTE checkSumByte );
    void  clearInfo();

    const std::string& 
          info()     const { return _info;    }
    BYTE  ctrlCode() const { return _control; }
    BYTE  typeCode() const { return _type;    }

private:

    BYTE         _control;
    BYTE         _type;
    std::string  _info;
};



inline
bool operator==( const XDSPacket& rhs, const XDSPacket& lhs )
{
    return rhs.ctrlCode() == lhs.ctrlCode() && 
           rhs.typeCode() == lhs.typeCode();
}

#endif

⌨️ 快捷键说明

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