Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ om_decode(3xom) — MAILbus 400 2.0C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

om_decode(3xom)  —  Subroutines

(c) Digital Equipment Corporation. 1994. All rights reserved. 

Name

om_decode − Creates a new private object that decodes an existing ASN.1 private object. 

Syntax

OM_return_code om_decode(encoding, original)
 

Argument Data Type Access
encoding OM_private_object read
original OM_private_object write
return_code OM_return_code

C Binding

OM_return_code om_decode(encoding, original) OM_private_object encoding,
 OM_private_object ∗original

Arguments

EncodingThe encoded object that you want to decode. It must be an instance of the Encoding class. 

OriginalAn object that is the decoded version of the encoding. The Service creates this object in the workspace in which the encoding is located. The Service returns this argument if the Return Code of the routine is OM_SUCCESS. 

Description

 
This routine creates a new private object by decoding the ASN.1 of the original object.

In the Encoding argument, you specify the class of the existing object and the rules used to encode it. In the current version of the OM API, you must specify ASN.1 BER. 

Return Values

OM_SUCCESS The routine has completed its task successfully
OM_ENCODING_INVALID The value of the Object Encoding is invalid
OM_FUNCTION_DECLINED The routine does not apply to the object to which it is addressed
OM_FUNCTION_INTERRUPTED The routine was aborted by external intervention
OM_MEMORY_INSUFFICIENT There is not enough memory to complete the routine
OM_NETWORK_ERROR The Service cannot use the underlying network
OM_NO_SUCH_CLASS There is an undefined class identifier
OM_NO_SUCH_OBJECT You have specified a nonexistent object, or an invalid Handle for an object
OM_NO_SUCH_RULES There is an undefined rules identifier
OM_NOT_AN_ENCODING There is an object that is not an instance of the Encoding class
OM_NOT_PRIVATE There is a public object where there should be a private object
OM_NOT_THE_SERVICES There is a client-generated public object where there should be either a service-generated public object or a private object
OM_PERMANENT_ERROR The Service encountered a permanent problem for which there is no defined error code
OM_POINTER_INVALID An invalid pointer was supplied as a routine argument
OM_SYSTEM_ERROR The Service cannot use the operating system
OM_TEMPORARY_ERROR The Service encountered a temporary problem for which there is no defined error code
OM_TOO_MANY_VALUES An implementation limit prevents the addition to an object of another attribute value
OM_WRONG_VALUE_LENGTH There is an attribute with a value that violates the value length constraints in force
OM_WRONG_VALUE_MAKEUP There is an attribute with a value that violates a constraint of its  syntax
OM_WRONG_VALUE_NUMBER There is an attribute with a value that violates the value number constraints in force
OM_WRONG_VALUE_SYNTAX There is an attribute value with an illegal syntax
OM_WRONG_VALUE_TYPE There is an attribute value with an illegal type

Examples

 
The following example shows the decoding of the object encoded in the code example from MAILbus 400 API Programming. The encoded object is encoding, and the decoded object is decoded_object. 
 
OM_return_code       result;
OM_private_object    encoding,
                     decoded_object;
 
result = om_decode (encoding,           /∗ object to be decoded ∗
                   &decoded_object);    /∗ decoded object ∗/

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026