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

📄 h323-messagesenc.c

📁 一个非常美妙的proxy。功能强大。基于sip的协议。如果还要的话
💻 C
📖 第 1 页 / 共 5 页
字号:
   /* encode length determinant */   stat = encodeLength (pctxt, pvalue->n);   if (stat < 0) return stat;   /* encode elements */   for (xx1 = 0; xx1 < pvalue->n; xx1++) {      stat = asn1PE_H225TransportAddress_ipSourceRoute_route_element (pctxt, &pvalue->elem[xx1]);      if (stat != ASN_OK) return stat;   }   return (stat);}/**************************************************************//*                                                            *//*  TransportAddress_ipSourceRoute_routing                    *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipSourceRoute_routing (OOCTXT* pctxt, H225TransportAddress_ipSourceRoute_routing* pvalue){   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)      {         /* strict */         case 1:            /* NULL */            break;         /* loose */         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);}/**************************************************************//*                                                            *//*  TransportAddress_ipSourceRoute                            *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipSourceRoute (OOCTXT* pctxt, H225TransportAddress_ipSourceRoute* pvalue){   int stat = ASN_OK;   ASN1BOOL extbit;   /* extension bit */   extbit = 0;   encodeBit (pctxt, extbit);   /* encode ip */   stat = asn1PE_H225TransportAddress_ipSourceRoute_ip (pctxt, &pvalue->ip);   if (stat != ASN_OK) return stat;   /* encode port */   stat = encodeConsUnsigned (pctxt, pvalue->port, 0U, 65535U);   if (stat != ASN_OK) return stat;   /* encode route */   stat = asn1PE_H225_SeqOfH225TransportAddress_ipSourceRoute_route_element (pctxt, &pvalue->route);   if (stat != ASN_OK) return stat;   /* encode routing */   stat = asn1PE_H225TransportAddress_ipSourceRoute_routing (pctxt, &pvalue->routing);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  TransportAddress_ipxAddress_node                          *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipxAddress_node (OOCTXT* pctxt, H225TransportAddress_ipxAddress_node* pvalue){   static Asn1SizeCnst lsize1 = { 0, 6, 6, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  TransportAddress_ipxAddress_netnum                        *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipxAddress_netnum (OOCTXT* pctxt, H225TransportAddress_ipxAddress_netnum* pvalue){   static Asn1SizeCnst lsize1 = { 0, 4, 4, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  TransportAddress_ipxAddress_port                          *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipxAddress_port (OOCTXT* pctxt, H225TransportAddress_ipxAddress_port* pvalue){   static Asn1SizeCnst lsize1 = { 0, 2, 2, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  TransportAddress_ipxAddress                               *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipxAddress (OOCTXT* pctxt, H225TransportAddress_ipxAddress* pvalue){   int stat = ASN_OK;   /* encode node */   stat = asn1PE_H225TransportAddress_ipxAddress_node (pctxt, &pvalue->node);   if (stat != ASN_OK) return stat;   /* encode netnum */   stat = asn1PE_H225TransportAddress_ipxAddress_netnum (pctxt, &pvalue->netnum);   if (stat != ASN_OK) return stat;   /* encode port */   stat = asn1PE_H225TransportAddress_ipxAddress_port (pctxt, &pvalue->port);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  TransportAddress_ip6Address_ip                            *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ip6Address_ip (OOCTXT* pctxt, H225TransportAddress_ip6Address_ip* pvalue){   static Asn1SizeCnst lsize1 = { 0, 16, 16, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  TransportAddress_ip6Address                               *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ip6Address (OOCTXT* pctxt, H225TransportAddress_ip6Address* pvalue){   int stat = ASN_OK;   ASN1BOOL extbit;   /* extension bit */   extbit = 0;   encodeBit (pctxt, extbit);   /* encode ip */   stat = asn1PE_H225TransportAddress_ip6Address_ip (pctxt, &pvalue->ip);   if (stat != ASN_OK) return stat;   /* encode port */   stat = encodeConsUnsigned (pctxt, pvalue->port, 0U, 65535U);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  TransportAddress_netBios                                  *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_netBios (OOCTXT* pctxt, H225TransportAddress_netBios* pvalue){   static Asn1SizeCnst lsize1 = { 0, 16, 16, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  TransportAddress_nsap                                     *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_nsap (OOCTXT* pctxt, H225TransportAddress_nsap* 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);}/**************************************************************//*                                                            *//*  H221NonStandard                                           *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225H221NonStandard (OOCTXT* pctxt, H225H221NonStandard* pvalue){   int stat = ASN_OK;   ASN1BOOL extbit;   /* extension bit */   extbit = 0;   encodeBit (pctxt, extbit);   /* encode t35CountryCode */   stat = encodeConsUnsigned (pctxt, pvalue->t35CountryCode, 0U, 255U);   if (stat != ASN_OK) return stat;   /* encode t35Extension */   stat = encodeConsUnsigned (pctxt, pvalue->t35Extension, 0U, 255U);   if (stat != ASN_OK) return stat;   /* encode manufacturerCode */   stat = encodeConsUnsigned (pctxt, pvalue->manufacturerCode, 0U, 65535U);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  NonStandardIdentifier                                     *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225NonStandardIdentifier (OOCTXT* pctxt, H225NonStandardIdentifier* pvalue){   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)      {         /* object */         case 1:            stat = encodeObjectIdentifier (pctxt, pvalue->u.object);            if (stat != ASN_OK) return stat;            break;         /* h221NonStandard */         case 2:            stat = asn1PE_H225H221NonStandard (pctxt, pvalue->u.h221NonStandard);            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);}/**************************************************************//*                                                            *//*  NonStandardParameter                                      *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225NonStandardParameter (OOCTXT* pctxt, H225NonStandardParameter* pvalue){   int stat = ASN_OK;   /* encode nonStandardIdentifier */   stat = asn1PE_H225NonStandardIdentifier (pctxt, &pvalue->nonStandardIdentifier);   if (stat != ASN_OK) return stat;   /* encode data */   stat = encodeOctetString (pctxt, pvalue->data.numocts, pvalue->data.data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  TransportAddress                                          *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225TransportAddress (OOCTXT* pctxt, H225TransportAddress* pvalue){   int stat = ASN_OK;   ASN1BOOL extbit;   /* extension bit */   extbit = (ASN1BOOL)(pvalue->t > 7);   encodeBit (pctxt, extbit);   if (!extbit) {      /* Encode choice index value */      stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 6);      if (stat != ASN_OK) return stat;      /* Encode root element data value */      switch (pvalue->t)      {         /* ipAddress */         case 1:            stat = asn1PE_H225TransportAddress_ipAddress (pctxt, pvalue->u.ipAddress);            if (stat != ASN_OK) return stat;            break;         /* ipSourceRoute */         case 2:            stat = asn1PE_H225TransportAddress_ipSourceRoute (pctxt, pvalue->u.ipSourceRoute);            if (stat != ASN_OK) return stat;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -