pguide

*HyperReader

  CONTENTS

  Preface
    Intended Audience
    Document Structure
    Associated Documents
    Conventions

  Chapter 1. Overview of Digital DCE
    1.1 Kit Contents
    1.2 Contents of Each Kit
      1.2.1 Runtime Services Kit
      1.2.2 Application Developer's Kit
      1.2.3 CDS Server Kit
      1.2.4 Security Server Kit
    1.3 Platforms and Network Transports Supported by Digital DCE
    1.4 Online Help and Online Manual Pages
    1.5 Restrictions When Using Digital DCE
    1.6 Threads
    1.7 Using RPC Without CDS or Security
    1.8 Features of Digital DCE Not Included with the OSF DCE
      1.8.1 CDS Enhanced Browser
      1.8.2 CDS Subtree Commands
      1.8.3 IDL Compiler Enhancements
      1.8.4 The RPC Event Logger Utility
      1.8.5 Name Service Interface Daemon (nsid) for Microsoft RPC
      1.8.6 DCL Interfaces to DCE Tools
      1.8.7 Integrated Login
      1.8.8 Object-Oriented RPC
      1.8.9 Resource Broker

  Chapter 2. DCE System Configuration
    2.1 Using the DCE System Configuration Utility
    2.2 Kerberos

  Chapter 3. Interoperability and Compatibility
    3.1 Application Development in the OpenVMS POSIX Environment
      3.1.1 Symbolic Links
      3.1.2 C Compiler Usage
      3.1.3 OpenVMS DCE Login Credentials
      3.1.4 Executing OpenVMS DCE Utility Programs in the POSIX Environment
    3.2 Interoperability with DECrpc
    3.3 Compatibility with DECrpc
      3.3.1 Object Compatibility
      3.3.2 Interface Compatibility
      3.3.3 Source Compatibility
      3.3.4 Product Coexistence
      3.3.5 Directory Service Compatibility
    3.4 Interoperability with Other DCE Systems
    3.5 Interoperability with Microsoft RPC
    3.6 Understanding and Using OSF DCE and VMScluster Technologies
      3.6.1 Similarities Between VMScluster Environments and DCE Cells
      3.6.2 Differences Between VMScluster Environments and DCE Cells
      3.6.3 Limitations on Using DCE in a VMScluster System
      3.6.4 DCE and VMScluster Configuration Issues

  Chapter 4. Using Digital DCE with DECnet
    4.1 DECnet and DCE Startup and Shutdown Sequences
    4.2 Running DCE Server Applications Using DECnet
      4.2.1 Server Account Requirements
      4.2.2 DECnet Endpoint Naming
    4.3 DECnet String Binding Formats Supported in this Release

  Chapter 5. Directory Names, Filenames, and Locations Across DCE Platforms
    5.1 DCE Directories
    5.2 Setup Utilities
    5.3 Executable Images
    5.4 Library Images
    5.5 Message Files
    5.6 Development Files
    5.7 Sample Applications

  Chapter 6. Application Development Considerations and Differences
    6.1 Building Applications
      6.1.1 Linking DCE Applications
      6.1.2 Considerations for Structure Alignment with C Compilers
      6.1.3 Considerations for Building DCE Applications Using OpenVMS Object
    6.2 Running Applications
    6.3 Translating OSF DCE Documentation Examples to OpenVMS

  Chapter 7. Integrated Login
    7.1 Overview
    7.2 Integrated Login Components
    7.3 Integrated Login Procedure
    7.4 Changing Your DCE Password
    7.5 Enabling Interactive Login on Your OpenVMS System
      7.5.1 Disabling a System Account for Integrated Login
      7.5.2 Password Expiration Dates on User Accounts
      7.5.3 Potential Integrated Login and SYSGEN Problems
    7.6 DCE Authorization File (DCE$UAF)
      7.6.1 DCE$UAF File Information
      7.6.2 Running the DCE$UAF Utility
    7.7 DCE Registry Import
      7.7.1 DCE IMPORT File Information
      7.7.2 Running DCE IMPORT
    7.8 DCE Registry Export
      7.8.1 DCE EXPORT File Information
      7.8.2 Running DCE EXPORT
    7.9 Frequently Asked Questions for Users
    7.10 Frequently Asked Questions for System Administrators

  Chapter 8. Intercell Naming
    8.1 Intercell Naming with DNS
    8.2 Intercell Naming Example -DNS
    8.3 Intercell Naming with X.500
    8.4 Intercell Naming Example -X.500
    8.5 Summary
      8.5.1 DNS Bind
      8.5.2 X.500

  Chapter 9. Enhanced Browser
    9.1 Displaying the Namespace
    9.2 Filtering the Namespace Display

  Chapter 10. Using the CDS Subtree Commands to Restructure CDS Directories
    10.1 Overview of the Merge Procedure
    10.2 Basic Merge and Append Operations
      10.2.1 Performing a Basic Merge Operation
      10.2.2 Performing a Basic Append Operation
    10.3 Using the Failures File
      10.3.1 Handling Duplicate Names
      10.3.2 Handling Unreachable Name Failures
    10.4 Merging CDS Directories with a Single Command
    10.5 Merging CDS Directories into a Foreign Cell
    10.6 Backing Up Namespace Information
      10.6.1 Using Replication to Back Up Namespace Information
      10.6.2 Using the Dump/Merge Facilities to Back Up Directories and Their
      10.6.3 Using Operating System Backups

  Chapter 11. The Generic Security Service Application Programming Interface
    11.1 About the Generic Security Service API
    11.2 GSSAPI and Authentication
      11.2.1 GSSAPI and Protection Levels
      11.2.2 A Walkthrough of DCE Application Authentication Using GSSAPI
    11.3 GSSAPI Credentials
      11.3.1 Using Default Credentials
        11.3.1.1 Initiate a Security Context
        11.3.1.2 Accept a Security Context
      11.3.2 Creating New Credential Handles
        11.3.2.1 Initiating a Security Context with New Credential Handles
        11.3.2.2 Accepting a Security Context Using New Credential Handles

  Chapter 12. Object-Oriented RPC
    12.1 Overview of C++
      12.1.1 Class Definition
      12.1.2 Objects
      12.1.3 Class Inheritance
      12.1.4 Polymorphic Operations
      12.1.5 Class Operations
    12.2 Developing an Application with Object-Oriented RPC
      12.2.1 Generated C++ Class Hierarchy
        12.2.1.1 Abstract Base Class
        12.2.1.2 Proxy Class
        12.2.1.3 Manager Class
      12.2.2 Specifying the Default Entry Point Vector
      12.2.3 Obtaining an Object Reference
    12.3 Using the Features of Object- Oriented RPC
      12.3.1 Automatically Compiling Stub Files
      12.3.2 Controlling the Location of an Included File
      12.3.3 Generating Static Member Functions for Interfaces
      12.3.4 Specifying Object Interfaces as IDL Parameters
      12.3.5 Registering Objects in the DCE Namespace
      12.3.6 Binding to DCE Objects
        12.3.6.1 Binding to Remote Objects by Name
        12.3.6.2 Binding to Remote Objects by Binding Handle
        12.3.6.3 Binding to Remote Objects by UUID
      12.3.7 Controlling Object Lookup Management
      12.3.8 Propagating an Exception for Object Lookup Faults
      12.3.9 Creating Dynamic Remote Objects
      12.3.10 Managing Object References
      12.3.11 Using Object Location Transparency
        12.3.11.1 Intraprocess Location Independence
        12.3.11.2 Interprocess Location Independence
        12.3.11.3 Specifying Local Objects as Parameters
      12.3.12 Offering Multiple Object Implementations of a Common Interface
      12.3.13 Enabling the C++ Reference Operator on IDL Parameters

  Chapter 13. IDL Compiler Enhancements
    13.1 The -standard Build Option
    13.2 Stub Auxiliary Files
    13.3 DEC Language-Sensitive Editor (LSE) Templates on OpenVMS
    13.4 Binding Handle Callout
      13.4.1 Attribute Configuration File
      13.4.2 Generated Header File
      13.4.3 Generated Client Stub
      13.4.4 Binding Callout Routine
        13.4.4.1 Error Handling
      13.4.5 Predefined Binding Callout Routine
    13.5 Extensions to IDL Data Structures
      13.5.1 Unique Pointer
      13.5.2 Array Extensions
        13.5.2.1 The m i n _ i s Attribute
        13.5.2.2 Conformance in Dimensions Other Than the First
      13.5.3 Nonencapsulated Unions
      13.5.4 Defining Exceptions with IDL
    13.6 Syntax for Unions
    13.7 Operation Attributes: Memory Management

  Chapter 14. IDL Encoding Services
    14.1 Attribute Configuration File (ACF) Attributes
    14.2 Buffering Styles
      14.2.1 Incremental Encoding
      14.2.2 Fixed Buffer Encoding
      14.2.3 Dynamic Buffer Encoding
      14.2.4 Incremental Decoding
      14.2.5 Buffer Decoding
    14.3 IDL Encoding Services Handles
      14.3.1 Restrictions on the Use of Handles
      14.3.2 Obtaining a Handle
      14.3.3 Incremental Encoding Handle
      14.3.4 Fixed Buffer Encoding Handle
      14.3.5 Dynamic Buffer Encoding Handle
      14.3.6 Incremental Decoding Handle
      14.3.7 Buffer Decoding Handle
      14.3.8 Releasing a Handle
    14.4 Programming Example
    14.5 Performing Multiple Operations on a Single Handle
    14.6 Obtaining the Identity of an Encoding
    14.7 Error Reporting
      14.7.1 rpc_s_no_memory
      14.7.2 rpc_s_ss_bad_buffer
      14.7.3 rpc_s_ss_bad_es_action
      14.7.4 rpc_s_ss_wrong_es_version
      14.7.5 rpc_s_tsyntaxes_unsupported
      14.7.6 rpc_s_unknown_if

  Chapter 15. Support for International Characters
    15.1 The I-char Type
    15.2 Tag-Setting
    15.3 Example Use of Attributes
    15.4 Restrictions on the Use of Attributes
      15.4.1 Data Order Constraints
    15.5 Interaction Restrictions
    15.6 Pointer Restrictions
    15.7 Local and Network Types
      15.7.1 Fixed Array
      15.7.2 Varying Array
      15.7.3 Conformant Array
      15.7.4 Conformant Varying Array
      15.7.5 Storage Management Considerations
    15.8 Codeset Conversion Routines
      15.8.1 The idl_cs_convert_t Type
      15.8.2 Routine Usage
      15.8.3 Marshalling
      15.8.4 Unmarshalling
    15.9 Interaction with IDL Encoding Services

  Chapter 16. Application Debugging with the RPC Event Logger
    16.1 Introduction to the RPC Event Logging Facility
    16.2 Generating RPC Event Logs
      16.2.1 Enabling Event Logging
        16.2.1.1 Universal IDL Compiler Interface
        16.2.1.2 Digital Command Language Interface for the Event Logger
      16.2.2 Using the -trace Option
      16.2.3 Combining Event Logs
      16.2.4 Disabling Event Logging
    16.3 Using Symbols and the Log Manager to Control Logging Information
      16.3.1 Controlling Logged Events with a Symbol
      16.3.2 Controlling Logged Events with the RPC Log Manager
    16.4 Using the -trace Option, Symbols, and the Log Manager Together
    16.5 Using Event Logs to Debug Applications
    16.6 Event Names and Descriptions

  Chapter 17. Development of Distributed Applications with FORTRAN
    17.1 Interoperability and Portability
    17.2 Remote Procedure Calls Using FORTRAN - Example
      17.2.1 Where to Obtain the Example Application Files
      17.2.2 The Interface File and Data File (PAYROLL.IDL and PAYROLL.DAT)
      17.2.3 Compiling the Interface with the IDL Compiler
      17.2.4 The Client Application Code for the Interface (PRINT_PAY.FOR)
      17.2.5 The Server Initialization File (SERVER.C)
      17.2.6 The Server Application Code for the Interface (MANAGER.FOR)
      17.2.7 Client and Server Bindings
      17.2.8 Building and Running the Example (PAYROLL.COM)
      17.2.9 Example Output
    17.3 Remote Procedure Calls Using FORTRAN - Reference
      17.3.1 The FORTRAN Compiler Option
      17.3.2 Restrictions on the Use of FORTRAN
      17.3.3 IDL Constant Declarations
      17.3.4 Type Mapping
      17.3.5 Operations
        17.3.5.1 Parameter Passing by Reference
        17.3.5.2 Function Results
      17.3.6 Include Files
      17.3.7 The NBASE.FOR File
      17.3.8 IDL Attributes
        17.3.8.1 The transmit_as Attribute
        17.3.8.2 The string Attribute
        17.3.8.3 The context_handle Attribute
        17.3.8.4 The Array Attributes on [ref] Pointer Parameters
      17.3.9 ACF Attributes
        17.3.9.1 The implicit_handle ACF Attribute
        17.3.9.2 The represent_as ACF Attribute

  Chapter 18. Troubleshooting
    18.1 General Troubleshooting Steps
    18.2 Time Problems During Configuration
      18.2.1 Time Zone Configuration
      18.2.2 Time Synchronization Problems
      18.2.3 Time OPCOM messages
    18.3 Client/Server Problems
      18.3.1 OpenVMS Client System
      18.3.2 Server System
    18.4 Configuration and CDS
    18.5 Configuration and Naming
    18.6 Modifications to DEC TCP/IP Services (UCX)
    18.7 Principal Quota Exhausted
    18.8 Linking RPC Stub Modules into Shareable Images
      18.8.1 Errors Creating a Shareable Image
      18.8.2 Errors Linking Against a Shareable Image
      18.8.3 Errors Activating Shareable Images
    18.9 Integrated Login Problems
      18.9.1 No Logical Name Match Error When Integrated Login Is Enabled
      18.9.2 Potential Integrated Login and SYSGEN Problems

  Chapter 19. Example Programs
    19.1 RPC Test Program #1
    19.2 RPC Test Program #2
    19.3 Object-Oriented RPC Test Program #1
      19.3.1 How to Build the Application on OpenVMS
      19.3.2 How to Run the Application on OpenVMS
      19.3.3 How to Build the Application under POSIX
      19.3.4 How to Run the Application under POSIX
      19.3.5 Application Files
    19.4 Object-Oriented RPC Test Program #2
      19.4.1 How to Build the Application on OpenVMS
      19.4.2 How to Run the Application on OpenVMS
      19.4.3 How to Build the Application under POSIX
      19.4.4 How to Run the Application under POSIX:
      19.4.5 Application Files
    19.5 Book Distributed Calendar Program
    19.6 System Exerciser Example Program
    19.7 Payroll Distributed Application
    19.8 RPC Phonebook Program
      19.8.1 Building the phnbk Client and Server Programs
      19.8.2 Starting the phnbk Server
      19.8.3 Starting the phnbk Client
    19.9 Other Example Programs

  Appendix A. Using NSedit
    A.1 Starting NSedit
    A.2 NSedit Functionality
      A.2.1 Tree Browser Window
      A.2.2 Entry Attributes Window
      A.2.3 ACL Window
    A.3 Common Uses of NSedit
      A.3.1 Expanding and Collapsing Tree Nodes
      A.3.2 Creating an Object or a Directory
      A.3.3 Creating and Viewing a Soft Link
      A.3.4 Deleting an Entry
      A.3.5 Viewing Attributes and Values
      A.3.6 Creating a Group and Adding Members
    A.4 NSedit Menus and Dialog Box
      A.4.1 File Menu
      A.4.2 Display Menu
      A.4.3 Edit Menu
      A.4.4 Create Entry Dialog Popup

  Figures

  9-1: Enhanced Browser Icons

  10-1: Example Namespace Hierarchy

  10-2: Example Namespace Before and After the Merge Operation

  10-3: Example Namespace Before and After the Append Operation

  11-1: DCE Security and the DCE Application Environment

  11-2: The Context Initiator Authenticates a Context Acceptor

  12-1: DCE Interface Development Model

  12-2: Class Hierarchy for DCE Distributed Objects

  12-3: Object Reference Information

  12-4: Reference Counting: Two Clients Referencing the Same Object

  Tables

  2-1: System Configuration Commands

  5-1: DCE Directories for OpenVMS and OSF/1

  5-2: DCE Setup Utilities for OpenVMS and OSF/1

  5-3: Executable Images for OpenVMS and OSF/1

  5-4: DCE Library Images for OpenVMS and OSF/1

  5-5: Message Files for OpenVMS and OSF/1

  6-1: How to Link Applications Compiled with the DEC C Compiler

  16-1: Event Log Fields

  16-2: Event Values and Types

  16-3: Universal Interface with DCL Equivalents

  16-4: Command Interface to rpclm

  17-1: Example Files Created by the Program - mer

  17-2: Example Files Created by IDL

  17-3: Mappings for IDL Types

  17-4: Standard Declarations

  19-1: Features of Example Programs

  19-2: Options for Starting the Distributed Calendar Program

  19-3: Options for Starting the System Exerciser