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 ∗/