Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
P6R::p6IAsn1 Interface Referenceabstract

#include <p6asn1.h>

Inherits P6R::p6ICom.

Public Member Functions

virtual P6INT32 addref (void)=0
 
virtual P6R::P6ERR copyOctetString (const P6ASN1OCTET *pSource, P6ASN1OCTET *pDestination)=0
 
virtual P6R::P6ERR decodeBoolean (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6BOOL &value)=0
 
virtual P6R::P6ERR decodeInteger (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6ASN1INTEGER &value)=0
 
virtual P6R::P6ERR decodeIPAddr (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6UINT32 &ipAddress)=0
 
virtual P6R::P6ERR decodeLength (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6UINT32 &length)=0
 
virtual P6R::P6ERR decodeNULL (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index)=0
 
virtual P6R::P6ERR decodeOctetString (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6ASN1OCTET &value)=0
 
virtual P6R::P6ERR decodeOID (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6CHAR *pOID, P6UINT32 &oidSize)=0
 
virtual P6R::P6ERR decodeReal (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6FLOAT &numValue, P6ASN1REALFLAGS &flags)=0
 
virtual P6R::P6ERR decodeUnsigned (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6ASN1INTEGER &value)=0
 
virtual P6R::P6ERR encodeBoolean (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6BOOL value, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeInteger (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6ASN1INTEGER integer, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeInteger32 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6INT32 intValue, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeInteger64 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6INT64 intValue, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeIPAddr (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6UINT32 ipAddress, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeLength (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6UINT32 length, P6INT8 useOctets)=0
 
virtual P6R::P6ERR encodeNULL (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeOctetString (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6ASN1OCTET *pString, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeOID (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, const P6CHAR *pOID)=0
 
virtual P6R::P6ERR encodeReal (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6FLOAT numValue, P6ASN1REALFLAGS flags, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeUnsigned32 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6UINT32 numValue, P6UINT8 applicationTag)=0
 
virtual P6R::P6ERR encodeUnsigned64 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 &index, P6UINT64 numValue, P6UINT8 applicationTag)=0
 
virtual P6R::P6ERR freeOctetString (P6ASN1OCTET *pOctets)=0
 
virtual P6R::P6ERR initialize (P6ASN1FLAGS flags, P6ASN1TRANSFERENCODING type)=0
 
virtual P6R::P6ERR isNegative (P6ASN1INTEGER value, P6BOOL &negative)=0
 
virtual P6R::P6ERR queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0
 
virtual P6INT32 release (void)=0
 
virtual P6R::P6ERR setZero (P6ASN1INTEGER &value)=0
 
virtual P6R::P6ERR skipField (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT8 tag, P6UINT32 &index)=0
 
virtual P6R::P6ERR toP6Int32 (P6ASN1INTEGER iValue, P6INT32 &value)=0
 
virtual P6R::P6ERR toP6Int64 (P6ASN1INTEGER iValue, P6INT64 &value)=0
 
virtual P6R::P6ERR toP6Uint32 (P6ASN1INTEGER iValue, P6UINT32 &value)=0
 
virtual P6R::P6ERR toP6Uint64 (P6ASN1INTEGER iValue, P6UINT64 &value)=0
 

Detailed Description

NOTICE: this interface is available but depreciated.

It should not be used for any new code development. Please use the p6IASN_2 interface instead. This interface will not compile properly for the C Programming Language.

This interface supports low level ASN.1 encoding and decoding functions. Encoding and decoding functions for primitive types are defined, such as INTEGER, OCTET STRING, OBJECT IDENTIFIER. Constructed types, such as SEQUENCE and SET OF, are typically application dependent and are handled by the caller. For example, P6R's SNMP implementation uses this ASN.1 compoent to encode and decode all its defined primitive types and implements constructed types and buffer management itself.

Used as a reference: Abstract Syntax Notation One, ASN.1, The Tutorial & Reference, By D.Steedman, 1993, ISBN 1 871802 06 7

Definition at line 158 of file p6asn1.h.


The documentation for this interface was generated from the following file: