Home > Support > Documentation

ASN1PERMessageBuffer Class Reference
[PER Message Buffer Classes]

#include <asn1PerCppTypes.h>

Inheritance diagram for ASN1PERMessageBuffer:

ASN1PERDecodeBuffer ASN1PEREncodeBuffer List of all members.

Detailed Description

The ASN1PERMessageBuffer class is derived from the ASN1MessageBuffer base class. It is the base class for the ASN1PEREncodeBuffer and ASN1PERDecodeBuffer derived classes. It contains variables and methods specific to encoding or decoding ASN.1 messages using the Packed Encoding Rules (PER). It is used to manage the buffer into which an ASN.1 message is to be encoded or decoded.


Public Member Functions

void binDump (const char *varname)
void hexDump ()
size_t getMsgLen ()
void setTrace (OSBOOL value)
int setBuffer (const OSOCTET *pMsgBuf, size_t msgBufLen)
void BinDump (const char *varname)
void HexDump ()
int GetMsgLen ()
void SetTrace (OSBOOL value)

Protected Member Functions

 ASN1PERMessageBuffer (Type bufferType, OSBOOL aligned)
 ASN1PERMessageBuffer (Type bufferType, OSOCTET *pMsgBuf, size_t msgBufLen, OSBOOL aligned)

Constructor & Destructor Documentation

ASN1PERMessageBuffer::ASN1PERMessageBuffer Type  bufferType,
OSBOOL  aligned
[protected]
 

This constructor does not set a PER input source. It is used by the derived encode buffer classes. Use the getStatus() method to determine if an error has occured during initialization.

Parameters:
bufferType Type of message buffer that is being created (for example, PEREncode or PERDecode).
aligned Flag indicating if aligned (TRUE) or unaligned (FALSE) encoding should be done.

ASN1PERMessageBuffer::ASN1PERMessageBuffer Type  bufferType,
OSOCTET *  pMsgBuf,
size_t  msgBufLen,
OSBOOL  aligned
[protected]
 

This constructor allows a memory buffer holding a binary PER message to be specified. Use the getStatus() method to determine if an error has occured during initialization.

Parameters:
bufferType Type of message buffer that is being created (for example, PEREncode or PERDecode).
pMsgBuf A pointer to a fixed size message buffer to recieve the encoded message.
msgBufLen Size of the fixed-size message buffer.
aligned Flag indicating if aligned (TRUE) or unaligned (FALSE) encoding should be done.

Member Function Documentation

void ASN1PERMessageBuffer::binDump const char *  varname  )  [inline]
 

This method outputs a binary dump of the current buffer contents to stdout.

Parameters:
varname char pointer to current buffer

size_t ASN1PERMessageBuffer::getMsgLen  )  [inline]
 

This method returns the length of a previously encoded PER message.

Parameters:
- none

void ASN1PERMessageBuffer::hexDump  )  [inline]
 

This method outputs a hexadecimal dump of the current buffer contents to stdout.

Parameters:
- none

int ASN1PERMessageBuffer::setBuffer const OSOCTET *  pMsgBuf,
size_t  msgBufLen
 

This method sets a buffer to receive the encoded message.

Parameters:
pMsgBuf A pointer to a memory buffer to use to encode a message. The buffer should be declared as an array of unsigned characters (OSOCTETs). This parameter can be set to NULL to specify dynamic encoding (i.e., the encode functions will dynamically allocate a buffer for the message).
msgBufLen The length of the memory buffer in bytes. If pMsgBuf is NULL, this parameter specifies the initial size of the dynamic buffer; if 0 - the default size will be used.
Returns:
Completion status of operation:
  • 0 (0) = success,
  • negative return value is error.

void ASN1PERMessageBuffer::setTrace OSBOOL  value  )  [inline]
 

This method turns PER diagnostic tracing on or off.

This enables the collection of the bit statistics inside the PER library functions that can be displayed using the binDump method.

Parameters:
value Boolean value indicating whether tracing should be on (true) or off (false).

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