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

📄 multimedia-system-controlenc.c

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