📄 h323-messagesenc.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"/**************************************************************//* *//* ScreeningIndicator *//* *//**************************************************************/EXTERN int asn1PE_H225ScreeningIndicator (OOCTXT* pctxt, H225ScreeningIndicator value){ int stat = ASN_OK; ASN1UINT ui; ASN1BOOL extbit; extbit = 0; switch (value) { case userProvidedNotScreened: ui = 0; break; case userProvidedVerifiedAndPassed: ui = 1; break; case userProvidedVerifiedAndFailed: ui = 2; break; case networkProvided: ui = 3; break; default: ui = value; extbit = 1; } /* extension bit */ encodeBit (pctxt, extbit); if (extbit) { stat = encodeSmallNonNegWholeNumber (pctxt, ui); } else { stat = encodeConsUnsigned (pctxt, ui, 0, 3); if (stat != ASN_OK) return stat; } return (stat);}/**************************************************************//* *//* NumberDigits *//* *//**************************************************************/extern EXTERN const char* gs_H323_MESSAGES_NumberDigits_CharSet;EXTERN int asn1PE_H225NumberDigits (OOCTXT* pctxt, H225NumberDigits value){ static Asn1SizeCnst lsize1 = { 0, 1, 128, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeConstrainedStringEx (pctxt, value, gs_H323_MESSAGES_NumberDigits_CharSet, 4, 4, 7); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TBCD_STRING *//* *//**************************************************************/extern EXTERN const char* gs_H323_MESSAGES_TBCD_STRING_CharSet;EXTERN int asn1PE_H225TBCD_STRING (OOCTXT* pctxt, H225TBCD_STRING value){ int stat = ASN_OK; stat = encodeConstrainedStringEx (pctxt, value, gs_H323_MESSAGES_TBCD_STRING_CharSet, 4, 4, 7); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* GloballyUniqueID *//* *//**************************************************************/EXTERN int asn1PE_H225GloballyUniqueID (OOCTXT* pctxt, H225GloballyUniqueID* pvalue){ static Asn1SizeCnst lsize1 = { 0, 16, 16, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* ConferenceIdentifier *//* *//**************************************************************/EXTERN int asn1PE_H225ConferenceIdentifier (OOCTXT* pctxt, H225ConferenceIdentifier* pvalue){ int stat = ASN_OK; stat = asn1PE_H225GloballyUniqueID (pctxt, pvalue); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* RequestSeqNum *//* *//**************************************************************/EXTERN int asn1PE_H225RequestSeqNum (OOCTXT* pctxt, H225RequestSeqNum value){ int stat = ASN_OK; stat = encodeConsUnsigned (pctxt, value, 1U, 65535U); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* GatekeeperIdentifier *//* *//**************************************************************/EXTERN int asn1PE_H225GatekeeperIdentifier (OOCTXT* pctxt, H225GatekeeperIdentifier value){ static Asn1SizeCnst lsize1 = { 0, 1, 128, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeBMPString (pctxt, value, 0); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* BandWidth *//* *//**************************************************************/EXTERN int asn1PE_H225BandWidth (OOCTXT* pctxt, H225BandWidth value){ int stat = ASN_OK; stat = encodeConsUnsigned (pctxt, value, 0U, ASN1UINT_MAX); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* CallReferenceValue *//* *//**************************************************************/EXTERN int asn1PE_H225CallReferenceValue (OOCTXT* pctxt, H225CallReferenceValue value){ int stat = ASN_OK; stat = encodeConsUnsigned (pctxt, value, 0U, 65535U); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* EndpointIdentifier *//* *//**************************************************************/EXTERN int asn1PE_H225EndpointIdentifier (OOCTXT* pctxt, H225EndpointIdentifier value){ static Asn1SizeCnst lsize1 = { 0, 1, 128, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeBMPString (pctxt, value, 0); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* ProtocolIdentifier *//* *//**************************************************************/EXTERN int asn1PE_H225ProtocolIdentifier (OOCTXT* pctxt, H225ProtocolIdentifier value){ int stat = ASN_OK; stat = encodeObjectIdentifier (pctxt, &value); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TimeToLive *//* *//**************************************************************/EXTERN int asn1PE_H225TimeToLive (OOCTXT* pctxt, H225TimeToLive value){ int stat = ASN_OK; stat = encodeConsUnsigned (pctxt, value, 1U, ASN1UINT_MAX); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* H248PackagesDescriptor *//* *//**************************************************************/EXTERN int asn1PE_H225H248PackagesDescriptor (OOCTXT* pctxt, H225H248PackagesDescriptor value){ int stat = ASN_OK; stat = encodeOctetString (pctxt, value.numocts, value.data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* H248SignalsDescriptor *//* *//**************************************************************/EXTERN int asn1PE_H225H248SignalsDescriptor (OOCTXT* pctxt, H225H248SignalsDescriptor value){ int stat = ASN_OK; stat = encodeOctetString (pctxt, value.numocts, value.data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* GenericIdentifier *//* *//**************************************************************/EXTERN int asn1PE_H225GenericIdentifier (OOCTXT* pctxt, H225GenericIdentifier* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = (ASN1BOOL)(pvalue->t > 3); encodeBit (pctxt, extbit); if (!extbit) { /* Encode choice index value */ stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 2); if (stat != ASN_OK) return stat; /* Encode root element data value */ switch (pvalue->t) { /* standard */ case 1: if ( (pvalue->u.standard >= 0 && pvalue->u.standard <= 16383) ) { extbit = 0; } else extbit = 1; /* extension bit */ encodeBit (pctxt, extbit); if (extbit) { stat = encodeUnconsInteger (pctxt, pvalue->u.standard); if (stat != ASN_OK) return stat; } else { stat = encodeConsInteger (pctxt, pvalue->u.standard, 0, 16383); if (stat != ASN_OK) return stat; } break; /* oid */ case 2: stat = encodeObjectIdentifier (pctxt, pvalue->u.oid); if (stat != ASN_OK) return stat; break; /* nonStandard */ case 3: stat = asn1PE_H225GloballyUniqueID (pctxt, pvalue->u.nonStandard); if (stat != ASN_OK) return stat; break; default: return ASN_E_INVOPT; } } else { /* Encode extension choice index value */ stat = encodeSmallNonNegWholeNumber (pctxt, pvalue->t - 4); if (stat != ASN_OK) return stat; /* Encode extension element data value */ } return (stat);}/**************************************************************//* *//* TransportAddress_ipAddress_ip *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipAddress_ip (OOCTXT* pctxt, H225TransportAddress_ipAddress_ip* pvalue){ static Asn1SizeCnst lsize1 = { 0, 4, 4, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_ipAddress *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipAddress (OOCTXT* pctxt, H225TransportAddress_ipAddress* pvalue){ int stat = ASN_OK; /* encode ip */ stat = asn1PE_H225TransportAddress_ipAddress_ip (pctxt, &pvalue->ip); if (stat != ASN_OK) return stat; /* encode port */ stat = encodeConsUnsigned (pctxt, pvalue->port, 0U, 65535U); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_ipSourceRoute_ip *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipSourceRoute_ip (OOCTXT* pctxt, H225TransportAddress_ipSourceRoute_ip* pvalue){ static Asn1SizeCnst lsize1 = { 0, 4, 4, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_ipSourceRoute_route_element *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipSourceRoute_route_element (OOCTXT* pctxt, H225TransportAddress_ipSourceRoute_route_element* pvalue){ static Asn1SizeCnst lsize1 = { 0, 4, 4, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* _SeqOfH225TransportAddress_ipSourceRoute_route_element *//* *//**************************************************************/EXTERN int asn1PE_H225_SeqOfH225TransportAddress_ipSourceRoute_route_element (OOCTXT* pctxt, H225_SeqOfH225TransportAddress_ipSourceRoute_route_element* pvalue){ int stat = ASN_OK; ASN1UINT xx1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -