Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
P6R::p6IAsn1_2 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_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6BOOL *pValue)=0
 
virtual P6R::P6ERR decodeInteger_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6ASN1INTEGER *pValue)=0
 
virtual P6R::P6ERR decodeIPAddr_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6UINT32 *pIpAddress)=0
 
virtual P6R::P6ERR decodeLength_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6UINT32 *pLength)=0
 
virtual P6R::P6ERR decodeNULL_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex)=0
 
virtual P6R::P6ERR decodeOctetString_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6ASN1OCTET *pValue)=0
 
virtual P6R::P6ERR decodeOID_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6CHAR *pOID, P6UINT32 *pOidSize)=0
 
virtual P6R::P6ERR decodeReal_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6FLOAT *pNumValue, P6ASN1REALFLAGS *pFlags)=0
 
virtual P6R::P6ERR decodeUnsigned_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6ASN1INTEGER *pValue)=0
 
virtual P6R::P6ERR encodeBoolean_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6BOOL value, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeInteger32_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6INT32 intValue, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeInteger64_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6INT64 intValue, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeInteger_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6ASN1INTEGER *pInteger, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeIPAddr_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6UINT32 ipAddress, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeLength_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6UINT32 length, P6INT8 useOctets)=0
 
virtual P6R::P6ERR encodeNULL_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeOctetString_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6ASN1OCTET *pString, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeOID_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, const P6CHAR *pOID)=0
 
virtual P6R::P6ERR encodeReal_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6FLOAT numValue, P6ASN1REALFLAGS flags, P6UINT8 overrideTag)=0
 
virtual P6R::P6ERR encodeUnsigned32_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, P6UINT32 numValue, P6UINT8 applicationTag)=0
 
virtual P6R::P6ERR encodeUnsigned64_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT32 *pIndex, 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_2 (P6ASN1INTEGER *pValue, P6BOOL *pNegative)=0
 
virtual P6R::P6ERR queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0
 
virtual P6INT32 release (void)=0
 
virtual P6R::P6ERR setZero_2 (P6ASN1INTEGER *pValue)=0
 
virtual P6R::P6ERR skipField_2 (P6UINT8 *pBuffer, P6UINT32 bufSize, P6UINT8 tag, P6UINT32 *pIndex)=0
 
virtual P6R::P6ERR toP6Int32_2 (P6ASN1INTEGER *pIValue, P6INT32 *pValue)=0
 
virtual P6R::P6ERR toP6Int64_2 (P6ASN1INTEGER *pIValue, P6INT64 *pValue)=0
 
virtual P6R::P6ERR toP6Uint32_2 (P6ASN1INTEGER *pIValue, P6UINT32 *pValue)=0
 
virtual P6R::P6ERR toP6Uint64_2 (P6ASN1INTEGER *pIValue, P6UINT64 *pValue)=0
 

Detailed Description

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 854 of file p6asn1.h.


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