📄 h323-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 "H323-MESSAGES.h"#include "eventHandler.h"/**************************************************************//* *//* ScreeningIndicator *//* *//**************************************************************/EXTERN int asn1PD_H225ScreeningIndicator (OOCTXT* pctxt, H225ScreeningIndicator* pvalue){ int stat = ASN_OK; ASN1UINT ui; ASN1BOOL extbit; /* extension bit */ DECODEBIT (pctxt, &extbit); if (extbit) { stat = decodeSmallNonNegWholeNumber (pctxt, &ui); if (stat != ASN_OK) return stat; *pvalue = ui; } else { stat = decodeConsUnsigned (pctxt, &ui, 0, 3); if (stat != ASN_OK) return stat; switch (ui) { case 0: *pvalue = userProvidedNotScreened; break; case 1: *pvalue = userProvidedVerifiedAndPassed; break; case 2: *pvalue = userProvidedVerifiedAndFailed; break; case 3: *pvalue = networkProvided; break; default: return ASN_E_INVENUM; } } invokeUIntValue (pctxt, *pvalue); return (stat);}/**************************************************************//* *//* NumberDigits *//* *//**************************************************************/extern EXTERN const char* gs_H323_MESSAGES_NumberDigits_CharSet;EXTERN int asn1PD_H225NumberDigits (OOCTXT* pctxt, H225NumberDigits* pvalue){ static Asn1SizeCnst lsize1 = { 0, 1, 128, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = decodeConstrainedStringEx (pctxt, pvalue, gs_H323_MESSAGES_NumberDigits_CharSet, 4, 4, 7); if (stat != ASN_OK) return stat; invokeCharStrValue (pctxt, *pvalue); return (stat);}/**************************************************************//* *//* TBCD_STRING *//* *//**************************************************************/extern EXTERN const char* gs_H323_MESSAGES_TBCD_STRING_CharSet;EXTERN int asn1PD_H225TBCD_STRING (OOCTXT* pctxt, H225TBCD_STRING* pvalue){ int stat = ASN_OK; stat = decodeConstrainedStringEx (pctxt, pvalue, gs_H323_MESSAGES_TBCD_STRING_CharSet, 4, 4, 7); if (stat != ASN_OK) return stat; invokeCharStrValue (pctxt, *pvalue); return (stat);}/**************************************************************//* *//* GloballyUniqueID *//* *//**************************************************************/EXTERN int asn1PD_H225GloballyUniqueID (OOCTXT* pctxt, H225GloballyUniqueID* pvalue){ static Asn1SizeCnst lsize1 = { 0, 16, 16, 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);}/**************************************************************//* *//* ConferenceIdentifier *//* *//**************************************************************/EXTERN int asn1PD_H225ConferenceIdentifier (OOCTXT* pctxt, H225ConferenceIdentifier* pvalue){ int stat = ASN_OK; stat = asn1PD_H225GloballyUniqueID (pctxt, pvalue); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* RequestSeqNum *//* *//**************************************************************/EXTERN int asn1PD_H225RequestSeqNum (OOCTXT* pctxt, H225RequestSeqNum* pvalue){ int stat = ASN_OK; stat = decodeConsUInt16 (pctxt, pvalue, 1U, 65535U); if (stat != ASN_OK) return stat; invokeUIntValue (pctxt, *pvalue); return (stat);}/**************************************************************//* *//* GatekeeperIdentifier *//* *//**************************************************************/EXTERN int asn1PD_H225GatekeeperIdentifier (OOCTXT* pctxt, H225GatekeeperIdentifier* 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);}/**************************************************************//* *//* BandWidth *//* *//**************************************************************/EXTERN int asn1PD_H225BandWidth (OOCTXT* pctxt, H225BandWidth* pvalue){ int stat = ASN_OK; stat = decodeConsUnsigned (pctxt, pvalue, 0U, ASN1UINT_MAX); if (stat != ASN_OK) return stat; invokeUIntValue (pctxt, *pvalue); return (stat);}/**************************************************************//* *//* CallReferenceValue *//* *//**************************************************************/EXTERN int asn1PD_H225CallReferenceValue (OOCTXT* pctxt, H225CallReferenceValue* pvalue){ int stat = ASN_OK; stat = decodeConsUInt16 (pctxt, pvalue, 0U, 65535U); if (stat != ASN_OK) return stat; invokeUIntValue (pctxt, *pvalue); return (stat);}/**************************************************************//* *//* EndpointIdentifier *//* *//**************************************************************/EXTERN int asn1PD_H225EndpointIdentifier (OOCTXT* pctxt, H225EndpointIdentifier* 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);}/**************************************************************//* *//* ProtocolIdentifier *//* *//**************************************************************/EXTERN int asn1PD_H225ProtocolIdentifier (OOCTXT* pctxt, H225ProtocolIdentifier* pvalue){ int stat = ASN_OK; stat = decodeObjectIdentifier (pctxt, pvalue); if (stat != ASN_OK) return stat; invokeOidValue (pctxt, pvalue->numids, pvalue->subid); return (stat);}/**************************************************************//* *//* TimeToLive *//* *//**************************************************************/EXTERN int asn1PD_H225TimeToLive (OOCTXT* pctxt, H225TimeToLive* pvalue){ int stat = ASN_OK; stat = decodeConsUnsigned (pctxt, pvalue, 1U, ASN1UINT_MAX); if (stat != ASN_OK) return stat; invokeUIntValue (pctxt, *pvalue); return (stat);}/**************************************************************//* *//* H248PackagesDescriptor *//* *//**************************************************************/EXTERN int asn1PD_H225H248PackagesDescriptor (OOCTXT* pctxt, H225H248PackagesDescriptor* pvalue){ int stat = ASN_OK; stat = decodeDynOctetString (pctxt, (ASN1DynOctStr*)pvalue); if (stat != ASN_OK) return stat; invokeOctStrValue (pctxt, pvalue->numocts, pvalue->data); return (stat);}/**************************************************************//* *//* H248SignalsDescriptor *//* *//**************************************************************/EXTERN int asn1PD_H225H248SignalsDescriptor (OOCTXT* pctxt, H225H248SignalsDescriptor* pvalue){ int stat = ASN_OK; stat = decodeDynOctetString (pctxt, (ASN1DynOctStr*)pvalue); if (stat != ASN_OK) return stat; invokeOctStrValue (pctxt, pvalue->numocts, pvalue->data); return (stat);}/**************************************************************//* *//* GenericIdentifier *//* *//**************************************************************/EXTERN int asn1PD_H225GenericIdentifier (OOCTXT* pctxt, H225GenericIdentifier* pvalue){ int stat = ASN_OK; ASN1UINT ui; ASN1OpenType openType; ASN1BOOL extbit; /* extension bit */ DECODEBIT (pctxt, &extbit); if (!extbit) { stat = decodeConsUnsigned (pctxt, &ui, 0, 2); if (stat != ASN_OK) return stat; else pvalue->t = ui + 1; switch (ui) { /* standard */ case 0: invokeStartElement (pctxt, "standard", -1); /* extension bit */ DECODEBIT (pctxt, &extbit); if (extbit == 0) { stat = decodeConsInteger (pctxt, &pvalue->u.standard, 0, 16383); if (stat != ASN_OK) return stat; } else { stat = decodeUnconsInteger (pctxt, &pvalue->u.standard); if (stat != ASN_OK) return stat; } invokeIntValue (pctxt, pvalue->u.standard); invokeEndElement (pctxt, "standard", -1); break; /* oid */ case 1: invokeStartElement (pctxt, "oid", -1); pvalue->u.oid = ALLOC_ASN1ELEM (pctxt, ASN1OBJID); stat = decodeObjectIdentifier (pctxt, pvalue->u.oid); if (stat != ASN_OK) return stat; invokeOidValue (pctxt, pvalue->u.oid->numids, pvalue->u.oid->subid); invokeEndElement (pctxt, "oid", -1); break; /* nonStandard */ case 2: invokeStartElement (pctxt, "nonStandard", -1); pvalue->u.nonStandard = ALLOC_ASN1ELEM (pctxt, H225GloballyUniqueID); stat = asn1PD_H225GloballyUniqueID (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 + 4; stat = decodeByteAlign (pctxt); if (stat != ASN_OK) return stat; stat = decodeOpenType (pctxt, &openType.data, &openType.numocts); if (stat != ASN_OK) return stat; } return (stat);}/**************************************************************//* *//* TransportAddress_ipAddress_ip *//* *//**************************************************************/EXTERN int asn1PD_H225TransportAddress_ipAddress_ip (OOCTXT* pctxt, H225TransportAddress_ipAddress_ip* pvalue){ static Asn1SizeCnst lsize1 = { 0, 4, 4, 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);}/**************************************************************//* *//* TransportAddress_ipAddress *//* *//**************************************************************/EXTERN int asn1PD_H225TransportAddress_ipAddress (OOCTXT* pctxt, H225TransportAddress_ipAddress* pvalue){ int stat = ASN_OK; /* decode ip */ invokeStartElement (pctxt, "ip", -1); stat = asn1PD_H225TransportAddress_ipAddress_ip (pctxt, &pvalue->ip); if (stat != ASN_OK) return stat; invokeEndElement (pctxt, "ip", -1); /* decode port */ invokeStartElement (pctxt, "port", -1); stat = decodeConsUInt16 (pctxt, &pvalue->port, 0U, 65535U); if (stat != ASN_OK) return stat; invokeUIntValue (pctxt, pvalue->port); invokeEndElement (pctxt, "port", -1); return (stat);}/**************************************************************//* *//* TransportAddress_ipSourceRoute_ip *//* */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -