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

📄 h323-messagesdec.c

📁 一个非常美妙的proxy。功能强大。基于sip的协议。如果还要的话
💻 C
📖 第 1 页 / 共 5 页
字号:
/** * 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 + -