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

📄 h323-messagesenc.c

📁 一个非常美妙的proxy。功能强大。基于sip的协议。如果还要的话
💻 C
📖 第 1 页 / 共 5 页
字号:
            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 + -