Home > Support > Documentation

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 "rtsrc/asn1type.h"
#include "rtsrc/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(pctxt)
#define PU_NEWFIELD(pctxt, suffix)
#define PU_PUSHNAME(pctxt, name)
#define PU_POPNAME(pctxt)
#define PU_SETBITOFFSET(pctxt)
#define PU_SETBITCOUNT(pctxt)
#define PU_PUSHELEMNAME(pctxt, idx)
#define EXTERNPER
#define PD_INCRBITIDX(pctxt)
#define PD_BIT(pctxt, pvalue)
#define PU_GETSIZECONSTRAINT(pctxt, extbit, pSize)
#define PU_GETCTXTBITOFFSET(pctxt)   (((pctxt)->buffer.byteIndex * 8) + (8 - (pctxt)->buffer.bitOffset))
#define PU_SETCTXTBITOFFSET(pctxt, _bitOffset)
#define PD_BYTE_ALIGN0(pctxt)
#define PD_BYTE_ALIGN   PD_BYTE_ALIGN0
#define PD_CHECKSEQOFLEN(pctxt, numElements, minElemBits)
#define pd_UnconsUnsigned(pctxt, pvalue)   pd_SemiConsUnsigned(pctxt, pvalue, 0U)
#define pd_UnconsUInt64(pctxt, pvalue)   pd_SemiConsUInt64(pctxt, pvalue, 0)
#define pd_setp(pctxt, bufaddr, bufsiz, aligned)   pu_setBuffer(pctxt, bufaddr, bufsiz, aligned)
#define pe_resetp(pctxt)   rtxResetContext(pctxt)
#define pd_resetp(pctxt)   rtxResetContext(pctxt)
#define pe_GeneralString(pctxt, value, permCharSet)   pe_VarWidthCharString(pctxt, value)
#define pe_GraphicString(pctxt, value, permCharSet)   pe_VarWidthCharString(pctxt, value)
#define pe_T61String(pctxt, value, permCharSet)   pe_VarWidthCharString(pctxt, value)
#define pe_TeletexString(pctxt, value, permCharSet)   pe_VarWidthCharString(pctxt, value)
#define pe_VideotexString(pctxt, value, permCharSet)   pe_VarWidthCharString(pctxt, value)
#define pe_ObjectDescriptor(pctxt, value, permCharSet)   pe_VarWidthCharString(pctxt, value)
#define pe_UTF8String(pctxt, value, permCharSet)   pe_VarWidthCharString(pctxt, value)
#define pe_IA5String(pctxt, value, permCharSet)   pe_ConstrainedStringEx (pctxt, value, permCharSet, 8, 7, 7)
#define pe_NumericString(pctxt, value, permCharSet)
#define pe_PrintableString(pctxt, value, permCharSet)   pe_ConstrainedStringEx (pctxt, value, permCharSet, 8, 7, 7)
#define pe_VisibleString(pctxt, value, permCharSet)
#define pe_ISO646String   pe_IA5String
#define pe_GeneralizedTime   pe_IA5String
#define pe_UTCTime   pe_GeneralizedTime
#define pd_GeneralString(pctxt, pvalue, permCharSet)   pd_VarWidthCharString (pctxt, pvalue)
#define pd_GraphicString(pctxt, pvalue, permCharSet)   pd_VarWidthCharString (pctxt, pvalue)
#define pd_VideotexString(pctxt, pvalue, permCharSet)   pd_VarWidthCharString (pctxt, pvalue)
#define pd_TeletexString(pctxt, pvalue, permCharSet)   pd_VarWidthCharString (pctxt, pvalue)
#define pd_T61String(pctxt, pvalue, permCharSet)   pd_VarWidthCharString (pctxt, pvalue)
#define pd_ObjectDescriptor(pctxt, pvalue, permCharSet)   pd_VarWidthCharString (pctxt, pvalue)
#define pd_UTF8String(pctxt, pvalue, permCharSet)   pd_VarWidthCharString (pctxt, pvalue)
#define pd_IA5String(pctxt, pvalue, permCharSet)   pd_ConstrainedStringEx (pctxt, pvalue, permCharSet, 8, 7, 7)
#define pd_NumericString(pctxt, pvalue, permCharSet)
#define pd_PrintableString(pctxt, pvalue, permCharSet)   pd_ConstrainedStringEx (pctxt, pvalue, permCharSet, 8, 7, 7)
#define pd_VisibleString(pctxt, pvalue, permCharSet)   pd_ConstrainedStringEx (pctxt, 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

Functions

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