qmc__tsa.c

来自「基于vxworks操作系统的电话语音平台系统」· C语言 代码 · 共 71 行

C
71
字号

#include "PUB\PUB_INCL.H"
#include "DRVS\DRV860\PUB\NETCOMM.H"       /* global defines */
#include "DRVS\DRV860\PUB\D860_PUB.H"
#include "DRVS\DRV860\PUB\MPC860.H"       /* IMMR definitions and declarations */
#include "DRVS\DRV860\PUB\MASKS860.h"      /* Global masks header file */
#include "DRVS\DRV860\QMC\QMC.H"
#include "DRVS\DRV860\QMC\QMC__TSA.H"

EXTERN QMC_TABLE qmc_table;
EXTERN EPPC     *quicc;


SI slot_init(SI scc_num,time_slot_tbl table,SI slot_num,SI mask,SI channel_num )
{
		SI   *tbl;

		if( slot_num>31 || slot_num<0 || channel_num>31 || channel_num<0 ||
				(!qmc_table[channel_num].init_flag ))
				return (-1);

		if( table == Rx_Time_Slot_Tbl)
				tbl = (SI *)&((QMC_BASE (quicc, scc_num))->tsatrx[0]);
		else
				tbl = (SI *)&((QMC_BASE ( quicc, scc_num))->tsattx[0]);

		tbl[slot_num] |= mask & 0x003f;
		tbl[slot_num] |= (mask & 0x00c0) << 6;
		tbl[slot_num] |= channel_num << 6;

		tbl[slot_num] |= VALID_SLOT;

		return 0;
}

SI slot_enable(SI scc_num, time_slot_tbl table, SI slot_num)

{
		SI   *tbl;

		if( slot_num > 31 || slot_num < 0 )
				return (-1);

		if( table == Rx_Time_Slot_Tbl)
				tbl = (SI *)&((QMC_BASE(quicc, scc_num))->tsatrx[0]);
		else
				tbl = (SI *)&((QMC_BASE(quicc, scc_num))->tsattx[0]);

		tbl[slot_num] |= VALID_SLOT;

		return 0;
}

SI slot_disable(SI scc_num, time_slot_tbl table, SI slot_num)
{
		SI   *tbl;
		SI i;

		if( slot_num > 31 || slot_num < 0 )
				return (-1);

		if( table == Rx_Time_Slot_Tbl)
				tbl = (SI *)&((QMC_BASE( quicc, scc_num))->tsatrx[0]);
		else
				tbl = (SI *)&((QMC_BASE( quicc, scc_num))->tsattx[0]);

		tbl[slot_num] &= ~VALID_SLOT;

		return 0;
}

⌨️ 快捷键说明

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