📄 h323-messagesenc.c
字号:
stat = encodeConstrainedStringEx (&lctxt, pvalue->u.email_ID, 0, 8, 7, 7); if (stat != ASN_OK) return freeContext (&lctxt), stat; openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts); break; /* partyNumber */ case 6: stat = asn1PE_H225PartyNumber (&lctxt, pvalue->u.partyNumber); if (stat != ASN_OK) return freeContext (&lctxt), stat; openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts); break; /* mobileUIM */ case 7: stat = asn1PE_H225MobileUIM (&lctxt, pvalue->u.mobileUIM); if (stat != ASN_OK) return freeContext (&lctxt), stat; openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts); break; default: ; } stat = encodeByteAlign (pctxt); if (stat != ASN_OK) return freeContext (&lctxt), stat; stat = encodeOpenType (pctxt, openType.numocts, openType.data); if (stat != ASN_OK) return freeContext (&lctxt), stat; freeContext (&lctxt); } return (stat);}/**************************************************************//* *//* Content_compound *//* *//**************************************************************/EXTERN int asn1PE_H225Content_compound (OOCTXT* pctxt, H225Content_compound* pvalue){ static Asn1SizeCnst lsize1 = { 0, 1, 512, 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_H225EnumeratedParameter (pctxt, (H225EnumeratedParameter*)((H225EnumeratedParameter*)pnode->data)); if (stat != ASN_OK) return stat; pnode = pnode->next; } return (stat);}/**************************************************************//* *//* Content_nested *//* *//**************************************************************/EXTERN int asn1PE_H225Content_nested (OOCTXT* pctxt, H225Content_nested* pvalue){ static Asn1SizeCnst lsize1 = { 0, 1, 16, 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_H225GenericData (pctxt, (H225GenericData*)((H225GenericData*)pnode->data)); if (stat != ASN_OK) return stat; pnode = pnode->next; } return (stat);}/**************************************************************//* *//* Content *//* *//**************************************************************/EXTERN int asn1PE_H225Content (OOCTXT* pctxt, H225Content* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = (ASN1BOOL)(pvalue->t > 12); encodeBit (pctxt, extbit); if (!extbit) { /* Encode choice index value */ stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 11); if (stat != ASN_OK) return stat; /* Encode root element data value */ switch (pvalue->t) { /* raw */ case 1: stat = encodeOctetString (pctxt, pvalue->u.raw->numocts, pvalue->u.raw->data); if (stat != ASN_OK) return stat; break; /* text */ case 2: stat = encodeConstrainedStringEx (pctxt, pvalue->u.text, 0, 8, 7, 7); if (stat != ASN_OK) return stat; break; /* unicode */ case 3: stat = encodeBMPString (pctxt, pvalue->u.unicode, 0); if (stat != ASN_OK) return stat; break; /* bool_ */ case 4: stat = encodeBit (pctxt, (ASN1BOOL)pvalue->u.bool_); if (stat != ASN_OK) return stat; break; /* number8 */ case 5: stat = encodeConsUnsigned (pctxt, pvalue->u.number8, 0U, 255U); if (stat != ASN_OK) return stat; break; /* number16 */ case 6: stat = encodeConsUnsigned (pctxt, pvalue->u.number16, 0U, 65535U); if (stat != ASN_OK) return stat; break; /* number32 */ case 7: stat = encodeConsUnsigned (pctxt, pvalue->u.number32, 0U, ASN1UINT_MAX); if (stat != ASN_OK) return stat; break; /* id */ case 8: stat = asn1PE_H225GenericIdentifier (pctxt, pvalue->u.id); if (stat != ASN_OK) return stat; break; /* alias */ case 9: stat = asn1PE_H225AliasAddress (pctxt, pvalue->u.alias); if (stat != ASN_OK) return stat; break; /* transport */ case 10: stat = asn1PE_H225TransportAddress (pctxt, pvalue->u.transport); if (stat != ASN_OK) return stat; break; /* compound */ case 11: stat = asn1PE_H225Content_compound (pctxt, pvalue->u.compound); if (stat != ASN_OK) return stat; break; /* nested */ case 12: stat = asn1PE_H225Content_nested (pctxt, pvalue->u.nested); if (stat != ASN_OK) return stat; break; default: return ASN_E_INVOPT; } } else { /* Encode extension choice index value */ stat = encodeSmallNonNegWholeNumber (pctxt, pvalue->t - 13); if (stat != ASN_OK) return stat; /* Encode extension element data value */ } return (stat);}/**************************************************************//* *//* EnumeratedParameter *//* *//**************************************************************/EXTERN int asn1PE_H225EnumeratedParameter (OOCTXT* pctxt, H225EnumeratedParameter* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); encodeBit (pctxt, (ASN1BOOL)pvalue->m.contentPresent); /* encode id */ stat = asn1PE_H225GenericIdentifier (pctxt, &pvalue->id); if (stat != ASN_OK) return stat; /* encode content */ if (pvalue->m.contentPresent) { stat = asn1PE_H225Content (pctxt, &pvalue->content); if (stat != ASN_OK) return stat; } return (stat);}/**************************************************************//* *//* GenericData_parameters *//* *//**************************************************************/EXTERN int asn1PE_H225GenericData_parameters (OOCTXT* pctxt, H225GenericData_parameters* pvalue){ static Asn1SizeCnst lsize1 = { 0, 1, 512, 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_H225EnumeratedParameter (pctxt, ((H225EnumeratedParameter*)pnode->data)); if (stat != ASN_OK) return stat; pnode = pnode->next; } return (stat);}/**************************************************************//* *//* GenericData *//* *//**************************************************************/EXTERN int asn1PE_H225GenericData (OOCTXT* pctxt, H225GenericData* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); encodeBit (pctxt, (ASN1BOOL)pvalue->m.parametersPresent); /* encode id */ stat = asn1PE_H225GenericIdentifier (pctxt, &pvalue->id); if (stat != ASN_OK) return stat; /* encode parameters */ if (pvalue->m.parametersPresent) { stat = asn1PE_H225GenericData_parameters (pctxt, &pvalue->parameters); if (stat != ASN_OK) return stat; } return (stat);}/**************************************************************//* *//* FeatureDescriptor *//* *//**************************************************************/EXTERN int asn1PE_H225FeatureDescriptor (OOCTXT* pctxt, H225FeatureDescriptor* pvalue){ int stat = ASN_OK; stat = asn1PE_H225GenericData (pctxt, pvalue); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* FastStartToken *//* *//**************************************************************/EXTERN int asn1PE_H225FastStartToken (OOCTXT* pctxt, H225FastStartToken* pvalue){ int stat = ASN_OK; stat = asn1PE_H235ClearToken (pctxt, pvalue); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* EncodedFastStartToken *//* *//**************************************************************/EXTERN int asn1PE_H225EncodedFastStartToken (OOCTXT* pctxt, H225EncodedFastStartToken value){ int stat = ASN_OK; stat = encodeOpenType (pctxt, value.numocts, value.data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* H323_UserInformation_user_data_user_information *//* *//**************************************************************/EXTERN int asn1PE_H225H323_UserInformation_user_data_user_information (OOCTXT* pctxt, H225H323_UserInformation_user_data_user_information* pvalue){ static Asn1SizeCnst lsize1 = { 0, 1, 131, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* EndpointType_set *//* *//**************************************************************/EXTERN int asn1PE_H225EndpointType_set (OOCTXT* pctxt, H225EndpointType_set* pvalue){ static Asn1SizeCnst lsize1 = { 0, 32, 32, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeBitString (pctxt, pvalue->numbits, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* VendorIdentifier_productId *//* *//**************************************************************/EXTERN int asn1PE_H225VendorIdentifier_productId (OOCTXT* pctxt, H225VendorIdentifier_productId* pvalue){ static Asn1SizeCnst lsize1 = { 0, 1, 256, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* VendorIdentifier_versionId *//* *//**************************************************************/EXTERN int asn1PE_H225VendorIdentifier_version
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -