📄 multimedia-system-controlenc.c
字号:
{ /* singleBitRate */ case 1: stat = encodeConsUnsigned (pctxt, pvalue->u.singleBitRate, 1U, 65535U); if (stat != ASN_OK) return stat; break; /* rangeOfBitRates */ case 2: stat = asn1PE_H245VCCapability_availableBitRates_type_rangeOfBitRates (pctxt, pvalue->u.rangeOfBitRates); if (stat != ASN_OK) return stat; break; default: return ASN_E_INVOPT; } return (stat);}/**************************************************************//* *//* VCCapability_availableBitRates *//* *//**************************************************************/EXTERN int asn1PE_H245VCCapability_availableBitRates (OOCTXT* pctxt, H245VCCapability_availableBitRates* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode type */ stat = asn1PE_H245VCCapability_availableBitRates_type (pctxt, &pvalue->type); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* Q2931Address_address_nsapAddress *//* *//**************************************************************/EXTERN int asn1PE_H245Q2931Address_address_nsapAddress (OOCTXT* pctxt, H245Q2931Address_address_nsapAddress* pvalue){ static Asn1SizeCnst lsize1 = { 0, 1, 20, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* Q2931Address_address *//* *//**************************************************************/EXTERN int asn1PE_H245Q2931Address_address (OOCTXT* pctxt, H245Q2931Address_address* pvalue){ static Asn1SizeCnst internationalNumber_lsize1 = { 0, 1, 16, 0 }; int stat = ASN_OK; 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) { /* internationalNumber */ case 1: addSizeConstraint (pctxt, &internationalNumber_lsize1); stat = encodeConstrainedStringEx (pctxt, pvalue->u.internationalNumber, NUM_CANSET, 4, 4, 4); if (stat != ASN_OK) return stat; break; /* nsapAddress */ case 2: stat = asn1PE_H245Q2931Address_address_nsapAddress (pctxt, pvalue->u.nsapAddress); if (stat != ASN_OK) return stat; 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);}/**************************************************************//* *//* Q2931Address_subaddress *//* *//**************************************************************/EXTERN int asn1PE_H245Q2931Address_subaddress (OOCTXT* pctxt, H245Q2931Address_subaddress* pvalue){ static Asn1SizeCnst lsize1 = { 0, 1, 20, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* Q2931Address *//* *//**************************************************************/EXTERN int asn1PE_H245Q2931Address (OOCTXT* pctxt, H245Q2931Address* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); encodeBit (pctxt, (ASN1BOOL)pvalue->m.subaddressPresent); /* encode address */ stat = asn1PE_H245Q2931Address_address (pctxt, &pvalue->address); if (stat != ASN_OK) return stat; /* encode subaddress */ if (pvalue->m.subaddressPresent) { stat = asn1PE_H245Q2931Address_subaddress (pctxt, &pvalue->subaddress); if (stat != ASN_OK) return stat; } return (stat);}/**************************************************************//* *//* VCCapability_aal1ViaGateway_gatewayAddress *//* *//**************************************************************/EXTERN int asn1PE_H245VCCapability_aal1ViaGateway_gatewayAddress (OOCTXT* pctxt, H245VCCapability_aal1ViaGateway_gatewayAddress* pvalue){ static Asn1SizeCnst lsize1 = { 0, 1, 256, 0 }; int stat = ASN_OK; DListNode* pnode; ASN1UINT xx1; /* encode length determinant */ addSizeConstraint (pctxt, &lsize1); stat = encodeLength (pctxt, pvalue->count); if (stat < 0) return stat; /* encode elements */ pnode = pvalue->head; for (xx1 = 0; xx1 < pvalue->count; xx1++) { stat = asn1PE_H245Q2931Address (pctxt, ((H245Q2931Address*)pnode->data)); if (stat != ASN_OK) return stat; pnode = pnode->next; } return (stat);}/**************************************************************//* *//* VCCapability_aal1ViaGateway *//* *//**************************************************************/EXTERN int asn1PE_H245VCCapability_aal1ViaGateway (OOCTXT* pctxt, H245VCCapability_aal1ViaGateway* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode gatewayAddress */ stat = asn1PE_H245VCCapability_aal1ViaGateway_gatewayAddress (pctxt, &pvalue->gatewayAddress); if (stat != ASN_OK) return stat; /* 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 *//* *//**************************************************************/EXTERN int asn1PE_H245VCCapability (OOCTXT* pctxt, H245VCCapability* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; ASN1OpenType openType; OOCTXT lctxt; /* extension bit */ extbit = (ASN1BOOL)(pvalue->m.aal1ViaGatewayPresent); encodeBit (pctxt, extbit); encodeBit (pctxt, (ASN1BOOL)pvalue->m.aal1Present); encodeBit (pctxt, (ASN1BOOL)pvalue->m.aal5Present); /* encode aal1 */ if (pvalue->m.aal1Present) { stat = asn1PE_H245VCCapability_aal1 (pctxt, &pvalue->aal1); if (stat != ASN_OK) return stat; } /* encode aal5 */ if (pvalue->m.aal5Present) { stat = asn1PE_H245VCCapability_aal5 (pctxt, &pvalue->aal5); if (stat != ASN_OK) return stat; } /* encode transportStream */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->transportStream); if (stat != ASN_OK) return stat; /* encode programStream */ stat = encodeBit (pctxt, (ASN1BOOL)pvalue->programStream); if (stat != ASN_OK) return stat; /* encode availableBitRates */ stat = asn1PE_H245VCCapability_availableBitRates (pctxt, &pvalue->availableBitRates); if (stat != ASN_OK) return stat; if (extbit) { /* encode extension optional bits length */ stat = encodeSmallNonNegWholeNumber (pctxt, 0); if (stat != ASN_OK) return stat; /* encode optional bits */ encodeBit (pctxt, (ASN1BOOL)pvalue->m.aal1ViaGatewayPresent); /* encode extension elements */ if (pvalue->m.aal1ViaGatewayPresent) { initContext (&lctxt); stat = setPERBuffer (&lctxt, 0, 0, TRUE); if (stat != ASN_OK) return freeContext (&lctxt), stat; stat = asn1PE_H245VCCapability_aal1ViaGateway (&lctxt, &pvalue->aal1ViaGateway); 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);}/**************************************************************//* *//* _SetOfH245VCCapability *//* *//**************************************************************/EXTERN int asn1PE_H245_SetOfH245VCCapability (OOCTXT* pctxt, H245_SetOfH245VCCapability* pvalue){ int stat = ASN_OK; DListNode* pnode; ASN1UINT xx1; ASN1UINT enclen, fraglen; enclen = fraglen = xx1 = 0; pnode = pvalue->head; for (;;) { /* encode length determinant */ stat = encodeLength (pctxt, (pvalue->count - enclen)); if (stat < 0) return stat; fraglen = stat; enclen += fraglen; /* encode elements */ for (; xx1 < enclen; xx1++) { stat = asn1PE_H245VCCapability (pctxt, ((H245VCCapability*)pnode->data)); if (stat != ASN_OK) return stat; pnode = pnode->next; } if ( pvalue->count == enclen && fraglen < 16384) { break; } } return (stat);}/**************************************************************//* *//* H222Capability *//* *//**************************************************************/EXTERN int asn1PE_H245H222Capability (OOCTXT* pctxt, H245H222Capability* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode numberOfVCs */ stat = encodeConsUnsigned (pctxt, pvalue->numberOfVCs, 1U, 256U); if (stat != ASN_OK) return stat; /* encode vcCapability */ stat = asn1PE_H245_SetOfH245VCCapability (pctxt, &pvalue->vcCapability); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* H223Capability_h223MultiplexTableCapability_enhanced *//* *//**************************************************************/EXTERN int asn1PE_H245H223Capability_h223MultiplexTableCapability_enhanced (OOCTXT* pctxt, H245H223Capability_h223MultiplexTableCapability_enhanced* pvalue){ int stat = ASN_OK; ASN1BOOL extbit;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -