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

📄 h235-security-messagesdec.c

📁 一个非常美妙的proxy。功能强大。基于sip的协议。如果还要的话
💻 C
📖 第 1 页 / 共 4 页
字号:
/** * This file was generated by the Objective Systems ASN1C Compiler * (http://www.obj-sys.com).  Version: 5.72, Date: 22-Mar-2005. */#include "ooasn1.h"#include "H235-SECURITY-MESSAGES.h"#include "eventHandler.h"/**************************************************************//*                                                            *//*  ChallengeString                                           *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235ChallengeString (OOCTXT* pctxt, H235ChallengeString* pvalue){   static Asn1SizeCnst lsize1 = { 0, 8, 128, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = decodeOctetString (pctxt,                          &pvalue->numocts,                          pvalue->data,                          sizeof(pvalue->data));   if (stat != ASN_OK) return stat;   invokeOctStrValue (pctxt, pvalue->numocts, pvalue->data);   return (stat);}/**************************************************************//*                                                            *//*  TimeStamp                                                 *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235TimeStamp (OOCTXT* pctxt, H235TimeStamp* pvalue){   int stat = ASN_OK;   stat = decodeConsUnsigned (pctxt, pvalue, 1U, ASN1UINT_MAX);   if (stat != ASN_OK) return stat;   invokeUIntValue (pctxt, *pvalue);   return (stat);}/**************************************************************//*                                                            *//*  RandomVal                                                 *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235RandomVal (OOCTXT* pctxt, H235RandomVal* pvalue){   int stat = ASN_OK;   stat = decodeUnconsInteger (pctxt, pvalue);   if (stat != ASN_OK) return stat;   invokeIntValue (pctxt, *pvalue);   return (stat);}/**************************************************************//*                                                            *//*  Password                                                  *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235Password (OOCTXT* pctxt, H235Password* pvalue){   static Asn1SizeCnst lsize1 = { 0, 1, 128, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = decodeBMPString (pctxt, pvalue, 0);   if (stat != ASN_OK) return stat;   invokeCharStr16BitValue (pctxt, pvalue->nchars, pvalue->data);   return (stat);}/**************************************************************//*                                                            *//*  EncodedPwdCertToken                                       *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235EncodedPwdCertToken (OOCTXT* pctxt, H235EncodedPwdCertToken* pvalue){   int stat = ASN_OK;   stat = decodeOpenType (pctxt, &pvalue->data, &pvalue->numocts);   if (stat != ASN_OK) return stat;   invokeOpenTypeValue      (pctxt, pvalue->numocts, pvalue->data);   return (stat);}/**************************************************************//*                                                            *//*  NonStandardParameter                                      *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235NonStandardParameter (OOCTXT* pctxt, H235NonStandardParameter* pvalue){   int stat = ASN_OK;   /* decode nonStandardIdentifier */   invokeStartElement (pctxt, "nonStandardIdentifier", -1);   stat = decodeObjectIdentifier (pctxt, &pvalue->nonStandardIdentifier);   if (stat != ASN_OK) return stat;   invokeOidValue (pctxt, pvalue->nonStandardIdentifier.numids, pvalue->nonStandardIdentifier.subid);   invokeEndElement (pctxt, "nonStandardIdentifier", -1);   /* decode data */   invokeStartElement (pctxt, "data", -1);   stat = decodeDynOctetString (pctxt, (ASN1DynOctStr*)&pvalue->data);   if (stat != ASN_OK) return stat;   invokeOctStrValue (pctxt, pvalue->data.numocts, pvalue->data.data);   invokeEndElement (pctxt, "data", -1);   return (stat);}/**************************************************************//*                                                            *//*  AuthenticationBES                                         *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235AuthenticationBES (OOCTXT* pctxt, H235AuthenticationBES* pvalue){   int stat = ASN_OK;   ASN1UINT ui;   ASN1OpenType openType;   ASN1BOOL extbit;   /* extension bit */   DECODEBIT (pctxt, &extbit);   if (!extbit) {      stat = decodeConsUnsigned (pctxt, &ui, 0, 1);      if (stat != ASN_OK) return stat;      else pvalue->t = ui + 1;      switch (ui) {         /* default_ */         case 0:            invokeStartElement (pctxt, "default_", -1);            /* NULL */            invokeNullValue (pctxt);            invokeEndElement (pctxt, "default_", -1);            break;         /* radius */         case 1:            invokeStartElement (pctxt, "radius", -1);            /* NULL */            invokeNullValue (pctxt);            invokeEndElement (pctxt, "radius", -1);            break;         default:            return ASN_E_INVOPT;      }   }   else {      stat = decodeSmallNonNegWholeNumber (pctxt, &ui);      if (stat != ASN_OK) return stat;      else pvalue->t = ui + 3;      stat = decodeByteAlign (pctxt);      if (stat != ASN_OK) return stat;      stat = decodeOpenType (pctxt, &openType.data, &openType.numocts);      if (stat != ASN_OK) return stat;   }   return (stat);}/**************************************************************//*                                                            *//*  AuthenticationMechanism                                   *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235AuthenticationMechanism (OOCTXT* pctxt, H235AuthenticationMechanism* pvalue){   int stat = ASN_OK;   ASN1UINT ui;   ASN1OpenType openType;   ASN1BOOL extbit;   OOCTXT lctxt;   /* extension bit */   DECODEBIT (pctxt, &extbit);   if (!extbit) {      stat = decodeConsUnsigned (pctxt, &ui, 0, 6);      if (stat != ASN_OK) return stat;      else pvalue->t = ui + 1;      switch (ui) {         /* dhExch */         case 0:            invokeStartElement (pctxt, "dhExch", -1);            /* NULL */            invokeNullValue (pctxt);            invokeEndElement (pctxt, "dhExch", -1);            break;         /* pwdSymEnc */         case 1:            invokeStartElement (pctxt, "pwdSymEnc", -1);            /* NULL */            invokeNullValue (pctxt);            invokeEndElement (pctxt, "pwdSymEnc", -1);            break;         /* pwdHash */         case 2:            invokeStartElement (pctxt, "pwdHash", -1);            /* NULL */            invokeNullValue (pctxt);            invokeEndElement (pctxt, "pwdHash", -1);            break;         /* certSign */         case 3:            invokeStartElement (pctxt, "certSign", -1);            /* NULL */            invokeNullValue (pctxt);            invokeEndElement (pctxt, "certSign", -1);            break;         /* ipsec */         case 4:            invokeStartElement (pctxt, "ipsec", -1);            /* NULL */            invokeNullValue (pctxt);            invokeEndElement (pctxt, "ipsec", -1);            break;         /* tls */         case 5:            invokeStartElement (pctxt, "tls", -1);            /* NULL */            invokeNullValue (pctxt);            invokeEndElement (pctxt, "tls", -1);            break;         /* nonStandard */         case 6:            invokeStartElement (pctxt, "nonStandard", -1);            pvalue->u.nonStandard = ALLOC_ASN1ELEM (pctxt, H235NonStandardParameter);            stat = asn1PD_H235NonStandardParameter (pctxt, pvalue->u.nonStandard);            if (stat != ASN_OK) return stat;            invokeEndElement (pctxt, "nonStandard", -1);            break;         default:            return ASN_E_INVOPT;      }   }   else {      stat = decodeSmallNonNegWholeNumber (pctxt, &ui);      if (stat != ASN_OK) return stat;      else pvalue->t = ui + 8;      stat = decodeByteAlign (pctxt);      if (stat != ASN_OK) return stat;      stat = decodeOpenType (pctxt, &openType.data, &openType.numocts);      if (stat != ASN_OK) return stat;      copyContext (&lctxt, pctxt);      initContextBuffer (pctxt, openType.data, openType.numocts);      switch (pvalue->t) {         /* authenticationBES */         case 8:            invokeStartElement (pctxt, "authenticationBES", -1);            pvalue->u.authenticationBES = ALLOC_ASN1ELEM (pctxt, H235AuthenticationBES);            stat = asn1PD_H235AuthenticationBES (pctxt, pvalue->u.authenticationBES);            if (stat != ASN_OK) return stat;            invokeEndElement (pctxt, "authenticationBES", -1);            break;         default:;      }      copyContext (pctxt, &lctxt);   }   return (stat);}/**************************************************************//*                                                            *//*  DHset_halfkey                                             *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235DHset_halfkey (OOCTXT* pctxt, H235DHset_halfkey* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 2048, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = decodeBitString (pctxt,                        &pvalue->numbits,                        pvalue->data,                        sizeof(pvalue->data));   if (stat != ASN_OK) return stat;   invokeBitStrValue (pctxt, pvalue->numbits, pvalue->data);   return (stat);}/**************************************************************//*                                                            *//*  DHset_modSize                                             *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235DHset_modSize (OOCTXT* pctxt, H235DHset_modSize* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 2048, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = decodeBitString (pctxt,                        &pvalue->numbits,                        pvalue->data,                        sizeof(pvalue->data));   if (stat != ASN_OK) return stat;   invokeBitStrValue (pctxt, pvalue->numbits, pvalue->data);   return (stat);}/**************************************************************//*                                                            *//*  DHset_generator                                           *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235DHset_generator (OOCTXT* pctxt, H235DHset_generator* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 2048, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = decodeBitString (pctxt,                        &pvalue->numbits,                        pvalue->data,                        sizeof(pvalue->data));   if (stat != ASN_OK) return stat;   invokeBitStrValue (pctxt, pvalue->numbits, pvalue->data);   return (stat);}/**************************************************************//*                                                            *//*  DHset                                                     *//*                                                            *//**************************************************************/EXTERN int asn1PD_H235DHset (OOCTXT* pctxt, H235DHset* pvalue){   int stat = ASN_OK;   OOCTXT lctxt;   ASN1OpenType openType;   ASN1UINT bitcnt;   ASN1UINT i;   ASN1BOOL optbit;   ASN1BOOL extbit;   /* extension bit */   DECODEBIT (pctxt, &extbit);   /* decode halfkey */   invokeStartElement (pctxt, "halfkey", -1);   stat = asn1PD_H235DHset_halfkey (pctxt, &pvalue->halfkey);

⌨️ 快捷键说明

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