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

📄 multimedia-system-controlenc.c

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