📄 h235-security-messagesdec.c
字号:
/** * 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 + -