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

📄 main.h

📁 控制modem的正常启动
💻 H
字号:
#ifndef __MAIN__H__
#define __MAIN__H__

#include "c:\\telefine\\lib\\structo.h"

struct CH
{
  unsigned short status; //大状态
  unsigned short state;  //小状态
public:
	CH(){status=state=0;}	
};

struct CHGROUP
{
  unsigned short NO1Num;
  unsigned short NO7Num;
  unsigned short DSS1Num;
  unsigned short TBNum;
  unsigned short AGENTNum;
  unsigned short HBNum;
private:
  CH *pNO1;   //一号信令
  CH *pNO7;   //7号信令
  CH *pDSS1;  //isdn信令
  CH *pTB;    //模拟外线
  CH *pAGENT; //模拟内线
  CH *pHB;    //高阻模块
public:
  CHGROUP(){NO1Num=NO7Num=DSS1Num=TBNum=AGENTNum=HBNum=0;
  pNO1=pNO7=pDSS1=pTB=pAGENT=pHB=0;}
  virtual ~CHGROUP()
  {if(NO1Num) delete[]pNO1;
   if(NO7Num) delete[]pNO7;
   if(DSS1Num) delete[]pDSS1;
   if(TBNum) delete[]pTB;
   if(AGENTNum) delete[]pAGENT;
   if(HBNum) delete[]pHB;}
  
  void Init(unsigned short type,unsigned short num) //每种线路通道的数目,每种通道只能调用一次
  {
    if(num==0)
		return;
	CH *p=new CH[num];
	if(p==NULL)
		return;

    switch(type)
	{
	case CHTYPE_DTNO1 ://0x09  //数字中继中国一号信令 
      pNO1=p;
	  NO1Num=num;
	  break;
	case CHTYPE_DTNO7 ://  0x0A  //数字中继中国七号信令
      pNO7=p;
	  NO7Num=num;
	  break;
	case CHTYPE_DTDSS1 ://  0x0B  //数字中继ISDN PRI(30B+D)
      pDSS1=p;
	  DSS1Num=num;
	  break;
	case CHTYPE_TB      :// 0x11  //模拟中继外线(普通市话线),接电信局
      pTB=p;
	  TBNum=num;
	  break;
	case CHTYPE_AGENT    ://0x12  //模拟中继内线(座席线),接电话机
      pAGENT=p;
	  AGENTNum=num;
	  break;
	case CHTYPE_HB      :// 0x13  //模拟中继高阻线(监控线),与电话线/电话机相并联
      pHB=p;
	  HBNum=num;
	  break;
	default:
		delete []p;
		return;
	}
  }

  CH *GetChPoint(unsigned short type,unsigned short ch)
  {
    switch(type)
	{
	case CHTYPE_DTNO1    ://0x09  //数字中继中国一号信令 
      if(ch>=NO1Num)
		  return 0;
	  return &pNO1[ch];
	case CHTYPE_DTNO7  ://  0x0A  //数字中继中国七号信令
      if(ch>=NO7Num)
		  return 0;
	  return &pNO7[ch];
	case CHTYPE_DTDSS1 ://  0x0B  //数字中继ISDN PRI(30B+D)
      if(ch>=DSS1Num)
		  return 0;
	  return &pDSS1[ch];
	case CHTYPE_TB      :// 0x11  //模拟中继外线(普通市话线),接电信局
      if(ch>=TBNum)
		  return 0;
	  return &pTB[ch];
	case CHTYPE_AGENT    ://0x12  //模拟中继内线(座席线),接电话机
      if(ch>=AGENTNum)
		  return 0;
	  return &pAGENT[ch];
	case CHTYPE_HB      :// 0x13  //模拟中继高阻线(监控线),与电话线/电话机相并联
      if(ch>=HBNum)
		  return 0;
	  return &pHB[ch];
	default:
	  return 0;
	}
  }


};


const char *GetChTypeStr(unsigned short type)
{
  switch(type)
  {
    case CHTYPE_DTNO1:        
      return "一号信令";
    case CHTYPE_DTNO7:
	  return "七号信令";
    case CHTYPE_DTDSS1:
		return "ISDN信令";
    case CHTYPE_TB:
		return "模拟外线";
	case CHTYPE_AGENT:
		return "模拟内线";
	case CHTYPE_HB:
		return "高阻模块";
	default:
		return "未知类型";

  }
}


#endif

⌨️ 快捷键说明

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