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

Google


Objective Systems, Inc.

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 (ASN1BOOL value)
int setBuffer (const ASN1OCTET *pMsgBuf, size_t msgBufLen)
void BinDump (const char *varname)
void HexDump ()
int GetMsgLen ()
void SetTrace (ASN1BOOL value)

Protected Member Functions

 ASN1PERMessageBuffer (Type bufferType, ASN1BOOL aligned)
 ASN1PERMessageBuffer (Type bufferType, ASN1OCTET *pMsgBuf, size_t msgBufLen, ASN1BOOL aligned)


Constructor & Destructor Documentation

ASN1PERMessageBuffer::ASN1PERMessageBuffer Type  bufferType,
ASN1BOOL  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,
ASN1OCTET *  pMsgBuf,
size_t  msgBufLen,
ASN1BOOL  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 ASN1OCTET *  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 (ASN1OCTETs). 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 (ASN_OK) = success,
  • negative return value is error.

void ASN1PERMessageBuffer::setTrace ASN1BOOL  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:

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