CONTENTS Title Page Copyright Page Preface Part I DEComni Introduction 1 Introduction to MMS and DEComni/VMS 1.1 The Manufacturing Message Specification 1.2 MMS Objects 1.3 MMS Services 1.4 MMS Service Provider 1.5 MMS Clients and Servers 1.6 MMS Companion Standards 1.7 DEComni 1.7.1 DEComni Definition Facility 1.7.2 DEComni Programming Interfaces 1.8 OmniView 1.9 DEComni Command Language Part II DEComni Programmer's Guide 2 DEComni Application Interface 2.1 DEComni Procedures 2.2 User Include Files 2.3 Synchronous and Asynchronous Completion Notification 2.4 I/O Status Block 2.5 Control Structure for Asynchronous Completion 2.6 Receiving Unsolicited Indications 2.7 Obtaining Object Attributes 2.8 Invoke Identifiers 2.9 Quotas and Privileges 2.10 DEComni and MMS Companion Standards 3 Programming with DEComni 3.1 Initializing DEComni 3.2 Loading VMD Object Definitions and Obtaining a VMD Handle 3.3 Creating Definitions at Run-time 3.3.1 Run-time Routines 3.3.2 Supported Definition Classes 3.3.3 Variable Type Descriptions 3.3.3.1 Alternate Access 3.3.3.2 Named Types and Type Specifications 3.3.3.3 Creating Simple and Complex Variable Definitions 3.3.3.3.1 Variable_Int32: Explicit Type 3.3.3.3.2 Variable_Int32: Named Type 3.3.3.3.3 Struct_ABC: Explicit and Named Type 3.3.3.3.4 Struct_ABC: Alternate Access 3.3.3.3.5 Array_Int: Explicit 3.3.3.3.6 Array_Int: Alternate Access 3.3.3.4 Reading and Writing Complex Variables with Full and Partial Access 3.4 Obtaining Definition Handles 3.4.1 Obtaining a Handle by Name 3.4.2 Obtaining a List of Handles 3.5 Environment and General Management Services 3.5.1 Initiating an Association 3.5.2 Concluding an Association 3.5.3 Aborting an Association 3.5.4 Receiving an Association Request 3.5.5 Responding to an Association Request 3.5.6 Receiving a Conclude Request 3.5.7 Responding to a Conclude Request 3.6 VMD Support Services 3.6.1 Obtaining VMD Status 3.6.2 Receiving Unsolicited Status 3.6.3 Obtaining a List of Objects 3.6.4 Requesting VMD Identification 3.6.5 Obtaining a List of VMD Capabilities 3.7 Domain Services 3.7.1 Downloading a Domain 3.7.2 Uploading a Domain 3.7.3 Deleting a Domain 3.7.4 Obtaining the Attributes of a Domain 3.7.5 Receiving Download and Upload Client Requests 3.8 Program Invocation Services 3.8.1 Creating a Program Invocation 3.8.2 Deleting a Program Invocation 3.8.3 Starting a Program Invocation 3.8.4 Stopping a Program Invocation 3.8.5 Resuming a Program Invocation 3.8.6 Resetting a Program Invocation 3.8.7 Killing a Program Invocation Invocation 3.8.8 Getting Program Invocation Attributes 3.9 Variable Access Services 3.9.1 Operating on Unnamed Variable Objects 3.9.2 Operating on Named Variable Objects 3.9.3 Operating on Named Variable List Objects 3.9.4 Receiving Client Requests for Variable Access Services 3.9.4.1 Receiving and Fulfilling a Read Reqeust 3.9.4.2 Receiving and Fulfilling a Write Reqeust 3.10 File Services 4 DEComni Procedure Calls 4.1 Procedure Call Format Section 4.2 Returns Section 4.3 Argument Definitions Section 4.3.1 Data Type Entry 4.3.2 Argument Access Entry 4.3.2.1 Read-Only Access 4.3.2.2 Write-Only Access 4.3.2.3 Modify Access 4.3.3 Passing Mechanism Entry 4.4 Allocating Text String Buffers For OMNI$ Calls 4.5 Usage Notes Section OMNI$ABORT OMNI$ACCEPT_CONCLUDE OMNI$ACCEPT_CONNECT OMNI$CANCEL OMNI$CONCLUDE OMNI$CONNECT OMNI$CREATE OMNI$DEFINE OMNI$DELETE OMNI$DOWNLOAD OMNI$END_LIST OMNI$FDELETE OMNI$FDIR OMNI$FGET OMNI$FPUT OMNI$FRENAME OMNI$GET_ATTRIBUTE OMNI$GET_DEFINITION OMNI$GET_HANDLE_BY_NAME OMNI$GET_HANDLE_LIST OMNI$GET_INDICATIONS OMNI$GET_REMOTE_ATTRIBUTES OMNI$GET_VALUE OMNI$GROUP_VARIABLES OMNI$INITIALIZE OMNI$KILL OMNI$LISTEN OMNI$LOAD_DEFINITIONS OMNI$MODIFY_DEFINITION OMNI$PUT_VALUE OMNI$REJECT OMNI$REJECT_CONCLUDE OMNI$REJECT_CONNECT OMNI$RESET OMNI$RESUME OMNI$START OMNI$STOP OMNI$OMNI_TO_VMS_TIME OMNI$UPLOAD 5 DEComni MMSI 5.1 Overview of the MMSI Implementation 5.2 Requirements for Using MMSI 5.3 Compiling and Linking User Programs with MMSI 5.4 Example Code A DEComni Messages A.1 Success Codes A.2 Informational Codes A.3 Warning Codes A.4 Error Codes A.5 Severe Error Codes B Data Type Passing Mechanisms C MMS Attributes and DEComni Constants C.1 VMD C.2 DOMAIN C.3 PROGRAM INVOCATION C.4 VARIABLE D Supported Mappings EXAMPLES 4-1 Grouping Variables FIGURES 1-1 MMS Objects 1-2 MMS Service Provider 2-1 DEComni I/O Status Block 2-2 Control Structure for Asynchronous Completion TABLES 1 Conventions 1-1 MMS Objects 1-2 MMS Services 1-3 DEComni ODF Commands 2-1 Procedures for Local Operations 2-2 Procedures Association Management 2-3 Procedures for MMS Services 2-4 Attribute Classes and Constants 3-1 Attribute Constants 3-2 Constants and Action 3-3 VMD Constants 3-4 Domain Constants 3-5 PI Constants 4-1 Elements 4-2 Value and Meaning 4-3 Conclude Values 4-4 Class Constants 4-5 Attribute Constants and Associated Data Types 4-6 VMD Attributes and Expected Data Types 4-7 Domain Attributes and Expected Data Types 4-8 PI Attributes and Expected Data Types 4-9 Named Variable Attributes and Expected Data Types 4-10 Unnamed Variable Attributes and Expected Data Types 4-11 MMS Named Type Attributes and Expected Data Types 4-12 MMS Type Specification Attributes and Expected Data Types 4-13 Application Named Type and Expected Data Types 4-14 Application Type Specification and Expected Data Types 4-15 MMS Structure Component and Expected Data Types 4-16 Application Structure Component and Expected Data Types 4-17 Class Constants 4-18 Definition Class Constants 4-19 OMNI$GET_INDICATIONS Function Values 4-20 Attributes Retrieved 4-21 Indications Received 4-22 VMD Attributes, Expected Data Types, and Defaults 4-23 Domain Attributes, Expected Data Type, and Defaults 4-24 PI Attributes, Expected Data Types, and Defaults 4-25 Named Variable Attributes, Expected Data Types, and Defaults 4-26 Unnamed Variable Attributes, Expected Data Types, and Defaults 4-27 MMS Named Type Attributes, Expected Data Types, and Defaults 4-28 Application Named Type Attributes, Expected Data Types, and Defaults 4-29 MMS Type Specification Attributes, Expected Data Types, and Defaults 4-30 Application Type Specification Attributes, Expected Data Types, and Defaults 4-31 MMS Structure Component Attributes, Expected Data Types, and Defaults 4-32 App Structure Component Attributes, Values, and Defaults A-1 DEComni Codes (Severity: Success) A-2 DEComni Message Codes (Severity: Informational) A-3 DEComni Message Codes (Severity: Warning) A-4 DEComni Message Codes (Severity: Error) A-5 DEComni Messages (Severity: Severe Error) B-1 Data Type Passing Mechanisms C-1 VMD Attribute Support C-2 DOMAIN Attribute Support C-3 PROGRAM INVOCATION Attribute Support C-4 VARIABLE Attribute Support D-1 Supported Mappings