📄 abnf.c
字号:
int DE_Hexseq_Hexseq(TCtx *ctx){ /* Token Element: HEXSEQ */ if (ParseToken(ctx, 1, 1, DE_Hexseq) != OK) return FAIL; /* String Element: :: */ if (ParseString(ctx, 1, 1, "::") != OK) return FAIL; /* Token Element: HEXSEQ */ if (ParseToken(ctx, 0, 1, DE_Hexseq) != OK) return FAIL; return OK;}int DE_Colon_Hexseq(TCtx *ctx){ /* String Element: :: */ if (ParseString(ctx, 1, 1, "::") != OK) return FAIL; /* Token Element: HEXSEQ */ if (ParseToken(ctx, 0, 1, DE_Hexseq) != OK) return FAIL; return OK;}int DE_Hexseq(TCtx *ctx){ /* Token Element: HEX4 */ if (ParseToken(ctx, 1, 1, DE_Hex4) != OK) return FAIL; /* String Element: : */ if (ParseString(ctx, 0, 655, ":") != OK) return FAIL; /* Token Element: HEX4 */ if (ParseToken(ctx, 0, 655, DE_Hex4) != OK) return FAIL; return OK;}int DE_Hex4(TCtx *ctx){ /* Token Element: HEXDIG */ if (ParseToken(ctx, 1, 4, DE_HEXDIG) != OK) return FAIL; return OK;}int DE_ProfileName(TCtx *ctx){ /* Token Element: VCHAR */ if (ParseToken(ctx, 1, 1, DE_VCHAR) != OK) return FAIL; /* Token Element: WSP_VCHAR */ if (ParseToken(ctx, 0, 655, DE_Wsp_Vchar) != OK) return FAIL; return OK;}int DE_Wsp_Vchar(TCtx *ctx){ CtxSave(Wsp_Vchar,ctx); /* Token Element: WSP */ if (ParseToken(ctx, 1, 1, DE_WSP) == OK) return OK; CtxRestore(ctx, Wsp_Vchar); /* Token Element: VCHAR */ if (ParseToken(ctx, 1, 1, DE_VCHAR) == OK) return OK; return FAIL;}int DE_MGCPParameter(TCtx *ctx, TMGCPParameter *MGCPParameter){ CtxSave(MGCPParameter, ctx); /* ParamResponseAck */ if (DE_ParamResponseAck(ctx, &MGCPParameter->u.ParamResponseAck) == OK) { MGCPParameter->iType = MGCPParameter_ParamResponseAck; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamBearerInformation */ if (DE_ParamBearerInformation(ctx, &MGCPParameter->u.ParamBearerInformation) == OK) { MGCPParameter->iType = MGCPParameter_ParamBearerInformation; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamCallId */ if (DE_ParamCallId(ctx, &MGCPParameter->u.ParamCallId) == OK) { MGCPParameter->iType = MGCPParameter_ParamCallId; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamConnectionId */ if (DE_ParamConnectionId(ctx, &MGCPParameter->u.ParamConnectionId) == OK) { MGCPParameter->iType = MGCPParameter_ParamConnectionId; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamNotifiedEntity */ if (DE_ParamNotifiedEntity(ctx, &MGCPParameter->u.ParamNotifiedEntity) == OK) { MGCPParameter->iType = MGCPParameter_ParamNotifiedEntity; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamRequestIdentifier */ if (DE_ParamRequestIdentifier(ctx, &MGCPParameter->u.ParamRequestIdentifier) == OK) { MGCPParameter->iType = MGCPParameter_ParamRequestIdentifier; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamLocalConnectionOptions */ if (DE_ParamLocalConnectionOptions(ctx, &MGCPParameter->u.ParamLocalConnectionOptions) == OK) { MGCPParameter->iType = MGCPParameter_ParamLocalConnectionOptions; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamConnectionMode */ if (DE_ParamConnectionMode(ctx, &MGCPParameter->u.ParamConnectionMode) == OK) { MGCPParameter->iType = MGCPParameter_ParamConnectionMode; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamRequestedEvents */ if (DE_ParamRequestedEvents(ctx, &MGCPParameter->u.ParamRequestedEvents) == OK) { MGCPParameter->iType = MGCPParameter_ParamRequestedEvents; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamSignalRequests */ if (DE_ParamSignalRequests(ctx, &MGCPParameter->u.ParamSignalRequests) == OK) { MGCPParameter->iType = MGCPParameter_ParamSignalRequests; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamDigitMap */ if (DE_ParamDigitMap(ctx, &MGCPParameter->u.ParamDigitMap) == OK) { MGCPParameter->iType = MGCPParameter_ParamDigitMap; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamObservedEvents */ if (DE_ParamObservedEvents(ctx, &MGCPParameter->u.ParamObservedEvents) == OK) { MGCPParameter->iType = MGCPParameter_ParamObservedEvents; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamConnectionParameters */ if (DE_ParamConnectionParameters(ctx, &MGCPParameter->u.ParamConnectionParameters) == OK) { MGCPParameter->iType = MGCPParameter_ParamConnectionParameters; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamReasonCode */ if (DE_ParamReasonCode(ctx, &MGCPParameter->u.ParamReasonCode) == OK) { MGCPParameter->iType = MGCPParameter_ParamReasonCode; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamSpecificEndpointID */ if (DE_ParamSpecificEndpointID(ctx, &MGCPParameter->u.ParamSpecificEndpointID) == OK) { MGCPParameter->iType = MGCPParameter_ParamSpecificEndpointID; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamSecondEndpointID */ if (DE_ParamSecondEndpointID(ctx, &MGCPParameter->u.ParamSecondEndpointID) == OK) { MGCPParameter->iType = MGCPParameter_ParamSecondEndpointID; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamSecondConnectionID */ if (DE_ParamSecondConnectionID(ctx, &MGCPParameter->u.ParamSecondConnectionID) == OK) { MGCPParameter->iType = MGCPParameter_ParamSecondConnectionID; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamRequestedInfo */ if (DE_ParamRequestedInfo(ctx, &MGCPParameter->u.ParamRequestedInfo) == OK) { MGCPParameter->iType = MGCPParameter_ParamRequestedInfo; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamQuarantineHandling */ if (DE_ParamQuarantineHandling(ctx, &MGCPParameter->u.ParamQuarantineHandling) == OK) { MGCPParameter->iType = MGCPParameter_ParamQuarantineHandling; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamDetectEvents */ if (DE_ParamDetectEvents(ctx, &MGCPParameter->u.ParamDetectEvents) == OK) { MGCPParameter->iType = MGCPParameter_ParamDetectEvents; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamRestartMethod */ if (DE_ParamRestartMethod(ctx, &MGCPParameter->u.ParamRestartMethod) == OK) { MGCPParameter->iType = MGCPParameter_ParamRestartMethod; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamRestartDelay */ if (DE_ParamRestartDelay(ctx, &MGCPParameter->u.ParamRestartDelay) == OK) { MGCPParameter->iType = MGCPParameter_ParamRestartDelay; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamCapabilities */ if (DE_ParamCapabilities(ctx, &MGCPParameter->u.ParamCapabilities) == OK) { MGCPParameter->iType = MGCPParameter_ParamCapabilities; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamEventStates */ if (DE_ParamEventStates(ctx, &MGCPParameter->u.ParamEventStates) == OK) { MGCPParameter->iType = MGCPParameter_ParamEventStates; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamPackageList */ if (DE_ParamPackageList(ctx, &MGCPParameter->u.ParamPackageList) == OK) { MGCPParameter->iType = MGCPParameter_ParamPackageList; return OK; } CtxRestore(ctx, MGCPParameter); /* ParamMaxMGCPDatagram */ if (DE_ParamMaxMGCPDatagram(ctx, &MGCPParameter->u.ParamMaxMGCPDatagram) == OK) { MGCPParameter->iType = MGCPParameter_ParamMaxMGCPDatagram; return OK; } CtxRestore(ctx, MGCPParameter); /* ExtendedParameter */ if (DE_ExtendedParameter(ctx, &MGCPParameter->u.ExtendedParameter) == OK) { MGCPParameter->iType = MGCPParameter_ExtendedParameter; return OK; } return FAIL;}int EN_MGCPParameter(TCtx *ctx, TMGCPParameter *MGCPParameter){ switch (MGCPParameter->iType) { /* ParamResponseAck */ case MGCPParameter_ParamResponseAck: return EN_ParamResponseAck(ctx, &MGCPParameter->u.ParamResponseAck); /* ParamBearerInformation */ case MGCPParameter_ParamBearerInformation: return EN_ParamBearerInformation(ctx, &MGCPParameter->u.ParamBearerInformation); /* ParamCallId */ case MGCPParameter_ParamCallId: return EN_ParamCallId(ctx, &MGCPParameter->u.ParamCallId); /* ParamConnectionId */ case MGCPParameter_ParamConnectionId: return EN_ParamConnectionId(ctx, &MGCPParameter->u.ParamConnectionId); /* ParamNotifiedEntity */ case MGCPParameter_ParamNotifiedEntity: return EN_ParamNotifiedEntity(ctx, &MGCPParameter->u.ParamNotifiedEntity); /* ParamRequestIdentifier */ case MGCPParameter_ParamRequestIdentifier: return EN_ParamRequestIdentifier(ctx, &MGCPParameter->u.ParamRequestIdentifier); /* ParamLocalConnectionOptions */ case MGCPParameter_ParamLocalConnectionOptions: return EN_ParamLocalConnectionOptions(ctx, &MGCPParameter->u.ParamLocalConnectionOptions); /* ParamConnectionMode */ case MGCPParameter_ParamConnectionMode: return EN_ParamConnectionMode(ctx, &MGCPParameter->u.ParamConnectionMode); /* ParamRequestedEvents */ case MGCPParameter_ParamRequestedEvents: return EN_ParamRequestedEvents(ctx, &MGCPParameter->u.ParamRequestedEvents); /* ParamSignalRequests */ case MGCPParameter_ParamSignalRequests: return EN_ParamSignalRequests(ctx, &MGCPParameter->u.ParamSignalRequests); /* ParamDigitMap */ case MGCPParameter_ParamDigitMap: return EN_ParamDigitMap(ctx, &MGCPParameter->u.ParamDigitMap); /* ParamObservedEvents */ case MGCPParameter_ParamObservedEvents: return EN_ParamObservedEvents(ctx, &MGCPParameter->u.ParamObservedEvents); /* ParamConnectionParameters */ case MGCPParameter_ParamConnectionParameters: return EN_ParamConnectionParameters(ctx, &MGCPParameter->u.ParamConnectionParameters); /* ParamReasonCode */ case MGCPParameter_ParamReasonCode: return EN_ParamReasonCode(ctx, &MGCPParameter->u.ParamReasonCode); /* ParamSpecificEndpointID */ case MGCPParameter_ParamSpecificEndpointID: return EN_ParamSpecificEndpointID(ctx, &MGCPParameter->u.ParamSpecificEndpointID); /* ParamSecondEndpointID */ case MGCPParameter_ParamSecondEndpointID: return EN_ParamSecondEndpointID(ctx, &MGCPParameter->u.ParamSecondEndpointID); /* ParamSecondConnectionID */ case MGCPParameter_ParamSecondConnectionID: return EN_ParamSecondConnectionID(ctx, &MGCPParameter->u.ParamSecondConnectionID); /* ParamRequestedInfo */ case MGCPParameter_ParamRequestedInfo: return EN_ParamRequestedInfo(ctx, &MGCPParameter->u.ParamRequestedInfo); /* ParamQuarantineHandling */ case MGCPParameter_ParamQuarantineHandling: return EN_ParamQuarantineHandling(ctx, &MGCPParameter->u.ParamQuarantineHandling); /* ParamDetectEvents */ case MGCPParameter_ParamDetectEvents: return EN_ParamDetectEvents(ctx, &MGCPParameter->u.ParamDetectEvents); /* ParamRestartMethod */ case MGCPParameter_ParamRestartMethod: return EN_ParamRestartMethod(ctx, &MGCPParameter->u.ParamRestartMethod); /* ParamRestartDelay */ case MGCPParameter_ParamRestartDelay: return EN_ParamRestartDelay(ctx, &MGCPParameter->u.ParamRestartDelay); /* ParamCapabilities */ case MGCPParameter_ParamCapabilities: return EN_ParamCapabilities(ctx, &MGCPParameter->u.ParamCapabilities); /* ParamEventStates */ case MGCPParameter_ParamEventStates: return EN_ParamEventStates(ctx, &MGCPParameter->u.ParamEventStates); /* ParamPackageList */ case MGCPParameter_ParamPackageList: return EN_ParamPackageList(ctx, &MGCPParameter->u.ParamPackageList); /* ParamMaxMGCPDatagram */ case MGCPParameter_ParamMaxMGCPDatagram: return EN_ParamMaxMGCPDatagram(ctx, &MGCPParameter->u.ParamMaxMGCPDatagram); /* ExtendedParameter */ case MGCPParameter_ExtendedParameter: return EN_ExtendedParameter(ctx, &MGCPParameter->u.ExtendedParameter); } return FAIL;}void Free_MGCPParameter(TMGCPParameter *MGCPParameter){ switch (MGCPParameter->iType) { /* Free ParamResponseAck */ case MGCPParameter_ParamResponseAck: Free_ParamResponseAck(&MGCPParameter->u.ParamResponseAck); break; /* Free ParamBearerInformation */ case MGCPParameter_ParamBearerInformation: Free_ParamBearerInformation(&MGCPParameter->u.ParamBearerInformation); break; /* Free ParamCallId */ case MGCPParameter_ParamCallId: Free_ParamCallId(&MGCPParameter->u.ParamCallId); break; /* Free ParamConnectionId */ case MGCPParameter_ParamConnectionId: Free_ParamConnectionId(&MGCPParameter->u.ParamConnectionId); break; /* Free ParamNotifiedEntity */ case MGCPParameter_ParamNotifiedEntity: Free_ParamNotifiedEntity(&MGCPParameter->u.ParamNotifiedEntity); break; /* Free ParamRequestIdentifier */ case MGCPParameter_ParamRequestIdentifier: Free_ParamRequestIdentifier(&MGCPParameter->u.ParamRequestIdentifier); break; /* Free ParamLocalConnectionOptions */ case MGCPParameter_ParamLocalConnectionOptions: Free_ParamLocalConnectionOptions(&MGCPParameter->u.ParamLocalConnectionOptions); break; /* Free ParamConnectionMode */ case MGCPParameter_ParamConnectionMode: Free_ParamConnectionMode(&MGCPParameter->u.ParamConnectionMode); break; /* Free ParamRequestedEvents */ case MGCPParameter_ParamRequestedEvents: Free_ParamRequestedEvents(&MGCPParameter->u.ParamRequestedEvents); break; /* Free ParamSignalRequests */ case MGCPParameter_ParamSignalRequests: Free_ParamSignalRequests(&MGCPParameter->u.ParamSignalRequests); break; /* Free ParamDigitMap */ case MGCPParameter_ParamDigitMap: Free_ParamDigitMap(&MGCPParameter->u.ParamDigitMap); break; /* Free ParamObservedEvents */ case MGCPParameter_ParamObservedEvents: Free_ParamObservedEvents(&MGCPParameter->u.ParamObservedEvents); break; /* Free ParamConnectionParameters */ case MGCPParameter_ParamConnectionParameters: Free_ParamConnectionParameters(&MGCPParameter->u.ParamConnectionParameters); break; /* Free ParamReasonCode */ case MGCPParameter_ParamReasonCode: Free_ParamReasonCode(&MGCPParameter->u.ParamReasonCode); break; /* Free ParamSpecificEndpointID */ case MGCPParameter_ParamSpecificEndpointID: Free_ParamSpecificEndpointID(&MGCPParameter->u.ParamSpecificEndpointID); break; /* Free ParamSecondEndpointID */ case MGCPParameter_ParamSecondEndpointID: Free_ParamSecondEndpointID(&MGCPParameter->u.ParamSecondEndpointID); break; /* Free ParamSecondConnectionID */ case MGCPParameter_ParamSecondConnectionID: Free_ParamSecondConnectionID(&MGCPParameter->u.ParamSecondConnectionID); break; /* Free ParamRequestedInfo */ case MGCPParameter_ParamRequestedInfo: Free_ParamRequestedInfo(&MGCPParameter->u.ParamRequestedInfo); break; /* Free ParamQuarantineHandling */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -