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

📄 task_que.c

📁 基于vxworks操作系统的电话语音平台系统
💻 C
字号:

#include "PUB\PUB_INCL.H"
#include "PUB\PUB__MSG.H"
#include "PUB\MODULERS.H"

extern VOID SaveAlarm( ALARM_MSG_STRUCT *alarm );


BOOL VxworksSendLetterToMailbox( struct MSG_STRUCT *msg )
{
	UI  pipe_len;
	static ALARM_MSG_STRUCT alarmmsg={ALARM_NODE,ALARM_NODE_MAILFULL,{0}};
	int nmsgs;
	int status=0;

	pipe_len = msg->len+MSG_HEAD_LEN;
	switch( msg->receiver )
	{
		case PID_LAPM:
			status = msgQSend( Lapm_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
/*			if( status==ERROR )
			{
				alarmmsg.alm_code = ALARM_NODE_MAILOVER;
				strcpy( alarmmsg.content+1, "taskLapm" );
				SaveAlarm( &alarmmsg );
			}
			else
			{
				nmsgs = msgQNumMsgs( Lapm_Q_ID );
				if( nmsgs>=LAPM_TASK_QUE_LEN-32 )
				{
					alarmmsg.alm_code = ALARM_NODE_MAILFULL;
					strcpy( alarmmsg.content+1, "taskLapm" );
					SaveAlarm( &alarmmsg );
				}
			}
*/			break;

		case PID_ROUTE_SYSMAN:
			status = msgQSend( ROUTE_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
			break;

		case PID_NET_MAN:
			status = msgQSend( NetManCenter_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL);
/*			if( status==ERROR )
			{
				alarmmsg.alm_code = ALARM_NODE_MAILOVER;
				strcpy( alarmmsg.content+1, "tNetSend" );
				SaveAlarm( &alarmmsg );
			}else
			{
				nmsgs = msgQNumMsgs( NetManCenter_Q_ID );
				if( nmsgs>=TCPSEND_TASK_QUE_LEN-32 )
				{
					alarmmsg.alm_code = ALARM_NODE_MAILFULL;
					strcpy( alarmmsg.content+1, "tNetSend" );
					SaveAlarm( &alarmmsg );
				}
			}			
*/			break;

#ifdef MPU_INCLUDE_QSIG
		case PID_QSIG_Q921:
		case PID_QSIG_Q931:
			status = msgQSend( QSIG_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
			break;
#endif

#ifdef MPU_INCLUDE_E1
		case PID_BRD_MPU_E1_SYS:
			status = msgQSend( MPUE1_SYS_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
			break;

		case PID_BRD_MPU_E1_FSM:
			status = msgQSend( MPUE1_FSM_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
			break;
#endif

#ifdef MINI_TAIZHAN
		case PID_BRD_MPU_PTT_SYS:
			status = msgQSend( MPUPTT_SYS_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
			break;
		case PID_BRD_MPU_EM_SYS:
			status = msgQSend( MPUEM_SYS_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
			break;
		case PID_BRD_MPU_UART_SYS:
			status = msgQSend( MPUUART_SYS_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
			break;
		case PID_BRD_MPU_PSTN_SYS:
			status = msgQSend( MPUPSTN_SYS_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
			break;
		case PID_BRD_MINI_E1_SYS:
			status = msgQSend( MINIE1_SYS_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
			break;
#endif

		case PID_BMTP:
		case PID_BMTP_SYS:
		case PID_SYSMAN:
		case PID_DLCC_SYSMAN:
		case PID_CCB_MAN:
		case PID_CC:
		case PID_CCA_PSTN:
		case PID_CCA_ODTK:
		case PID_CCA_ISDNBA:
		case PID_CCA_DLC:
		case PID_CCA_MLC:
		case PID_CONF_MAN:
		case PID_CCA_CONF:
		case PID_CCA_TNST:
		case PID_V5CCA_PSTN:
		case PID_V5CCA_LE:
		case PID_V5CCA_ISDNBA:
		case PID_CCA_TUP:
		case PID_LEA_MAN:
		case PID_PTTTONE_MAN:	
		case PID_CCA_DLCCVR:
		case PID_CCA_VRCU:
		case PID_DD_NETMAN:
		case PID_CCA_TTMS:
		case PID_CCA_TTSER:
		case PID_CCA_DT:
		case PID_CCA_NO1:
		case PID_CCA_AUDIOCTRL:
		case PID_CCA_GSM:
		case PID_CCA_GROUPTEL:
		case PID_NO7_MAN:
		case PID_CCA_NIGHTSVC:
		case PID_CCA_TRKLINE:
		case PID_CCA_REC:
		case PID_CCA_MINIPSTN:
		case PID_CCA_DDISDN:
		case PID_INTERFACE_ACCA_PSTN:
		case PID_CCA_WIRELESS:
		case PID_QSIG_SYS:
		case PID_CCA_QSIG:
			status = msgQSend( ServiceCtr_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
/*			if( status==ERROR )
			{
				alarmmsg.alm_code = ALARM_NODE_MAILOVER;
				strcpy( alarmmsg.content+1, "taskApp" );
				SaveAlarm( &alarmmsg );
			}
			else
			{
				nmsgs = msgQNumMsgs( ServiceCtr_Q_ID );
				if( nmsgs >= SERVICE_TASK_QUE_LEN - 96 )
				{
					alarmmsg.alm_code = ALARM_NODE_MAILFULL;
					strcpy( alarmmsg.content+1, "taskApp" );
					SaveAlarm( &alarmmsg );
				}
			}
*/			break;

		case PID_DBMS:
			status = msgQSend(  DBMS_Q_ID, (char *)(msg), pipe_len, NO_WAIT, MSG_PRI_NORMAL );
/*			if( status==ERROR )
			{
				alarmmsg.alm_code = ALARM_NODE_MAILOVER;
				strcpy( alarmmsg.content+1, "taskDbms" );
				SaveAlarm( &alarmmsg );
			}else
			{
				nmsgs = msgQNumMsgs( DBMS_Q_ID );
				if( nmsgs>=DMBS_TASK_QUE_LEN-16 )
				{
					alarmmsg.alm_code = ALARM_NODE_MAILFULL;
					strcpy( alarmmsg.content+1, "taskDbms" );
					SaveAlarm( &alarmmsg );
				}
			}
*/			break;

#ifdef GUANGQIAN_JIERU
/*ADDED BY Guoshengzhu in 2002/12/22*/
		case PID_V5L1:
			status=msgQSend( V5L1_Q_ID, (char*)msg, pipe_len, NO_WAIT, MSG_PRI_NORMAL );
/*			if( status==ERROR )
			{
				alarmmsg.alm_code = ALARM_NODE_MAILOVER;
				strcpy( alarmmsg.content+1, "taskV5L1" );
				SaveAlarm( &alarmmsg );
			}else
			{
				nmsgs = msgQNumMsgs( V5L1_Q_ID );
				if( nmsgs>=V52_L1_TASK_QUE_LEN-32 )
				{
					alarmmsg.alm_code = ALARM_NODE_MAILFULL;
					strcpy( alarmmsg.content+1, "taskV5L1" );
					SaveAlarm( &alarmmsg );
				}
			}			
*/			break;

		case PID_LAPV:
			status=msgQSend( Lapv_Q_ID, (char*)msg, pipe_len, 0, MSG_PRI_NORMAL);	
/*
			if( status==ERROR )
			{
				alarmmsg.alm_code = ALARM_NODE_MAILOVER;
				strcpy( alarmmsg.content+1, "taskLapv" );
				SaveAlarm( &alarmmsg );
			}else
			{
				nmsgs = msgQNumMsgs( Lapv_Q_ID );
				if( nmsgs>=V5_LAPV_TASK_QUE_LEN-32 )
				{
					alarmmsg.alm_code = ALARM_NODE_MAILFULL;
					strcpy( alarmmsg.content+1, "taskLapv" );
					SaveAlarm( &alarmmsg );
				}
			}			
*/			break;

		case PID_V52_MAN:
		case PID_V5PSTN_FSM:
		case PID_V5CONTROL_FSM:
		case PID_V5PORTCTRL_FSM:
		case PID_V5COMMCTRL_FSM:
		case PID_V5PORTISDNBA_FSM:
		case PID_V5PORTISDNPRA_FSM:
		case PID_V5PORTPSTN_FSM:
		case PID_V5PROTECT_FSM:
		case PID_V5BCC_FSM:
		case PID_V5LINK_FSM:
		case PID_V5LINK_CTRL:
		case PID_V5ANFR:
		case PID_V5MAN_FUN:
		case PID_V5XSYSMAN:
			status=msgQSend (V52_Q_ID, (char *)msg,pipe_len,0, MSG_PRI_NORMAL);			
/*			if( status==ERROR )
			{
				alarmmsg.alm_code = ALARM_NODE_MAILOVER;
				strcpy( alarmmsg.content+1, "taskV52" );
				SaveAlarm( &alarmmsg );
			}else
			{
				nmsgs = msgQNumMsgs( V52_Q_ID );
				if( nmsgs>=V52_MAINTASK_QUE_LEN-192 )
				{
					alarmmsg.alm_code = ALARM_NODE_MAILFULL;
					strcpy( alarmmsg.content+1, "taskV52" );
					SaveAlarm( &alarmmsg );
				}
			}			
*/			break;

		case PID_V5LINK_CTRL_BUF:
			status=msgQSend (V52LinkCtrlBuf_Q_ID, (char *)msg,pipe_len,0, MSG_PRI_NORMAL);			
/*			if( status==ERROR )
			{
				alarmmsg.alm_code = ALARM_NODE_MAILOVER;
				strcpy( alarmmsg.content+1, "taskv5lnk" );
				SaveAlarm( &alarmmsg );
			}else
			{
				nmsgs = msgQNumMsgs( V52LinkCtrlBuf_Q_ID );
				if( nmsgs>=V52_LINK_CTL_QUE_LEN-4 )
				{
					alarmmsg.alm_code = ALARM_NODE_MAILFULL;
					strcpy( alarmmsg.content+1, "taskv5lnk" );
					SaveAlarm( &alarmmsg );
				}
			}			
*/			break;
		case PID_V5PORTCTRL_BUF:
			status=msgQSend (V52PortCtrlBuf_Q_ID, (char *)msg,pipe_len,0, MSG_PRI_NORMAL);			
/*			if( status==ERROR )
			{
				alarmmsg.alm_code = ALARM_NODE_MAILOVER;
				strcpy( alarmmsg.content+1, "taskv5port" );
				SaveAlarm( &alarmmsg );
			}else
			{
				nmsgs = msgQNumMsgs( V52PortCtrlBuf_Q_ID );
				if( nmsgs>=V52_PORT_CTL_QUE_LEN-4 )
				{
					alarmmsg.alm_code = ALARM_NODE_MAILFULL;
					strcpy( alarmmsg.content+1, "taskv5port" );
					SaveAlarm( &alarmmsg );
				}
			}			
*/			break;
		case PID_V5COMMCTRL_BUF:
			status=msgQSend (V52CommCtrlBuf_Q_ID, (char *)msg,pipe_len,0, MSG_PRI_NORMAL);			
/*			if( status==ERROR )
			{
				alarmmsg.alm_code = ALARM_NODE_MAILOVER;
				strcpy( alarmmsg.content+1, "taskV5ctrl" );
				SaveAlarm( &alarmmsg );
			}else
			{
				nmsgs = msgQNumMsgs( V52CommCtrlBuf_Q_ID );
				if( nmsgs>=V52_COMM_CTL_QUE_LEN-4 )
				{
					alarmmsg.alm_code = ALARM_NODE_MAILFULL;
					strcpy( alarmmsg.content+1, "taskV5ctrl" );
					SaveAlarm( &alarmmsg );
				}
			}			
*/			break;
#endif
	}

	return ( status == OK );
}

⌨️ 快捷键说明

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