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

📄 rvmegaco.syn

📁 h.248协议源码
💻 SYN
📖 第 1 页 / 共 5 页
字号:
	{
		PCB.curTransactionReply = rvNew(RvMegacoTransactionReply)(&PCB);
		return rvMegacoTransactionReplyConstructExA(PCB.curTransactionReply, id, PCB.alloc);
	}

(void)
isImmAckRequired
	->
	-> ImmAckRequiredToken, LWSP, COMMA = { rvMegacoTransactionReplySetImmediateAckFlag(PCB.curTransactionReply, rvTrue); }

(void)
transactionReplyMeat
	-> errorDescriptor:e = 
	{
		rvMegacoTransactionReplySetError(PCB.curTransactionReply, e);
		rvDelete(&PCB, e);
	}
	-> actionReply, [COMMA, actionReply]...

(void)
actionReply
	-> actionReplyBlank:r, LBRKT, errorDescriptor:e, RBRKT =
	{
		rvMegacoActionReplySetError(r, e);		
		rvMegacoTransactionReplyAddReply(PCB.curTransactionReply, r);
		rvDelete(&PCB, e);
		rvDelete(&PCB, r);
	}
	-> actionReplyBlank:r, LBRKT, commandReply, RBRKT =
	{
		rvMegacoTransactionReplyAddReply(PCB.curTransactionReply, r);
		rvDelete(&PCB, r);
	}

(RvMegacoActionReply *)
actionReplyBlank
	-> CtxToken, EQUAL, ContextID:id, LWSP =
	{
		PCB.curActionReply = rvNew(RvMegacoActionReply)(&PCB);
		rvMegacoActionReplyConstructExA(PCB.curActionReply, id, PCB.alloc);
		rvDelete(&PCB, id);
		return PCB.curActionReply;
	}

(void)
commandReply
	-> commandReplyList
	-> contextProperties:p, [COMMA, commandReplyList] = 
	{
		rvMegacoActionReplySetContextProperties(PCB.curActionReply, p);
		rvDelete(&PCB, p);
	}

(void)
commandReplyList
	-> commandReplys, [COMMA, commandReplys]...

(void)
commandReplys
	-> specificCommandReply:r =
	{
		rvMegacoActionReplyAddReply(PCB.curActionReply, r);
		rvDelete(&PCB, r);
	}

(RvMegacoCommandReply *)
specificCommandReply
	-> serviceChangeReply:r = r;
	-> auditReply:r = r;
	-> ammsReply:r = r;
	-> notifyReply:r = r;

(RvMegacoCommand *)
ammRequest
	-> ammRequestBlank:cmd, [LBRKT, ammParameter, [COMMA, ammParameter]..., RBRKT] = cmd;

(RvMegacoCommand *)
ammRequestBlank
	-> ammType:construct, EQUAL, TerminationID:id, LWSP =
	{
		PCB.curAmmCommand = rvNew(RvMegacoCommand)(&PCB);
		construct(PCB.curAmmCommand, id, PCB.alloc);
		rvDelete(&PCB, id);
		return PCB.curAmmCommand;
	}

(RvAmmConstructFunc)
ammType
	-> AddToken = &rvMegacoAddCommandConstructA;
	-> MoveToken = &rvMegacoMoveCommandConstructA;
	-> ModifyToken = &rvMegacoModifyCommandConstructA;

(void)
ammParameter
	-> mediaDescriptor:d =
	{
		rvMegacoAmmCommandSetMedia(PCB.curAmmCommand, d);
		rvDelete(&PCB, d);
	}
	-> modemDescriptor:d =
	{
		rvMegacoAmmCommandSetModem(PCB.curAmmCommand, d);
		rvDelete(&PCB, d);
	}
	-> muxDescriptor:d =
	{
		rvMegacoAmmCommandSetMux(PCB.curAmmCommand, d);
		rvDelete(&PCB, d);
	}
	-> eventsDescriptor:d =
	{
		rvMegacoAmmCommandSetEvents(PCB.curAmmCommand, d);
		rvDelete(&PCB, d);
	}
	-> signalsDescriptor:d =
	{
		rvMegacoAmmCommandSetSignals(PCB.curAmmCommand, d);
		rvDelete(&PCB, d);
	}
	-> digitMapDescriptor:d =
	{
		rvMegacoAmmCommandSetDigitMap(PCB.curAmmCommand, d);
		rvDelete(&PCB, d);
	}
	-> eventBufferDescriptor:d =
	{
		rvMegacoAmmCommandSetEventBuffer(PCB.curAmmCommand, d);
		rvDelete(&PCB, d);
	}
	-> auditDescriptor:d =
	{
		rvMegacoAmmCommandSetAudit(PCB.curAmmCommand, d);
		rvDelete(&PCB, d);
	}

(RvMegacoCommandReply *)
ammsReply
	-> ammsReplyBlank:x, [LBRKT, terminationAudit, RBRKT] = x;

(RvMegacoCommandReply *)
ammsReplyBlank
	-> ammsReplyType:type, EQUAL, TerminationID:id, LWSP =
	{
		PCB.curCommandReply = rvNew(RvMegacoCommandReply)(&PCB);
		rvMegacoCommandReplyConstructExA(PCB.curCommandReply, type, id, PCB.alloc);
		rvDelete(&PCB, id);
		return PCB.curCommandReply;
	}

(RvMegacoCommandType)
ammsReplyType
	-> AddToken = RV_MEGACOCOMMANDTYPE_ADD;
	-> MoveToken = RV_MEGACOCOMMANDTYPE_MOVE;
	-> ModifyToken = RV_MEGACOCOMMANDTYPE_MODIFY;
	-> SubtractToken = RV_MEGACOCOMMANDTYPE_SUBTRACT;

(RvMegacoSubtractCommand *)
subtractRequest
	-> subtractRequestBlank:x = x;
	-> subtractRequestBlank:x, LBRKT, auditDescriptor:a, RBRKT =
	{
		rvMegacoSubtractCommandSetAudit(x, a);
		rvDelete(&PCB, a);
		return x;
	}

(RvMegacoSubtractCommand *)
subtractRequestBlank
	-> SubtractToken, EQUAL, TerminationID:id, LWSP = 
	{
		RvMegacoSubtractCommand *x = rvNew(RvMegacoCommand)(&PCB);
		rvMegacoSubtractCommandConstructA(x, id, PCB.alloc);
		rvDelete(&PCB, id);
		return x;
	}

(RvMegacoCommand *)
auditRequest
	-> AuditValueToken, EQUAL, TerminationID:id, LWSP, LBRKT, auditDescriptor:a, RBRKT =
	{
		RvMegacoAuditValCommand *x = rvNew(RvMegacoCommand)(&PCB);
		rvMegacoAuditValCommandConstructA(x, id, a, PCB.alloc);
		rvDelete(&PCB, id);
		rvDelete(&PCB, a);
		return x;
	} 
	-> AuditCapToken, EQUAL, TerminationID:id, LWSP, LBRKT, auditDescriptor:a, RBRKT =
	{
		RvMegacoAuditCapCommand *x = rvNew(RvMegacoCommand)(&PCB);
		rvMegacoAuditCapCommandConstructA(x, id, a, PCB.alloc);
		rvDelete(&PCB, id);
		rvDelete(&PCB, a);
		return x;
	} 

(RvMegacoCommandReply *)
auditReply
	-> auditOtherBlank:x, LBRKT, terminationAudit, RBRKT = x;
	-> auditTermListBlank:x, LBRKT, terminationIdForList, [COMMA, terminationIdForList]..., RBRKT = x;
	-> auditTermListBlank:x, LBRKT, errorDescriptor:e, RBRKT =
	{
		rvMegacoCommandReplySetError(x, e);	
		rvDelete(&PCB, e);
		return x;
	}

(RvMegacoCommandReply *)
auditTermListBlank
	-> AuditValueToken, EQUAL, CtxToken, LWSP =
	{
		return PCB.curCommandReply = rvMegacoCommandReplyConstructTermListA(
			rvNew(RvMegacoCommandReply)(&PCB), RV_MEGACOCOMMANDTYPE_AUDITVAL, PCB.alloc);
	}
	-> AuditCapToken, EQUAL, CtxToken, LWSP =
	{
		return PCB.curCommandReply = rvMegacoCommandReplyConstructTermListA(
			rvNew(RvMegacoCommandReply)(&PCB), RV_MEGACOCOMMANDTYPE_AUDITCAP, PCB.alloc);
	}

(void)
terminationIdForList
	-> TerminationID:id, LWSP =
	{
		rvMegacoCommandReplyAddTermination(PCB.curCommandReply, id);
		rvDelete(&PCB, id);
	}

(RvMegacoCommandReply *)
auditOtherBlank
	-> AuditValueToken, EQUAL, TerminationID:id, LWSP =
	{
		RvMegacoCommandReply *x = rvNew(RvMegacoCommandReply)(&PCB);
		rvMegacoCommandReplyConstructExA(x, RV_MEGACOCOMMANDTYPE_AUDITVAL, id, PCB.alloc);
		rvDelete(&PCB, id);
		return PCB.curCommandReply = x;
	}
	-> AuditCapToken, EQUAL, TerminationID:id, LWSP =
	{
		RvMegacoCommandReply *x = rvNew(RvMegacoCommandReply)(&PCB);
		rvMegacoCommandReplyConstructExA(x, RV_MEGACOCOMMANDTYPE_AUDITCAP, id, PCB.alloc);
		rvDelete(&PCB, id);
		return PCB.curCommandReply = x;
	}

(void)
terminationAudit
	-> auditReturnParameter, [COMMA, auditReturnParameter]...

(void)
auditReturnParameter
	-> mediaDescriptor:d =
	{
		rvMegacoCommandReplySetMedia(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> modemDescriptor:d =
	{
		rvMegacoCommandReplySetModem(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> muxDescriptor:d =
	{
		rvMegacoCommandReplySetMux(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> eventsDescriptor:d =
	{
		rvMegacoCommandReplySetEvents(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> signalsDescriptor:d =
	{
		rvMegacoCommandReplySetSignals(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> digitMapDescriptor:d =
	{
		rvMegacoCommandReplySetDigitMap(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> observedEventsDescriptor:d =
	{
		rvMegacoCommandReplySetObservedEvents(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> eventBufferDescriptor:d =
	{
		rvMegacoCommandReplySetEventBuffer(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> statisticsDescriptor:d =
	{
		rvMegacoCommandReplySetStatistics(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> packagesDescriptor:d =
	{
		rvMegacoCommandReplySetPackages(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> errorDescriptor:d =
	{
		rvMegacoCommandReplySetError(PCB.curCommandReply, d);
		rvDelete(&PCB, d);
	}
	-> auditItem

(RvMegacoAuditDescriptor *)
auditDescriptor
	-> AuditToken, LWSP, LBRKT, RBRKT = rvMegacoAuditDescriptorConstruct(rvNew(RvMegacoAuditDescriptor)(&PCB), 0);
	-> AuditToken, LWSP, LBRKT, auditItemList:list, RBRKT = rvMegacoAuditDescriptorConstruct(rvNew(RvMegacoAuditDescriptor)(&PCB), list);

(RvMegacoAuditItems)
auditItemList
	-> auditItem:i = i;
	-> auditItemList:list, COMMA, auditItem:i = list | i;

//at-most-once
(RvMegacoAuditItems)
auditItem
	-> MuxToken, LWSP = RV_MEGACOAUDITITEMS_MUX;
	-> ModemToken, LWSP = RV_MEGACOAUDITITEMS_MODEM;
	-> MediaToken, LWSP = RV_MEGACOAUDITITEMS_MEDIA;
	-> SignalsToken, LWSP = RV_MEGACOAUDITITEMS_SIGNALS;
	-> EventBufferToken, LWSP = RV_MEGACOAUDITITEMS_EVENTBUFFER;
	-> DigitMapToken, LWSP = RV_MEGACOAUDITITEMS_DIGITMAP;
	-> StatsToken, LWSP = RV_MEGACOAUDITITEMS_STATS;
	-> EventsToken, LWSP = RV_MEGACOAUDITITEMS_EVENTS;
	-> ObservedEventsToken, LWSP = RV_MEGACOAUDITITEMS_OBSERVEDEVENTS;
	-> PackagesToken, LWSP = RV_MEGACOAUDITITEMS_PACKAGES;

(RvMegacoNotifyCommand *)
notifyRequest
	-> notifyRequestBlank:x, RBRKT = x;
	-> notifyRequestBlank:x, COMMA, errorDescriptor:e, RBRKT = 
	{
		rvMegacoNotifyCommandSetError(x, e);
		rvDelete(&PCB, e);
		return x;
	}

(RvMegacoNotifyCommand *)
notifyRequestBlank
	-> NotifyToken, EQUAL, TerminationID:id, LWSP, LBRKT, observedEventsDescriptor:ev =
	{
		RvMegacoNotifyCommand *x = rvNew(RvMegacoCommand)(&PCB);
		rvMegacoNotifyCommandConstructA(x, id, ev, PCB.alloc);
		rvDelete(&PCB, id);
		rvDelete(&PCB, ev);
		return x;
	}

(RvMegacoCommandReply *)
notifyReply
	-> notifyReplyBlank:x = x;
	-> notifyReplyBlank:x, LBRKT, errorDescriptor:e, RBRKT = 
	{
		rvMegacoCommandReplySetError(x, e);
		rvDelete(&PCB, e);
		return x;
	}

(RvMegacoCommandReply *)
notifyReplyBlank
	-> NotifyToken, EQUAL, TerminationID:id, LWSP =
	{
		RvMegacoCommandReply *x = rvNew(RvMegacoCommandReply)(&PCB);
		rvMegacoCommandReplyConstructExA(x, RV_MEGACOCOMMANDTYPE_NOTIFY, id, PCB.alloc);
		rvDelete(&PCB, id);
		return x;
	}

(RvMegacoServiceChangeCommand *)
serviceChangeRequest
	-> ServiceChangeToken, EQUAL, TerminationID:id, LWSP, LBRKT, serviceChangeDescriptor:s, RBRKT =
	{
		RvMegacoServiceChangeCommand *x = rvNew(RvMegacoCommand)(&PCB);
		rvMegacoServiceChangeCommandConstructA(x, id, s, PCB.alloc);
		rvDelete(&PCB, id);
		rvDelete(&PCB, s);
		return x;
	}

(RvMegacoCommandReply *)
serviceChangeReply
	-> serviceChangeReplyBlank:x = x;
	-> serviceChangeReplyBlank:x, LBRKT, errorDescriptor:e, RBRKT =
	{
		rvMegacoCommandReplySetError(x, e);
		rvDelete(&PCB, e);
		return x;
	}
	-> serviceChangeReplyBlank:x, LBRKT, serviceChangeReplyDescriptor:d, RBRKT =
	{
		rvMegacoCommandReplySetServiceChange(x, d);
		rvDelete(&PCB, d);
		return x;
	}

(RvMegacoCommandReply *)
serviceChangeReplyBlank
	-> ServiceChangeToken, EQUAL, TerminationID:id, LWSP =
	{
		RvMegacoCommandReply *x = rvNew(RvMegacoCommandReply)(&PCB);
		rvMegacoCommandReplyConstructExA(x, RV_MEGACOCOMMANDTYPE_SVCCHANGE, id, PCB.alloc);
		rvDelete(&PCB, id);
		return x;
	}

(RvMegacoErrorDescriptor *)
errorDescriptor
	-> ErrorToken, EQUAL, ErrorCode:c, LWSP, LBRKT, RBRKT = rvMegacoErrorDescriptorConstructA(rvNew(RvMegacoErrorDescriptor)(&PCB), c, "", PCB.alloc);
	-> ErrorToken, EQUAL, ErrorCode:c, LWSP, LBRKT, quotedString:s, LWSP, RBRKT =
	{
		RvMegacoErrorDescriptor *e = rvNew(RvMegacoErrorDescriptor)(&PCB);
		rvMegacoErrorDescriptorConstructA(e, c, rvStringGetData(s), PCB.alloc);
		rvDelete(&PCB, s);
		return e;
	}

(unsigned int)
ErrorCode
	-> integer:i =
	{
		if(i > 9999)
		{
			PCB.exit_flag = AG_SEMANTIC_ERROR_CODE;
			PCB.error_message = "Illegal error code";
		}
		return i;
	}

(RvMegacoEntityAddress *)
mId

⌨️ 快捷键说明

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