CONTENTS

 1     Introduction
        1.1     Purpose
        1.2     Overview
        1.3     Terminology
                  1.3.1     Definitions
                  1.3.2     Abbreviations
        1.4     References
                  1.4.1     Identical Recommendations – International Standards
                  1.4.2     Paired Recommendations – International Standards equivalent in technical content
                  1.4.3     Additional references
        1.5     Levels
        1.6     C naming conventions
 2     CMC architecture
        2.1     Functional model
        2.2     Computational model
                  2.2.1     Interfaces
                  2.2.2     Session
                  2.2.3     Wide character support
                  2.2.4     Event notification
                  2.2.5     Extensions
        2.3     Configuration model
                  2.3.1     CMC manager
                  2.3.2     Guidelines for platform bindings
                  2.3.3     Query for configuration information
        2.4     Object model
                  2.4.1     Model components
 3     CMC object classes
        3.1     CMC API object classes
                  3.1.1     Address book
                  3.1.2     Content item
                  3.1.3     Distribution list
                  3.1.4     Message
                  3.1.5     Message container
                  3.1.6     Per Recipient Information
                  3.1.7     Profile Container
                  3.1.8     Recipient
                  3.1.9     Report
                 3.1.10     Root Container
 4     Data structures
        4.1     Basic data types
        4.2     Array data types
        4.3     Attachment
        4.4     Boolean
        4.5     Buffer
        4.6     Callback Data Structures
        4.7     Counted String
        4.8     Cursor Handle
        4.9     Cursor Restriction
       4.10     Cursor Sort Key
       4.11     Dispatch Table
       4.12     Enumerated
       4.13     Events
       4.14     Extension
       4.15     Flags
       4.16     GUID
       4.17     Identifier
       4.18     ISO Date and Time
       4.19     Message
       4.20     Message Reference
       4.21     Message Summary
       4.22     Name
       4.23     Object Handle
       4.24     Object Identifier
       4.25     Opaque Data
       4.26     Property
       4.27     Recipient
       4.28     Report
       4.29     Return Code
       4.30     Session Id
       4.31     Stream Handle
       4.32     String
       4.33     Time
       4.34     User Interface Identifier
 5     Object properties
        5.1     Address book object properties
                  5.1.1     Child allowed
                  5.1.2     Comment
                  5.1.3     Location
                  5.1.4     Name
                  5.1.5     Object class
                  5.1.6     Parent
                  5.1.7     Server name
                  5.1.8     Shared
                  5.1.9     Type
        5.2     Content item object properties
                  5.2.1     Character set
                  5.2.2     Content information
                  5.2.3     Content type
                  5.2.4     Create time
                  5.2.5     Encoding type
                  5.2.6     File directory
                  5.2.7     File name
                  5.2.8     Item number
                  5.2.9     Item type
                 5.2.10     Last modified
                 5.2.11     Object class
                 5.2.12     Render position
                 5.2.13     Size
                 5.2.14     Title
        5.3     Distribution list object properties
                  5.3.1     Address
                  5.3.2     Comment
                  5.3.3     Last modification time
                  5.3.4     Name
                  5.3.5     Object class
                  5.3.6     Parent
                  5.3.7     Shared
        5.4     Message object properties
                  5.4.1     Application Id
                  5.4.2     Application message status
                  5.4.3     Auto-Action
                  5.4.4     Deferred delivery time
                  5.4.5     Id
                  5.4.6     In message status
                  5.4.7     In reply to
                  5.4.8     Item count
                  5.4.9     NRN diagnostic
                 5.4.10     NRN reason
                 5.4.11     Object class
                 5.4.12     Out message status
                 5.4.13     Priority
                 5.4.14     Receipt requested
                 5.4.15     Receipt type
                 5.4.16     Report requested
                 5.4.17     Role
                 5.4.18     Sensitivity
                 5.4.19     Size
                 5.4.20     Subject
                 5.4.21     Time received
                 5.4.22     Time sent
                 5.4.23     Type
        5.5     Message container object properties
                  5.5.1     Child allowed
                  5.5.2     Comment
                  5.5.3     Location
                  5.5.4     Name
                  5.5.5     Object class
                  5.5.6     Parent
                  5.5.7     Server name
                  5.5.8     Shared
                  5.5.9     Type
        5.6     Per recipient information object properties
                  5.6.1     Comment
                  5.6.2     Delivery time
                  5.6.3     Diagnostic
                  5.6.4     Object class
                  5.6.5     Reason
                  5.6.6     Recipient address
                  5.6.7     Recipient name
                  5.6.8     Type
        5.7     Profile container object properties
                  5.7.1     Auto-Action
                  5.7.2     Character Set
                  5.7.3     Conformance
                  5.7.4     Default Service
                  5.7.5     Default User
                  5.7.6     Line Terminator
                  5.7.7     Object Class
                  5.7.8     Object Extensions Supported
                  5.7.9     Objects Supported
                 5.7.10     Properties Supported
                 5.7.11     Property Extensions Supported
                 5.7.12     Required Password
                 5.7.13     Required Service
                 5.7.14     Required User
                 5.7.15     Support Counted Strings
                 5.7.16     Support No Mark As Read
                 5.7.17     User Interface Available
                 5.7.18     Users
                 5.7.19     Version of the Implementation
                 5.7.20     Version of the Specification
        5.8     Recipient object properties
                  5.8.1     Address
                  5.8.2     Content Return Requested
                  5.8.3     Name
                  5.8.4     Object Class
                  5.8.5     Receipt Requested
                  5.8.6     Report Requested
                  5.8.7     Responsibility Flag
                  5.8.8     Role
                  5.8.9     Type
        5.9     Report object properties
                  5.9.1     Application Id
                  5.9.2     Id
                  5.9.3     Item Count
                  5.9.4     Messaging System Id
                  5.9.5     Object Class
                  5.9.6     Read
                  5.9.7     Size
                  5.9.8     Subject
                  5.9.9     Subject Message Id
                 5.9.10     Time Received
                 5.9.11     Time Sent
                 5.9.12     Unsent
       5.10     Root container object properties
                 5.10.1     Child Allowed
                 5.10.2     Comment
                 5.10.3     Location
                 5.10.4     Name
                 5.10.5     Object Class
                 5.10.6     Shared
 6     Functional interface
        6.1     Simple CMC functions
                  6.1.1     Sending messages
                  6.1.2     Receiving messages
                  6.1.3     Looking up names
                  6.1.4     Administration
        6.2     Full CMC functions
                  6.2.1     Bind functions
                  6.2.2     Composition functions
                  6.2.3     Enumeration functions
                  6.2.4     Event notification functions
                  6.2.5     Messaging functions
                  6.2.6     Name handling functions
                  6.2.7     Stream functions
 7     Return codes
 8          Conformance
Annex  A  –  C declaration summary
        A.1     C declaration summary
Annex  B  –  CMC vendor extensions
        B.1     CMC vendor extensions
                  B.1.1     Function extensions
                  B.1.2     Data extensions
        B.2     Extension set C declaration summary
                  B.2.1     X.400 extension set
                  B.2.2     Additional extensions for simple CMC/X400 mapping
                  B.2.3     Other extension sets
                  B.2.4     Platform-specific information including run-time bindings
                  B.2.5     Simple CMC usage of X.400 backbone services
Annex  C  –  Programming examples
        C.1     Programming examples
                  C.1.1     Query Configuration, Logon, and Logoff
                  C.1.2     Send and Send Documents functions
                  C.1.3     List, read, and delete the first unread message
                  C.1.4     Look up a specific recipient and get its details
                  C.1.5     Use of extensions
                  C.1.6     cmc_bind_implementation
        C.2     Example of cmc_bind_implementation
        C.3     Composing a message
        C.4     Check for new messages
        C.5     Filing a message
        C.6     Deleting a message
        C.7     Retrieving a message