Objective Systems, Inc.  
Home
About ASN.1
Products
Free Software
Documents
Services
Resources
Resellers
Customers
Careers
About Us
Contact Us
 

Google


Objective Systems, Inc.

asn1per.h File Reference


Detailed Description

ASN.1 runtime constants, data structure definitions, and functions to support the Packet Encoding Rules (PER) as defined in the ITU-T X.691 standard.#include "asn1type.h"
#include "asn1CharSet.h"

Go to the source code of this file.

Classes

struct  PERField
struct  BinDumpBuffer

Defines

#define ASN_K_EXTENUM   999
#define PU_SETCHARSET(csetvar, canset, abits, ubits)
#define PU_INSLENFLD(ctxt_p)
#define PU_NEWFIELD(ctxt_p, suffix)
#define PU_PUSHNAME(ctxt_p, name)
#define PU_POPNAME(ctxt_p)
#define PU_SETBITOFFSET(ctxt_p)
#define PU_SETBITCOUNT(ctxt_p)
#define PU_PUSHELEMNAME(ctxt_p, idx)
#define EXTERNPER
#define PD_INCRBITIDX(ctxt_p)
#define PD_BIT(ctxt_p, pvalue)
#define PU_GETSIZECONSTRAINT(ctxt_p, extbit, pSize)
#define PU_GETCTXTBITOFFSET(ctxt_p)   (((ctxt_p)->buffer.byteIndex * 8) + (8 - (ctxt_p)->buffer.bitOffset))
#define PU_SETCTXTBITOFFSET(ctxt_p, _bitOffset)
#define PD_BYTE_ALIGN0(ctxt_p)
#define PD_BYTE_ALIGN   PD_BYTE_ALIGN0
#define PD_CHECKSEQOFLEN(pctxt, numElements, minElemBits)
#define pd_UnconsInteger(ctxt_p, pvalue)   pd_SemiConsInteger(ctxt_p, pvalue, ASN1INT_MIN)
#define pd_UnconsUnsigned(ctxt_p, pvalue)   pd_SemiConsUnsigned(ctxt_p, pvalue, 0U)
#define pd_UnconsInt64(ctxt_p, pvalue)   pd_SemiConsInt64(ctxt_p, pvalue, ASN1INT64MIN)
#define pd_UnconsUInt64(ctxt_p, pvalue)   pd_SemiConsUInt64(ctxt_p, pvalue, 0)
#define pe_UnconsInteger(ctxt_p, value)   pe_SemiConsInteger(ctxt_p,value,ASN1INT_MIN)
#define pe_UnconsInt64(ctxt_p, value)   pe_SemiConsInt64(ctxt_p,value,ASN1INT64MIN)
#define pe_UnconsUnsigned(ctxt_p, value)   pe_SemiConsUnsigned(ctxt_p,value,0)
#define pe_UnconsUInt64(ctxt_p, value)   pe_SemiConsUInt64(ctxt_p,value,0)
#define pd_setp(ctxt_p, bufaddr, bufsiz, aligned)   pu_setBuffer(ctxt_p, bufaddr, bufsiz, aligned)
#define pe_resetp(ctxt_p)   rtResetContext(ctxt_p)
#define pd_resetp(ctxt_p)   rtResetContext(ctxt_p)
#define pe_GeneralString(ctxt_p, value, permCharSet)   pe_VarWidthCharString(ctxt_p, value)
#define pe_GraphicString(ctxt_p, value, permCharSet)   pe_VarWidthCharString(ctxt_p, value)
#define pe_T61String(ctxt_p, value, permCharSet)   pe_VarWidthCharString(ctxt_p, value)
#define pe_TeletexString(ctxt_p, value, permCharSet)   pe_VarWidthCharString(ctxt_p, value)
#define pe_VideotexString(ctxt_p, value, permCharSet)   pe_VarWidthCharString(ctxt_p, value)
#define pe_ObjectDescriptor(ctxt_p, value, permCharSet)   pe_VarWidthCharString(ctxt_p, value)
#define pe_UTF8String(ctxt_p, value, permCharSet)   pe_VarWidthCharString(ctxt_p, value)
#define pe_IA5String(ctxt_p, value, permCharSet)   pe_ConstrainedStringEx (ctxt_p, value, permCharSet, 8, 7, 7)
#define pe_NumericString(ctxt_p, value, permCharSet)
#define pe_PrintableString(ctxt_p, value, permCharSet)   pe_ConstrainedStringEx (ctxt_p, value, permCharSet, 8, 7, 7)
#define pe_VisibleString(ctxt_p, value, permCharSet)
#define pe_ISO646String   pe_IA5String
#define pe_GeneralizedTime   pe_IA5String
#define pe_UTCTime   pe_GeneralizedTime
#define pd_GeneralString(ctxt_p, pvalue, permCharSet)   pd_VarWidthCharString (ctxt_p, pvalue)
#define pd_GraphicString(ctxt_p, pvalue, permCharSet)   pd_VarWidthCharString (ctxt_p, pvalue)
#define pd_VideotexString(ctxt_p, pvalue, permCharSet)   pd_VarWidthCharString (ctxt_p, pvalue)
#define pd_TeletexString(ctxt_p, pvalue, permCharSet)   pd_VarWidthCharString (ctxt_p, pvalue)
#define pd_T61String(ctxt_p, pvalue, permCharSet)   pd_VarWidthCharString (ctxt_p, pvalue)
#define pd_ObjectDescriptor(ctxt_p, pvalue, permCharSet)   pd_VarWidthCharString (ctxt_p, pvalue)
#define pd_UTF8String(ctxt_p, pvalue, permCharSet)   pd_VarWidthCharString (ctxt_p, pvalue)
#define pd_IA5String(ctxt_p, pvalue, permCharSet)   pd_ConstrainedStringEx (ctxt_p, pvalue, permCharSet, 8, 7, 7)
#define pd_NumericString(ctxt_p, pvalue, permCharSet)
#define pd_PrintableString(ctxt_p, pvalue, permCharSet)   pd_ConstrainedStringEx (ctxt_p, pvalue, permCharSet, 8, 7, 7)
#define pd_VisibleString(ctxt_p, pvalue, permCharSet)   pd_ConstrainedStringEx (ctxt_p, pvalue, permCharSet, 8, 7, 7)
#define pd_ISO646String   pd_IA5String
#define pd_GeneralizedTime   pd_IA5String
#define pd_UTCTime   pd_GeneralizedTime
#define pe_GetMsgLen   pu_getMsgLen

Typedefs

typedef PERField PERField

Functions

int pd_bit (ASN1CTXT *ctxt_p, ASN1BOOL *pvalue)
int pd_bits (ASN1CTXT *ctxt_p, ASN1UINT *pvalue, ASN1UINT nbits)
int pd_BigInteger (ASN1CTXT *ctxt_p, ASN1ConstCharPtr *ppvalue)
int pd_BitString (ASN1CTXT *ctxt_p, ASN1UINT *numbits_p, ASN1OCTET *buffer, ASN1UINT bufsiz)
int pd_BMPString (ASN1CTXT *ctxt_p, ASN1BMPString *pvalue, Asn116BitCharSet *permCharSet)
int pd_UniversalString (ASN1CTXT *ctxt_p, ASN1UniversalString *pvalue, Asn132BitCharSet *permCharSet)
int pd_byte_align (ASN1CTXT *ctxt_p)
int pd_ChoiceOpenTypeExt (ASN1CTXT *ctxt_p, ASN1ConstOctetPtr *object_p2, ASN1UINT *numocts_p)
int pd_ConsInteger (ASN1CTXT *ctxt_p, ASN1INT *pvalue, ASN1INT lower, ASN1INT upper)
int pd_ConsInt8 (ASN1CTXT *ctxt_p, ASN1INT8 *pvalue, ASN1INT lower, ASN1INT upper)
int pd_ConsInt16 (ASN1CTXT *ctxt_p, ASN1SINT *pvalue, ASN1INT lower, ASN1INT upper)
int pd_ConsInt64 (ASN1CTXT *ctxt_p, ASN1INT64 *pvalue, ASN1INT64 lower, ASN1INT64 upper)
int pd_ConsUnsigned (ASN1CTXT *ctxt_p, ASN1UINT *pvalue, ASN1UINT lower, ASN1UINT upper)
int pd_ConsUInt8 (ASN1CTXT *ctxt_p, ASN1UINT8 *pvalue, ASN1UINT lower, ASN1UINT upper)
int pd_ConsUInt16 (ASN1CTXT *ctxt_p, ASN1USINT *pvalue, ASN1UINT lower, ASN1UINT upper)
int pd_ConsUInt64 (ASN1CTXT *ctxt_p, ASN1UINT64 *pvalue, ASN1UINT64 lower, ASN1UINT64 upper)
int pd_ConsWholeNumber (ASN1CTXT *ctxt_p, ASN1UINT *padjusted_value, ASN1UINT range_value)
int pd_ConsWholeNumber64 (ASN1CTXT *ctxt_p, ASN1UINT64 *padjusted_value, ASN1UINT64 range_value)
int pd_ConstrainedString (ASN1CTXT *ctxt_p, ASN1ConstCharPtr *string, Asn1CharSet *pCharSet)
int pd_ConstrainedStringEx (ASN1CTXT *ctxt_p, ASN1ConstCharPtr *string, ASN1ConstCharPtr charSet, ASN1UINT abits, ASN1UINT ubits, ASN1UINT canSetBits)
int pd_16BitConstrainedString (ASN1CTXT *ctxt_p, Asn116BitCharString *pString, Asn116BitCharSet *pCharSet)
int pd_32BitConstrainedString (ASN1CTXT *ctxt_p, Asn132BitCharString *pString, Asn132BitCharSet *pCharSet)
int pd_DynBitString (ASN1CTXT *ctxt_p, ASN1DynBitStr *pBitStr)
int pd_DynOctetString (ASN1CTXT *ctxt_p, ASN1DynOctStr *pOctStr)
int pd_GetComponentLength (ASN1CTXT *ctxt_p, ASN1UINT itemBits)
int pd_Length (ASN1CTXT *ctxt_p, ASN1UINT *pvalue)
int pd_moveBitCursor (ASN1CTXT *ctxt_p, int bitOffset)
int pd_ObjectIdentifier (ASN1CTXT *ctxt_p, ASN1OBJID *pvalue)
int pd_oid64 (ASN1CTXT *ctxt_p, ASN1OID64 *pvalue)
int pd_RelativeOID (ASN1CTXT *ctxt_p, ASN1OBJID *pvalue)
int pd_OctetString (ASN1CTXT *ctxt_p, ASN1UINT *numocts_p, ASN1OCTET *buffer, ASN1UINT bufsiz)
int pd_OpenType (ASN1CTXT *ctxt_p, ASN1ConstOctetPtr *object_p2, ASN1UINT *numocts_p)
int pd_OpenTypeExt (ASN1CTXT *ctxt_p, ASN1ConstOctetPtr *object_p2, ASN1UINT *numocts_p)
int pd_Real (ASN1CTXT *ctxt_p, ASN1REAL *pvalue)
int pd_SmallNonNegWholeNumber (ASN1CTXT *ctxt_p, ASN1UINT *pvalue)
int pd_SemiConsInteger (ASN1CTXT *ctxt_p, ASN1INT *pvalue, ASN1INT lower)
int pd_SemiConsUnsigned (ASN1CTXT *ctxt_p, ASN1UINT *pvalue, ASN1UINT lower)
int pd_SemiConsInt64 (ASN1CTXT *ctxt_p, ASN1INT64 *pvalue, ASN1INT64 lower)
int pd_SemiConsUInt64 (ASN1CTXT *ctxt_p, ASN1UINT64 *pvalue, ASN1UINT64 lower)
int pd_VarWidthCharString (ASN1CTXT *pctxt, ASN1ConstCharPtr *pvalue)
int pe_16BitConstrainedString (ASN1CTXT *ctxt_p, Asn116BitCharString value, Asn116BitCharSet *pCharSet)
int pe_32BitConstrainedString (ASN1CTXT *ctxt_p, Asn132BitCharString value, Asn132BitCharSet *pCharSet)
int pe_2sCompBinInt (ASN1CTXT *ctxt_p, ASN1INT value)
int pe_2sCompBinInt64 (ASN1CTXT *ctxt_p, ASN1INT64 value)
int pe_aligned_octets (ASN1CTXT *ctxt_p, ASN1OCTET *pvalue, ASN1UINT nocts)
int pe_BigInteger (ASN1CTXT *ctxt_p, ASN1ConstCharPtr pvalue)
int pe_bit (ASN1CTXT *ctxt_p, ASN1BOOL value)
int pe_bits (ASN1CTXT *ctxt_p, ASN1UINT value, ASN1UINT nbits)
int pe_bits64 (ASN1CTXT *ctxt_p, ASN1UINT64 value, ASN1UINT nbits)
int pe_BitString (ASN1CTXT *ctxt_p, ASN1UINT numocts, ASN1ConstOctetPtr data)
int pe_BMPString (ASN1CTXT *ctxt_p, ASN1BMPString value, Asn116BitCharSet *permCharSet)
int pe_UniversalString (ASN1CTXT *ctxt_p, ASN1UniversalString value, Asn132BitCharSet *permCharSet)
int pe_byte_align (ASN1CTXT *ctxt_p)
int pe_CheckBuffer (ASN1CTXT *ctxt_p, size_t nbytes)
int pe_ChoiceTypeExt (ASN1CTXT *ctxt_p, ASN1UINT numocts, ASN1ConstOctetPtr data)
int pe_ConsInteger (ASN1CTXT *ctxt_p, ASN1INT value, ASN1INT lower, ASN1INT upper)
int pe_ConsInt64 (ASN1CTXT *ctxt_p, ASN1INT64 value, ASN1INT64 lower, ASN1INT64 upper)
int pe_ConstrainedString (ASN1CTXT *ctxt_p, ASN1ConstCharPtr string, Asn1CharSet *pCharSet)
int pe_ConstrainedStringEx (ASN1CTXT *ctxt_p, ASN1ConstCharPtr string, ASN1ConstCharPtr charSet, ASN1UINT abits, ASN1UINT ubits, ASN1UINT canSetBits)
int pe_ConsUnsigned (ASN1CTXT *ctxt_p, ASN1UINT value, ASN1UINT lower, ASN1UINT upper)
int pe_ConsUInt64 (ASN1CTXT *ctxt_p, ASN1UINT64 value, ASN1UINT64 lower, ASN1UINT64 upper)
int pe_ConsWholeNumber (ASN1CTXT *ctxt_p, ASN1UINT adjusted_value, ASN1UINT range_value)
int pe_ConsWholeNumber64 (ASN1CTXT *ctxt_p, ASN1UINT64 adjusted_value, ASN1UINT64 range_value)
int pe_ExpandBuffer (ASN1CTXT *ctxt_p, size_t nbytes)
ASN1UINT pe_GetIntLen (ASN1UINT value)
size_t pe_GetMsgBitCnt (ASN1CTXT *ctxt_p)
ASN1OCTET * pe_GetMsgPtr (ASN1CTXT *ctxt_p, int *pLength)
ASN1OCTET * pe_GetMsgPtrU (ASN1CTXT *ctxt_p, ASN1UINT *pLength)
int pe_Length (ASN1CTXT *ctxt_p, ASN1UINT value)
int pe_NonNegBinInt (ASN1CTXT *ctxt_p, ASN1UINT value)
int pe_NonNegBinInt64 (ASN1CTXT *ctxt_p, ASN1UINT64 value)
int pe_ObjectIdentifier (ASN1CTXT *ctxt_p, ASN1OBJID *pvalue)
int pe_oid64 (ASN1CTXT *ctxt_p, ASN1OID64 *pvalue)
int pe_RelativeOID (ASN1CTXT *ctxt_p, ASN1OBJID *pvalue)
int pe_octets (ASN1CTXT *ctxt_p, ASN1ConstOctetPtr pvalue, ASN1UINT nbits)
int pe_OctetString (ASN1CTXT *ctxt_p, ASN1UINT numocts, ASN1ConstOctetPtr data)
int pe_OpenType (ASN1CTXT *ctxt_p, ASN1UINT numocts, ASN1ConstOctetPtr data)
int pe_OpenTypeExt (ASN1CTXT *ctxt_p, Asn1RTDList *pElemList)
int pe_OpenTypeExtBits (ASN1CTXT *ctxt_p, Asn1RTDList *pElemList)
int pe_Real (ASN1CTXT *ctxt_p, ASN1REAL value)
int pe_SmallNonNegWholeNumber (ASN1CTXT *ctxt_p, ASN1UINT value)
int pe_SemiConsInteger (ASN1CTXT *ctxt_p, ASN1INT value, ASN1INT lower)
int pe_SemiConsInt64 (ASN1CTXT *ctxt_p, ASN1INT64 value, ASN1INT64 lower)
int pe_SemiConsUnsigned (ASN1CTXT *ctxt_p, ASN1UINT value, ASN1UINT lower)
int pe_SemiConsUInt64 (ASN1CTXT *ctxt_p, ASN1UINT64 value, ASN1UINT64 lower)
int pe_UnconsLength (ASN1CTXT *ctxt_p, ASN1UINT value)
int pe_VarWidthCharString (ASN1CTXT *pctxt, ASN1ConstCharPtr value)
int pu_addSizeConstraint (ASN1CTXT *ctxt_p, Asn1SizeCnst *pSize)
ASN1BOOL pu_alignCharStr (ASN1CTXT *ctxt_p, ASN1UINT len, ASN1UINT nbits, Asn1SizeCnst *pSize)
int pu_checkSizeConstraint (ASN1CTXT *ctxt_p, int size)
ASN1UINT pu_bitcnt (ASN1UINT value)
Asn1SizeCnst * pu_checkSize (Asn1SizeCnst *pSizeList, ASN1UINT value, ASN1BOOL *pExtendable)
void pu_freeContext (ASN1CTXT *ctxt_p)
int pu_getBitOffset (ASN1CTXT *ctxt_p)
size_t pu_getMaskAndIndex (size_t bitOffset, unsigned char *pMask)
size_t pu_getMsgLen (ASN1CTXT *ctxt_p)
void pu_hexdump (ASN1CTXT *ctxt_p)
int pu_setBuffer (ASN1CTXT *ctxt_p, ASN1OCTET *bufaddr, size_t bufsiz, ASN1BOOL aligned)
int pe_setp (ASN1CTXT *ctxt_p, ASN1OCTET *bufaddr, size_t bufsiz, ASN1BOOL aligned)
int pu_initContext (ASN1CTXT *ctxt_p, ASN1OCTET *bufaddr, ASN1UINT bufsiz, ASN1BOOL aligned)
int pu_initContextBuffer (ASN1CTXT *pTarget, ASN1CTXT *pSource)
ASN1ConstCharPtr pu_getFullName (ASN1CTXT *ctxt_p, ASN1ConstCharPtr suffix)
Asn1SizeCnst * pu_getSizeConstraint (ASN1CTXT *ctxt_p, ASN1BOOL extbit)
void pu_init16BitCharSet (Asn116BitCharSet *pCharSet, ASN116BITCHAR first, ASN116BITCHAR last, ASN1UINT abits, ASN1UINT ubits)
void pu_insLenField (ASN1CTXT *ctxt_p)
ASN1BOOL pu_isExtendableSize (Asn1SizeCnst *pSizeList)
ASN1BOOL pu_isFixedSize (Asn1SizeCnst *pSizeList)
ASN1CTXT * pu_newContext (ASN1OCTET *bufaddr, ASN1UINT bufsiz, ASN1BOOL aligned)
PERField * pu_newField (ASN1CTXT *ctxt_p, ASN1ConstCharPtr nameSuffix)
void pu_popName (ASN1CTXT *ctxt_p)
void pu_pushElemName (ASN1CTXT *ctxt_p, int index)
void pu_pushName (ASN1CTXT *ctxt_p, ASN1ConstCharPtr name)
void pu_setBitOffset (ASN1CTXT *ctxt_p, int bitOffset)
void pu_setCharSet (Asn1CharSet *pCharSet, ASN1ConstCharPtr permSet)
void pu_set16BitCharSet (ASN1CTXT *ctxt_p, Asn116BitCharSet *pCharSet, Asn116BitCharSet *pAlphabet)
void pu_set16BitCharSetFromRange (Asn116BitCharSet *pCharSet, ASN1USINT firstChar, ASN1USINT lastChar)
void pu_setFldBitCount (ASN1CTXT *ctxt_p)
void pu_setFldBitOffset (ASN1CTXT *ctxt_p)
ASN1BOOL pu_setTrace (ASN1CTXT *pCtxt, ASN1BOOL value)
void pu_bindump (ASN1CTXT *ctxt_p, ASN1ConstCharPtr varname)
void pu_dumpField (ASN1CTXT *ctxt_p, PERField *pField, ASN1ConstCharPtr varname, size_t nextBitOffset, BinDumpBuffer *pbuf)
void pu_init32BitCharSet (Asn132BitCharSet *pCharSet, ASN132BITCHAR first, ASN132BITCHAR last, ASN1UINT abits, ASN1UINT ubits)
void pu_set32BitCharSet (ASN1CTXT *ctxt_p, Asn132BitCharSet *pCharSet, Asn132BitCharSet *pAlphabet)
void pu_set32BitCharSetFromRange (Asn132BitCharSet *pCharSet, ASN1UINT firstChar, ASN1UINT lastChar)


Copyright © 1997-2004 Objective Systems,Inc.
All Rights Reserved.
This document may be distributed in any form, electronic
or otherwise, provided that it is distributed in its entirety
and that the copyright and this notice are included.

This file was last modified on 1 Oct 2004.
ASN1C PER Runtime, ASN1C v5.7x