task_que.c

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

C
73
字号
#include "RTOS\NUCLEUS\TASK\TASK_NUC.H"
#include "PUB\PUB_INCL.H"
#include "PUB\PUB__MSG.H"
#include "PUB\MODULERS.H"


BOOL NucleusSendLetterToMailbox( STRUCT MSG_STRUCT *msg );
UI GetLetterFromMailbox(UC mail_id, VOID *data );

extern NU_PIPE Pipe_Periodic;
extern NU_PIPE Pipe_SysManager;
extern NU_PIPE Pipe_NetManagerCenter;
extern NU_PIPE Pipe_Lapv;
extern NU_PIPE Pipe_DbmsManager;
extern NU_PIPE Pipe_DlcSys;
extern NU_PIPE Pipe_CcSys;

BOOL NucleusSendLetterToMailbox( STRUCT MSG_STRUCT *msg )
{
	UI pipe_len;
	STATUS status;

	pipe_len = msg->len+7;

	switch( msg->receiver )
	{
		case PID_PERIODIC:
			status=NU_Send_To_Pipe( &Pipe_Periodic,msg,pipe_len,NU_NO_SUSPEND );
			break;
		
		case PID_NET_CTRL_FSM:
			status=NU_Send_To_Pipe( &Pipe_CommNetCtrl,msg,pipe_len,NU_NO_SUSPEND );
			break;
		
		case PID_NET_MAN:
			status=NU_Send_To_Pipe( &Pipe_NetManagerCenter,msg,pipe_len,NU_NO_SUSPEND );
			break;

		case PID_SYSMAN:
			status=NU_Send_To_Pipe( &Pipe_SysManager,msg,pipe_len,NU_NO_SUSPEND );
			break;

		case PID_CCB_MAN:
		case PID_CC:
		case PID_CCA_PSTN:
		case PID_CCA_ODTK:
			status=NU_Send_To_Pipe( &Pipe_CcSys,msg,pipe_len,NU_NO_SUSPEND );
			break;

		case PID_LEA_MAN:
			status=NU_Send_To_Pipe( &Pipe_DlcSys,msg,pipe_len,NU_NO_SUSPEND );
			break;

		case PID_DBMS:
			status=NU_Send_To_Pipe( &Pipe_DbmsManager,msg,pipe_len,NU_NO_SUSPEND );
			break;

		case PID_LAPV:
			status=NU_Send_To_Pipe( &Pipe_Lapv,msg,pipe_len,NU_NO_SUSPEND );
			break;
	}

	if( status==NU_SUCCESS )
		return TRUE;
	else
		return FALSE;
}


UI GetLetterFromMailbox( UC mail_id, VOID *data )
{
	return 0;
}

⌨️ 快捷键说明

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