CONTENTS Title Page Copyright Page Preface Part I Programming 1 Introduction 1.1 Conformance 1.2 Digital's Implementation of the OM API 1.3 Digital's Extensions to the OM API 1.4 Variable Names 1.5 Reference Pages 1.6 Terminology 2 OSI-Abstract-Data Manipulation Concepts 2.1 Objects 2.1.1 Private Objects 2.1.2 Public Objects 2.2 Attributes 2.3 Subobjects 2.4 Object Classes 2.4.1 Class Hierarchy 2.5 Packages 2.6 Workspaces 2.7 Descriptors and Descriptor Lists 3 Using the OSI-Abstract-Data Manipulation API 3.1 Creating an Object 3.1.1 Creating a Private Object 3.1.2 Creating a Public Object 3.2 Modifying a Private Object 3.2.1 Removing Attribute Values 3.2.2 Putting Values into a Private Object 3.2.3 Copying a String Attribute Value 3.2.4 Writing a String Attribute Value in Segments 3.3 Examining a Private Object 3.4 Reading a String Attribute Value 3.5 Deleting an Object 3.5.1 Deleting a Service-Generated Public Object 3.5.2 Deleting a Private Object 3.6 Copying an Object 3.7 Determining the Class of an Object 3.8 Encoding and Decoding Private Objects 3.8.1 Encoding 3.8.2 Decoding Part II Reference 4 Object Management Package 4.1 OM Package Object Identifier 4.2 Class Hierarchy 4.3 Class Definitions 4.3.1 Object 4.3.2 Encoding 4.3.3 External 4.4 C Naming Conventions 5 OSI-Abstract-Data Manipulation Functions om_copy om_copy_value om_create om_decode om_delete om_encode om_get om_instance om_put om_read om_remove om_write 6 OSI-Abstract-Data Manipulation Syntaxes 6.1 Syntax Templates 6.2 Syntaxes Defined for OSI-Abstract-Data Manipulation 6.3 Strings 6.4 OM Syntaxes and ASN.1 7 Object Management Data Types OM_boolean OM_descriptor OM_enumeration OM_exclusions OM_integer OM_modification OM_object OM_object_identifier OM_private_object OM_public_object OM_return_code OM_string OM_syntax OM_type OM_type_list OM_value OM_value_length OM_value_number OM_value_position OM_workspace 8 OSI-Abstract-Data Manipulation Header Files A Symbolic Constants B String Contents B.1 Numeric Strings B.2 Printable Strings B.3 IA5 Strings C Return Values FIGURES 2-1 Relationship between Application, OM and Objects 2-2 Private and Public Objects 2-3 An Object with Two Attributes 2-4 A Subobject as an Attribute 2-5 Class Hierarchy 2-6 Components of a Descriptor 2-7 Components of a Descriptor List 4-1 Class Hierarchy of the OM Classes 5-1 Original Object 5-2 Public Object 5-3 Source and Destination Objects Before Copying Attribute Values 5-4 Destination Object After Copying Attribute Values 5-5 Example of Using the Write Function 6-1 Structure of a String 7-1 Exporting and Importing Object Identifiers 7-2 Representation of a Bit String in the C Interface 7-3 Syntax Component of a Descriptor 7-4 Representation of OM_value TABLES 3-1 Object Management Functions 4-1 C Naming Conventions 5-1 Initial Values for the Elements String 6-1 Secondary Identifiers of String Syntaxes 6-2 Relationship of OM Syntaxes to ASN.1 Simple Types 6-3 Relationship of OM Syntaxes to ASN.1 Useful Types 6-4 Relationship of OM Syntaxes to ASN.1 Character String Types 6-5 Relationship of OM Syntaxes to ASN.1 Type Constructors 7-1 OM Data Types C-1 OM API Return Values