📄 multimedia-system-controlenc.c
字号:
ASN1BOOL extbit; /* extension bit */ extbit = (ASN1BOOL)(pvalue->t > 2); encodeBit (pctxt, extbit); if (!extbit) { /* Encode choice index value */ stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 1); if (stat != ASN_OK) return stat; /* Encode root element data value */ switch (pvalue->t) { /* t38UDPFEC */ case 1: /* NULL */ break; /* t38UDPRedundancy */ case 2: /* NULL */ break; default: return ASN_E_INVOPT; } } else { /* Encode extension choice index value */ stat = encodeSmallNonNegWholeNumber (pctxt, pvalue->t - 3); if (stat != ASN_OK) return stat; /* Encode extension element data value */ } return (stat);}/**************************************************************//* *//* T38FaxUdpOptions *//* *//**************************************************************/EXTERN int asn1PE_H245T38FaxUdpOptions (OOCTXT* pctxt, H245T38FaxUdpOptions* pvalue){ int stat = ASN_OK; encodeBit (pctxt, (ASN1BOOL)pvalue->m.t38FaxMaxBufferPresent); encodeBit (pctxt, (ASN1BOOL)pvalue->m.t38FaxMaxDatagramPresent); /* encode t38FaxMaxBuffer */ if (pvalue->m.t38FaxMaxBufferPresent) { stat = encodeUnconsInteger (pctxt, pvalue->t38FaxMaxBuffer); if (stat != ASN_OK) return stat; } /* encode t38FaxMaxDatagram */ if (pvalue->m.t38FaxMaxDatagramPresent) { stat = encodeUnconsInteger (pctxt, pvalue->t38FaxMaxDatagram); if (stat != ASN_OK) return stat; } /* encode t38FaxUdpEC */ stat = asn1PE_H245T38FaxUdpOptions_t38FaxUdpEC (pctxt, &pvalue->t38FaxUdpEC); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* T38FaxTcpOptions *//* *//**************************************************************/EXTERN int asn1PE_H245T38FaxTcpOptions (OOCTXT* pctxt, H245T38FaxTcpOptions* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode t38TCPBidirectionalMode */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->t38TCPBidirectionalMode); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* T38FaxProfile *//* *//**************************************************************/EXTERN int asn1PE_H245T38FaxProfile (OOCTXT* pctxt, H245T38FaxProfile* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; ASN1OpenType openType; OOCTXT lctxt; /* extension bit */ extbit = (ASN1BOOL)(pvalue->m.versionPresent || pvalue->m.t38FaxRateManagementPresent || pvalue->m.t38FaxUdpOptionsPresent || pvalue->m.t38FaxTcpOptionsPresent); encodeBit (pctxt, extbit); /* encode fillBitRemoval */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->fillBitRemoval); if (stat != ASN_OK) return stat; /* encode transcodingJBIG */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->transcodingJBIG); if (stat != ASN_OK) return stat; /* encode transcodingMMR */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->transcodingMMR); if (stat != ASN_OK) return stat; if (extbit) { /* encode extension optional bits length */ stat = encodeSmallNonNegWholeNumber (pctxt, 3); if (stat != ASN_OK) return stat; /* encode optional bits */ encodeBit (pctxt, (ASN1BOOL)pvalue->m.versionPresent); encodeBit (pctxt, (ASN1BOOL)pvalue->m.t38FaxRateManagementPresent); encodeBit (pctxt, (ASN1BOOL)pvalue->m.t38FaxUdpOptionsPresent); encodeBit (pctxt, (ASN1BOOL)pvalue->m.t38FaxTcpOptionsPresent); /* encode extension elements */ if (pvalue->m.versionPresent) { initContext (&lctxt); stat = setPERBuffer (&lctxt, 0, 0, TRUE); if (stat != ASN_OK) return freeContext (&lctxt), stat; stat = encodeConsUnsigned (&lctxt, pvalue->version, 0U, 255U); if (stat != ASN_OK) return freeContext (&lctxt), stat; stat = encodeByteAlign (&lctxt); if (stat != ASN_OK) return freeContext (&lctxt), stat; openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts); stat = encodeOpenType (pctxt, openType.numocts, openType.data); if (stat != ASN_OK) return freeContext (&lctxt), stat; freeContext (&lctxt); } if (pvalue->m.t38FaxRateManagementPresent) { initContext (&lctxt); stat = setPERBuffer (&lctxt, 0, 0, TRUE); if (stat != ASN_OK) return freeContext (&lctxt), stat; stat = asn1PE_H245T38FaxRateManagement (&lctxt, &pvalue->t38FaxRateManagement); if (stat != ASN_OK) return freeContext (&lctxt), stat; stat = encodeByteAlign (&lctxt); if (stat != ASN_OK) return freeContext (&lctxt), stat; openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts); stat = encodeOpenType (pctxt, openType.numocts, openType.data); if (stat != ASN_OK) return freeContext (&lctxt), stat; freeContext (&lctxt); } if (pvalue->m.t38FaxUdpOptionsPresent) { initContext (&lctxt); stat = setPERBuffer (&lctxt, 0, 0, TRUE); if (stat != ASN_OK) return freeContext (&lctxt), stat; stat = asn1PE_H245T38FaxUdpOptions (&lctxt, &pvalue->t38FaxUdpOptions); if (stat != ASN_OK) return freeContext (&lctxt), stat; stat = encodeByteAlign (&lctxt); if (stat != ASN_OK) return freeContext (&lctxt), stat; openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts); stat = encodeOpenType (pctxt, openType.numocts, openType.data); if (stat != ASN_OK) return freeContext (&lctxt), stat; freeContext (&lctxt); } if (pvalue->m.t38FaxTcpOptionsPresent) { initContext (&lctxt); stat = setPERBuffer (&lctxt, 0, 0, TRUE); if (stat != ASN_OK) return freeContext (&lctxt), stat; stat = asn1PE_H245T38FaxTcpOptions (&lctxt, &pvalue->t38FaxTcpOptions); if (stat != ASN_OK) return freeContext (&lctxt), stat; stat = encodeByteAlign (&lctxt); if (stat != ASN_OK) return freeContext (&lctxt), stat; openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts); stat = encodeOpenType (pctxt, openType.numocts, openType.data); if (stat != ASN_OK) return freeContext (&lctxt), stat; freeContext (&lctxt); } } return (stat);}/**************************************************************//* *//* NonStandardMessage *//* *//**************************************************************/EXTERN int asn1PE_H245NonStandardMessage (OOCTXT* pctxt, H245NonStandardMessage* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode nonStandardData */ stat = asn1PE_H245NonStandardParameter (pctxt, &pvalue->nonStandardData); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* MasterSlaveDetermination *//* *//**************************************************************/EXTERN int asn1PE_H245MasterSlaveDetermination (OOCTXT* pctxt, H245MasterSlaveDetermination* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode terminalType */ stat = encodeConsUnsigned (pctxt, pvalue->terminalType, 0U, 255U); if (stat != ASN_OK) return stat; /* encode statusDeterminationNumber */ stat = encodeConsUnsigned (pctxt, pvalue->statusDeterminationNumber, 0U, 16777215U); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* SequenceNumber *//* *//**************************************************************/EXTERN int asn1PE_H245SequenceNumber (OOCTXT* pctxt, H245SequenceNumber value){ int stat = ASN_OK; stat = encodeConsUnsigned (pctxt, value, 0U, 255U); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* VCCapability_aal1 *//* *//**************************************************************/EXTERN int asn1PE_H245VCCapability_aal1 (OOCTXT* pctxt, H245VCCapability_aal1* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode nullClockRecovery */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->nullClockRecovery); if (stat != ASN_OK) return stat; /* encode srtsClockRecovery */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->srtsClockRecovery); if (stat != ASN_OK) return stat; /* encode adaptiveClockRecovery */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->adaptiveClockRecovery); if (stat != ASN_OK) return stat; /* encode nullErrorCorrection */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->nullErrorCorrection); if (stat != ASN_OK) return stat; /* encode longInterleaver */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->longInterleaver); if (stat != ASN_OK) return stat; /* encode shortInterleaver */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->shortInterleaver); if (stat != ASN_OK) return stat; /* encode errorCorrectionOnly */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->errorCorrectionOnly); if (stat != ASN_OK) return stat; /* encode structuredDataTransfer */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->structuredDataTransfer); if (stat != ASN_OK) return stat; /* encode partiallyFilledCells */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->partiallyFilledCells); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* VCCapability_aal5 *//* *//**************************************************************/EXTERN int asn1PE_H245VCCapability_aal5 (OOCTXT* pctxt, H245VCCapability_aal5* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode forwardMaximumSDUSize */ stat = encodeConsUnsigned (pctxt, pvalue->forwardMaximumSDUSize, 0U, 65535U); if (stat != ASN_OK) return stat; /* encode backwardMaximumSDUSize */ stat = encodeConsUnsigned (pctxt, pvalue->backwardMaximumSDUSize, 0U, 65535U); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* VCCapability_availableBitRates_type_rangeOfBitRates *//* *//**************************************************************/EXTERN int asn1PE_H245VCCapability_availableBitRates_type_rangeOfBitRates (OOCTXT* pctxt, H245VCCapability_availableBitRates_type_rangeOfBitRates* pvalue){ int stat = ASN_OK; /* encode lowerBitRate */ stat = encodeConsUnsigned (pctxt, pvalue->lowerBitRate, 1U, 65535U); if (stat != ASN_OK) return stat; /* encode higherBitRate */ stat = encodeConsUnsigned (pctxt, pvalue->higherBitRate, 1U, 65535U); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* VCCapability_availableBitRates_type *//* *//**************************************************************/EXTERN int asn1PE_H245VCCapability_availableBitRates_type (OOCTXT* pctxt, H245VCCapability_availableBitRates_type* pvalue){ int stat = ASN_OK; /* Encode choice index value */ stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 1); if (stat != ASN_OK) return stat; /* Encode root element data value */ switch (pvalue->t)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -