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

📄 h323-messagesenc.c

📁 一个非常美妙的proxy。功能强大。基于sip的协议。如果还要的话
💻 C
📖 第 1 页 / 共 5 页
字号:
            break;         /* ipxAddress */         case 3:            stat = asn1PE_H225TransportAddress_ipxAddress (pctxt, pvalue->u.ipxAddress);            if (stat != ASN_OK) return stat;            break;         /* ip6Address */         case 4:            stat = asn1PE_H225TransportAddress_ip6Address (pctxt, pvalue->u.ip6Address);            if (stat != ASN_OK) return stat;            break;         /* netBios */         case 5:            stat = asn1PE_H225TransportAddress_netBios (pctxt, pvalue->u.netBios);            if (stat != ASN_OK) return stat;            break;         /* nsap */         case 6:            stat = asn1PE_H225TransportAddress_nsap (pctxt, pvalue->u.nsap);            if (stat != ASN_OK) return stat;            break;         /* nonStandardAddress */         case 7:            stat = asn1PE_H225NonStandardParameter (pctxt, pvalue->u.nonStandardAddress);            if (stat != ASN_OK) return stat;            break;         default:            return ASN_E_INVOPT;      }   }   else {      /* Encode extension choice index value */      stat = encodeSmallNonNegWholeNumber (pctxt, pvalue->t - 8);      if (stat != ASN_OK) return stat;      /* Encode extension element data value */   }   return (stat);}/**************************************************************//*                                                            *//*  PublicTypeOfNumber                                        *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225PublicTypeOfNumber (OOCTXT* pctxt, H225PublicTypeOfNumber* pvalue){   int stat = ASN_OK;   ASN1BOOL extbit;   /* extension bit */   extbit = (ASN1BOOL)(pvalue->t > 6);   encodeBit (pctxt, extbit);   if (!extbit) {      /* Encode choice index value */      stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 5);      if (stat != ASN_OK) return stat;      /* Encode root element data value */      switch (pvalue->t)      {         /* unknown */         case 1:            /* NULL */            break;         /* internationalNumber */         case 2:            /* NULL */            break;         /* nationalNumber */         case 3:            /* NULL */            break;         /* networkSpecificNumber */         case 4:            /* NULL */            break;         /* subscriberNumber */         case 5:            /* NULL */            break;         /* abbreviatedNumber */         case 6:            /* NULL */            break;         default:            return ASN_E_INVOPT;      }   }   else {      /* Encode extension choice index value */      stat = encodeSmallNonNegWholeNumber (pctxt, pvalue->t - 7);      if (stat != ASN_OK) return stat;      /* Encode extension element data value */   }   return (stat);}/**************************************************************//*                                                            *//*  PublicPartyNumber                                         *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225PublicPartyNumber (OOCTXT* pctxt, H225PublicPartyNumber* pvalue){   int stat = ASN_OK;   /* encode publicTypeOfNumber */   stat = asn1PE_H225PublicTypeOfNumber (pctxt, &pvalue->publicTypeOfNumber);   if (stat != ASN_OK) return stat;   /* encode publicNumberDigits */   stat = asn1PE_H225NumberDigits (pctxt, pvalue->publicNumberDigits);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  PrivateTypeOfNumber                                       *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225PrivateTypeOfNumber (OOCTXT* pctxt, H225PrivateTypeOfNumber* pvalue){   int stat = ASN_OK;   ASN1BOOL extbit;   /* extension bit */   extbit = (ASN1BOOL)(pvalue->t > 6);   encodeBit (pctxt, extbit);   if (!extbit) {      /* Encode choice index value */      stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 5);      if (stat != ASN_OK) return stat;      /* Encode root element data value */      switch (pvalue->t)      {         /* unknown */         case 1:            /* NULL */            break;         /* level2RegionalNumber */         case 2:            /* NULL */            break;         /* level1RegionalNumber */         case 3:            /* NULL */            break;         /* pISNSpecificNumber */         case 4:            /* NULL */            break;         /* localNumber */         case 5:            /* NULL */            break;         /* abbreviatedNumber */         case 6:            /* NULL */            break;         default:            return ASN_E_INVOPT;      }   }   else {      /* Encode extension choice index value */      stat = encodeSmallNonNegWholeNumber (pctxt, pvalue->t - 7);      if (stat != ASN_OK) return stat;      /* Encode extension element data value */   }   return (stat);}/**************************************************************//*                                                            *//*  PrivatePartyNumber                                        *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225PrivatePartyNumber (OOCTXT* pctxt, H225PrivatePartyNumber* pvalue){   int stat = ASN_OK;   /* encode privateTypeOfNumber */   stat = asn1PE_H225PrivateTypeOfNumber (pctxt, &pvalue->privateTypeOfNumber);   if (stat != ASN_OK) return stat;   /* encode privateNumberDigits */   stat = asn1PE_H225NumberDigits (pctxt, pvalue->privateNumberDigits);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  PartyNumber                                               *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225PartyNumber (OOCTXT* pctxt, H225PartyNumber* pvalue){   int stat = ASN_OK;   ASN1BOOL extbit;   /* extension bit */   extbit = (ASN1BOOL)(pvalue->t > 5);   encodeBit (pctxt, extbit);   if (!extbit) {      /* Encode choice index value */      stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 4);      if (stat != ASN_OK) return stat;      /* Encode root element data value */      switch (pvalue->t)      {         /* e164Number */         case 1:            stat = asn1PE_H225PublicPartyNumber (pctxt, pvalue->u.e164Number);            if (stat != ASN_OK) return stat;            break;         /* dataPartyNumber */         case 2:            stat = asn1PE_H225NumberDigits (pctxt, pvalue->u.dataPartyNumber);            if (stat != ASN_OK) return stat;            break;         /* telexPartyNumber */         case 3:            stat = asn1PE_H225NumberDigits (pctxt, pvalue->u.telexPartyNumber);            if (stat != ASN_OK) return stat;            break;         /* privateNumber */         case 4:            stat = asn1PE_H225PrivatePartyNumber (pctxt, pvalue->u.privateNumber);            if (stat != ASN_OK) return stat;            break;         /* nationalStandardPartyNumber */         case 5:            stat = asn1PE_H225NumberDigits (pctxt, pvalue->u.nationalStandardPartyNumber);            if (stat != ASN_OK) return stat;            break;         default:            return ASN_E_INVOPT;      }   }   else {      /* Encode extension choice index value */      stat = encodeSmallNonNegWholeNumber (pctxt, pvalue->t - 6);      if (stat != ASN_OK) return stat;      /* Encode extension element data value */   }   return (stat);}/**************************************************************//*                                                            *//*  ANSI_41_UIM_system_id                                     *//*                                                            *//**************************************************************/extern EXTERN const char* gs_H323_MESSAGES_ANSI_41_UIM_system_id_sid_CharSet;extern EXTERN const char* gs_H323_MESSAGES_ANSI_41_UIM_system_id_mid_CharSet;EXTERN int asn1PE_H225ANSI_41_UIM_system_id (OOCTXT* pctxt, H225ANSI_41_UIM_system_id* pvalue){   static Asn1SizeCnst sid_lsize1 = { 0, 1, 4, 0 };   static Asn1SizeCnst mid_lsize1 = { 0, 1, 4, 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)      {         /* sid */         case 1:            addSizeConstraint (pctxt, &sid_lsize1);            stat = encodeConstrainedStringEx (pctxt, pvalue->u.sid, gs_H323_MESSAGES_ANSI_41_UIM_system_id_sid_CharSet, 4, 4, 7);            if (stat != ASN_OK) return stat;            break;         /* mid */         case 2:            addSizeConstraint (pctxt, &mid_lsize1);            stat = encodeConstrainedStringEx (pctxt, pvalue->u.mid, gs_H323_MESSAGES_ANSI_41_UIM_system_id_mid_CharSet, 4, 4, 7);            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);}/**************************************************************//*                                                            *//*  ANSI_41_UIM_systemMyTypeCode                              *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225ANSI_41_UIM_systemMyTypeCode (OOCTXT* pctxt, H225ANSI_41_UIM_systemMyTypeCode* pvalue){   static Asn1SizeCnst lsize1 = { 0, 1, 1, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ANSI_41_UIM_systemAccessType                              *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225ANSI_41_UIM_systemAccessType (OOCTXT* pctxt, H225ANSI_41_UIM_systemAccessType* pvalue){   static Asn1SizeCnst lsize1 = { 0, 1, 1, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ANSI_41_UIM_qualificationInformationCode                  *//*                                                            *//**************************************************************/EXTERN int asn1PE_H225ANSI_41_UIM_qualificationInformationCode (OOCTXT* pctxt, H225ANSI_41_UIM_qualificationInformationCode* pvalue){   static Asn1SizeCnst lsize1 = { 0, 1, 1, 0 };   int stat = ASN_OK;

⌨️ 快捷键说明

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