Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

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)
 
 

 
encoding@OM_private_object@T{ read T} original@OM_private_object@T{ write T} return_code@T{ OM_return_code T}  

 
 
 
 
 
 

C Binding

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

Arguments

 
 
 

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

Original
 
An 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 function is OM_SUCCESS.
 
 
 
 

Description

 
 
This function 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

 
 
 
 

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

 
 
 
 
 
 
 
 
 
 
 
 

Examples

 
 
 
 
 
The following example shows the decoding of the object encoded in the code example from OSI-Abstract-Data Manipulation. The encoded object is encoding, and the decoded object is decoded_object. 
 

Exhibit 0-0.

 
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