`
`DSP0001
`
`Version 2.0s
`
`June 24, 1998
`
`Technical inquiries and editorial comments should be directed in writing to:
`
`DELL
`EXHIBIT 1020 - PAGE 1
`
`
`
`Desktop Management Interface Specification v2.0s
`
`Desktop Management Task Force (DMTF)
`c/o MacKenzie Kesselring, Inc.
`200 SW Market, Suite 450
`Portland, OR 97201
`PHONE: (503) 294-0739
`FAX: (503) 225-0765
`email: dmtf-info@dmtf.org
`
`Additional copies of this specification may be obtained free of charge electronically via internet at:
`ftp//ftp.dmtf.org
`or
`from the World Wide Web at:
`http://www.dmtf.org
`or
`hardcopy for a fee by contacting the DMTF at the address listed above.
`
`IMPORTANT INFORMATION AND DISCLAIMERS
`
`1. THIS SPECIFICATION (WHICH SHALL INCORPORATE ANY REVISIONS, UPDATES, AND
`MODIFICATIONS HERETO) IS FURNISHED FOR INFORMATIONAL PURPOSES ONLY. INTEL
`CORPORATION, MICROSOFT CORPORATION, DIGITAL EQUIPMENT CORPORATION, HEWLETT-PACKARD
`COMPANY, INTERNATIONAL BUSINESS MACHINES CORPORATION, NOVELL INC., SUN MICROSYSTEMS,
`INC., COMPAQ COMPUTER CORPORATION, DELL COMPUTER CORP., SYMANTEC, THE SANTA CRUZ
`OPERATION, NEC TECHNOLOGIES, INC., OR ANY OTHER DMTF MEMBER MAKE NO WARRANTIES WITH
`REGARD THERETO, AND IN PARTICULAR DO NOT WARRANT OR REPRESENT THAT THIS SPECIFICATION
`OR ANY PRODUCTS MADE IN CONFORMANCE WITH IT WILL WORK IN THE INTENDED MANNER OR BE
`COMPATIBLE WITH OTHER PRODUCTS IN NETWORK SYSTEMS. NOR DO THEY ASSUME
`RESPONSIBILITY FOR ANY ERRORS THAT THE SPECIFICATION MAY CONTAIN OR HAVE ANY
`LIABILITIES OR OBLIGATIONS FOR DAMAGES INCLUDING, BUT NOT LIMITED TO, SPECIAL,
`INCIDENTAL, INDIRECT, PUNITIVE, OR CONSEQUENTIAL DAMAGES WHETHER ARISING FROM OR IN
`CONNECTION WITH THE USE OF THIS SPECIFICATION IN ANY WAY. CORPORATIONS MAY FOLLOW OR
`DEVIATE FROM THIS SPECIFICATION AT ANY TIME.
`2. NO REPRESENTATIONS OR WARRANTIES ARE MADE THAT ANY PRODUCT BASED IN WHOLE OR IN
`PART ON THE ABOVE SPECIFICATION WILL BE FREE FROM DEFECTS OR SAFE FOR USE FOR ITS
`INTENDED PURPOSE. ANY PERSON MAKING, USING OR SELLING SUCH PRODUCT DOES SO AT HIS OWN
`RISK.
`3. THE USER OF THIS SPECIFICATION HEREBY EXPRESSLY ACKNOWLEDGES THAT THE SPECIFICATION
`IS PROVIDED AS IS, AND THAT THE DMTF, NEITHER INDIVIDUALLY NOR COLLECTIVELY, MAKE ANY
`REPRESENTATIONS, EXTEND ANY WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, ORAL OR
`WRITTEN, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
`PURPOSE, OR WARRANTY OR REPRESENTATION THAT THE SPECIFICATION OR ANY PRODUCT OR
`TECHNOLOGY UTILIZING ANY ASPECT OF THE SPECIFICATION WILL BE FREE FROM ANY CLAIMS OF
`INFRINGEMENT OF INTELLECTUAL PROPERTY, INCLUDING PATENTS, COPYRIGHT AND TRADE
`SECRETS OF ANY THIRD PARTY, OR ASSUMES ANY OTHER RESPONSIBILITIES WHATSOEVER WITH
`RESPECT TO THE SPECIFICATION OR SUCH PRODUCTS. IN NO EVENT WILL DMTF MEMBERS BE LIABLE
`FOR ANY LOSSES, DAMAGES INCLUDING, WITHOUT LIMITATION, THOSE DAMAGES DESCRIBED IN
`SECTION 1 ABOVE, COSTS, JUDGMENTS, OR EXPENSES ARISING FROM THE USE OR LICENSING OF THE
`SPECIFICATION HEREUNDER.
`
`
`
`
`
`June 24, 1998
`
`DELL
`EXHIBIT 1020 - PAGE 2
`
`
`
`
`
`Desktop Management Interface Specification v2.0s
`
`PARTICIPANTS
`
`The following is a list of participants in the Desktop Management Task Force - Technical Committee. These are the people
`whose contributions made this document possible.
`
`Ed Arrington, Chairman, Steering Committee
`Paul A. Ruocchio, Chairman, Technical Committee
`
`
`
`
`
`
`
`
`
`
`
`
`
`Manny Novoa - Compaq Computer Corporation
`
`Keith Hamilton - Microsoft Corporation
`
`Randy Howard - Dell Computer Corp.
`
`S. T. Lin - NEC Technologies, Inc.
`
`Sujit Kumar - Digital Equipment Corporation
`
`Bob Ure - Novell, Inc.
`
`Fabrizio Dante - Hewlett-Packard Company
`
`Lorie Goudie - Santa Cruz Operation
`
`Paul Ruocchio - International Business Machines Corporation Surinder Singh - Sun Microsystems, Inc.
`
`Vittal Kini - Intel Corporation
`
`Doug Smith - Symantec
`
`A note of special thanks to our IDL experts:Baruch Cochavy (Intel) and Jim Markham (IBM).
`
`The following is a list of participants in the DMI Security Working Committee who contributed to the definition of the
`DMI Security Extension, which is the major addition in DMIv2.0s.
`
`
`
`Fabrizio Dante - Hewlett-Packard
`Marc Jalfon - Intel
`Mike Smith - Compaq
`Ann Adamson - NCR
`Tamir Ran - Auspex
`Steve Romohr - Dell
`Terry Lister - Hewlett-Packard
`Kim Raynard - Santa Cruz Operation
`David Simons - Santa Cruz Operation
`Dave Hayslett - IBM
`Richard Harrah - Hewlett-Packard
`
`Special thanks go to Dominique Vicard (HP), Ronen Barenboim (Intel), Tevi Devor (Intel), Amit Finkelstein (Intel)
`and Ariel Katz (Intel) for reviewing several versions of the manuscript and making significant contributions to this
`specification.
`
`June 24, 1998
`
`i
`
`DELL
`EXHIBIT 1020 - PAGE 3
`
`
`
`Desktop Management Interface Specification v2.0s
`
`CONTENTS
`
`1.
`
`INTRODUCTION AND OVERVIEW .......................................................................................................................7
`
`1.1 MOTIVATION............................................................................................................................................................ 7
`1.2
`BASIC TERMINOLOGY .............................................................................................................................................. 7
`ELEMENTS OF THE DMI ........................................................................................................................................... 8
`1.3
`1.4
`DATA MODEL ......................................................................................................................................................... 10
`1.5
`THE DMI SERVICE PROVIDER................................................................................................................................ 11
`1.5.1
`Service Provider Responsibilities..................................................................................................................11
`1.6
`OPERATIONAL CHARACTERISTICS .......................................................................................................................... 11
`1.7
`REMOTEABLE INTERFACE ...................................................................................................................................... 13
`1.8
`SECURITY............................................................................................................................................................... 14
`
`2.
`
`INFORMATION SYNTAX .......................................................................................................................................15
`
`2.1 MANAGEMENT INFORMATION FORMAT ................................................................................................................. 15
`2.1.1
`Lexical conventions.......................................................................................................................................15
`2.1.2
`Comments......................................................................................................................................................15
`2.1.3
`Keywords.......................................................................................................................................................16
`2.1.4
`Data types .....................................................................................................................................................16
`2.1.5
`Constants.......................................................................................................................................................17
`2.1.6
`Block scope ...................................................................................................................................................19
`2.1.7
`Language statement ......................................................................................................................................19
`2.1.8
`Common statements ......................................................................................................................................20
`2.1.9
`Component definition ....................................................................................................................................21
`2.1.10 Path definition...............................................................................................................................................21
`2.1.11 Enum definition .............................................................................................................................................21
`2.1.12 Group definition ............................................................................................................................................22
`2.1.13
`Pragma statement .........................................................................................................................................23
`2.1.14 Attribute definition ........................................................................................................................................25
`2.1.15 Group example ..............................................................................................................................................26
`2.1.16
`Populating tables ..........................................................................................................................................27
`2.2 MIF GRAMMAR ..................................................................................................................................................... 28
`2.3
`SAMPLE MIF.......................................................................................................................................................... 32
`2.4
`ISO 639 ................................................................................................................................................................. 37
`2.5
`ISO 3166 ............................................................................................................................................................... 38
`
`3. STANDARD GROUPS...............................................................................................................................................41
`
`COMPONENT STANDARD GROUPS .......................................................................................................................... 41
`3.1
`3.1.1
`The ComponentID group ..............................................................................................................................41
`3.2
`EVENT STANDARD GROUPS ................................................................................................................................... 43
`3.2.1
`Requirements.................................................................................................................................................44
`3.2.2
`Event Generation Group ...............................................................................................................................44
`3.2.3
`Event State Group .........................................................................................................................................50
`3.3
`DMI SERVICE PROVIDER STANDARD GROUPS....................................................................................................... 52
`3.3.1
`SP Indication Subscription............................................................................................................................53
`3.3.2
`SP Filter Information ....................................................................................................................................55
`3.4
`EVENT EXAMPLE ................................................................................................................................................... 60
`3.4.1
`Software Signature Template ........................................................................................................................60
`3.4.2
`Software Signature Table..............................................................................................................................61
`3.4.3
`Event Generation Group ...............................................................................................................................61
`3.4.4
`MIF Template................................................................................................................................................62
`
`4.
`
`INTERFACE OVERVIEW .......................................................................................................................................67
`
`PROGRAMMING CONSIDERATIONS ......................................................................................................................... 68
`4.1
`4.1.1
`Binding To A Managed Machine ..................................................................................................................68
`
`2
`
`
`
`
`
`June 24, 1998
`
`DELL
`EXHIBIT 1020 - PAGE 4
`
`
`
`
`
`Desktop Management Interface Specification v2.0s
`
`The use of pointers........................................................................................................................................ 68
`4.1.2
`Calling Conventions ..................................................................................................................................... 69
`4.1.3
`Re-entrancy................................................................................................................................................... 70
`4.1.4
`4.2
`NATIONAL LANGUAGE SUPPORT ........................................................................................................................... 70
`4.2.1
`Requirement.................................................................................................................................................. 70
`4.2.2
`Overview ....................................................................................................................................................... 70
`4.2.3
`Translatable Text .......................................................................................................................................... 70
`4.2.4
`Installation.................................................................................................................................................... 71
`4.2.5
`Operation...................................................................................................................................................... 71
`
`5. KEY DATA STRUCTURES ..................................................................................................................................... 73
`
`DMI DATA TYPES .................................................................................................................................................. 73
`5.1
`ENUMERATED TYPES.............................................................................................................................................. 73
`5.2
`5.2.1
`DmiAccessMode ........................................................................................................................................... 73
`5.2.2
`DmiDataType................................................................................................................................................ 74
`5.2.3
`DmiFileType ................................................................................................................................................. 75
`5.2.4
`DmiRequestMode.......................................................................................................................................... 75
`5.2.5
`DmiSetMode ................................................................................................................................................. 76
`5.2.6
`DmiStorageType ........................................................................................................................................... 76
`5.3
`DATA STRUCTURES ................................................................................................................................................ 77
`5.3.1
`DmiAttributeData ......................................................................................................................................... 77
`5.3.2
`DmiAttributeIds ............................................................................................................................................ 77
`5.3.3
`DmiAttributeInfo........................................................................................................................................... 78
`5.3.4
`DmiAttributeList ........................................................................................................................................... 79
`5.3.5
`DmiAttributeValues ...................................................................................................................................... 79
`5.3.6
`DmiClassNameInfo....................................................................................................................................... 79
`5.3.7
`DmiClassNameList ....................................................................................................................................... 79
`5.3.8
`DmiComponentInfo ...................................................................................................................................... 80
`5.3.9
`DmiComponentList ....................................................................................................................................... 80
`5.3.10 DmiDataUnion ............................................................................................................................................. 81
`5.3.11 DmiEnumInfo................................................................................................................................................ 81
`5.3.12 DmiEnumList ................................................................................................................................................ 81
`5.3.13 DmiFileDataInfo .......................................................................................................................................... 82
`5.3.14 DmiFileDataList ........................................................................................................................................... 82
`5.3.15 DmiFileTypeList ........................................................................................................................................... 82
`5.3.16 DmiGroupInfo .............................................................................................................................................. 83
`5.3.17 DmiGroupList ............................................................................................................................................... 84
`5.3.18 DmiMultiRowData........................................................................................................................................ 84
`5.3.19 DmiMultiRowRequest ................................................................................................................................... 84
`5.3.20 DmiNodeAddress .......................................................................................................................................... 84
`5.3.21 DmiOctetString ............................................................................................................................................. 85
`5.3.22 DmiRowData ................................................................................................................................................ 85
`5.3.23 DmiRowRequest............................................................................................................................................ 86
`5.3.24 DmiString...................................................................................................................................................... 87
`5.3.25 DmiStringList................................................................................................................................................ 87
`5.3.26 DmiTimeStamp ............................................................................................................................................. 88
`
`6. MANAGEMENT INTERFACE................................................................................................................................ 89
`
`INITIALIZATION FUNCTIONS .................................................................................................................................. 89
`6.1
`6.1.1
`DmiRegister .................................................................................................................................................. 89
`6.1.2
`DmiUnregister .............................................................................................................................................. 89
`6.1.3
`DmiGetVersion ............................................................................................................................................. 90
`6.1.4
`DmiGetConfig............................................................................................................................................... 90
`6.1.5
`DmiSetConfig................................................................................................................................................ 91
`LISTING FUNCTIONS............................................................................................................................................... 92
`6.2
`6.2.1
`DmiListComponents ..................................................................................................................................... 92
`6.2.2
`DmiListComponentsByClass ........................................................................................................................ 93
`6.2.3
`DmiListLanguages........................................................................................................................................ 94
`
`June 24, 1998
`
`3
`
`DELL
`EXHIBIT 1020 - PAGE 5
`
`
`
`Desktop Management Interface Specification v2.0s
`
`DmiListClassNames ......................................................................................................................................94
`6.2.4
`DmiListGroups..............................................................................................................................................95
`6.2.5
`DmiListAttributes ..........................................................................................................................................96
`6.2.6
`6.3
`OPERATION FUNCTIONS ......................................................................................................................................... 97
`6.3.1
`DmiGetAttribute............................................................................................................................................97
`6.3.2
`DmiSetAttribute.............................................................................................................................................98
`6.3.3
`DmiGetMultiple.............................................................................................................................................99
`6.3.4
`DmiSetMultiple ...........................................................................................................................................101
`6.3.5
`DmiAddRow ................................................................................................................................................102
`6.3.6
`DmiDeleteRow ............................................................................................................................................103
`6.4
`DATABASE ADMINISTRATION FUNCTIONS ........................................................................................................... 104
`6.4.1
`DmiAddComponent .....................................................................................................................................104
`6.4.2
`DmiAddLanguage .......................................................................................................................................105
`6.4.3
`DmiAddGroup.............................................................................................................................................106
`6.4.4
`DmiDeleteComponent .................................................................................................................................107
`6.4.5
`DmiDeleteLanguage ...................................................................................................................................107
`6.4.6
`DmiDeleteGroup .........................................................................................................................................108
`
`7. MANAGEMENT APPLICATION PROVIDER API ...........................................................................................109
`
`FUNCTIONS .......................................................................................................................................................... 109
`7.1
`7.1.1
`DmiDeliverEvent.........................................................................................................................................109
`7.1.2
`DmiComponentAdded .................................................................................................................................110
`7.1.3
`DmiComponentDeleted ...............................................................................................................................110
`7.1.4
`DmiLanguageAdded....................................................................................................................................111
`7.1.5
`DmiLanguageDeleted .................................................................................................................................111
`7.1.6
`DmiGroupAdded .........................................................................................................................................112
`7.1.7
`DmiGroupDeleted .......................................................................................................................................112
`7.1.8
`DmiSubscriptionNotice ...............................................................................................................................113
`
`8. COMPONENT INTERFACE..................................................................................................................................115
`
`DATA STRUCTURES.............................................................................................................................................. 115
`8.1
`8.1.1
`DmiAccessData ...........................................................................................................................................115
`8.1.2
`DmiAccessDataList .....................................................................................................................................116
`8.1.3
`DmiRegisterInfo ..........................................................................................................................................116
`8.2
`SERVICE PROVIDER FUNCTIONS FOR COMPONENTS ............................................................................................. 117
`8.2.1
`DmiRegisterCi Function .............................................................................................................................117
`8.2.2
`DmiUnregisterCi Function .........................................................................................................................118
`8.2.3
`DmiOriginateEvent .....................................................................................................................................118
`COMPONENT PROVIDER FUNCTIONS .................................................................................................................... 119
`8.3
`8.3.1
`CiGetAttribute .............................................................................................................................................119
`8.3.2
`CiGetNextAttribute......................................................................................................................................120
`8.3.3
`CiSetAttribute..............................................................................................................................................121
`8.3.4
`CiReserveAttribute ......................................................................................................................................122
`8.3.5
`CiReleaseAttribute ......................................................................................................................................123
`8.3.6
`CiAddRow ...................................................................................................................................................123
`8.3.7
`CiDeleteRow ...............................................................................................................................................124
`
`9. OPTIONAL MI SUPPORT FUNCTIONS .............................................................................................................125
`
`PROGRAMMING CONSIDERATIONS ....................................................................................................................... 125
`9.1
`RPC ABSTRACTIONS ........................................................................................................................................... 126
`9.2
`9.2.1
`MI Support Functions and RPC specific DMI API .....................................................................................126
`9.3
`CONNECTION ESTABLISHMENT AND TEARDOWN ................................................................................................. 126
`9.3.1
`Connection Establishment...........................................................................................................................126
`9.3.2
`Connection Teardown .................................................................................................................................127
`9.3.3
`Transport List..............................................................................................................................................127
`9.4
`ERROR MODEL..................................................................................................................................................... 128
`9.4.1
`Simple Error Handling................................................................................................................................128
`
`4
`
`
`
`
`
`June 24, 1998
`
`DELL
`EXHIBIT 1020 - PAGE 6
`
`
`
`
`
`Desktop Management Interface Specification v2.0s
`
`Extended Error Handling ........................................................................................................................... 131
`9.4.2
`DCE/RPC and ONC/RPC mapping for standard functions ....................................................................... 132
`9.4.3
`RUNTIME LINKAGE.............................................................................................................................................. 134
`9.5
`9.5.1
`Naming Conventions................................................................................................................................... 134
`9.5.2
`Runtime linkage example ............................................................................................................................ 135
`9.6 MEMORY HANDLING FUNCTIONS ........................................................................................................................ 136
`9.6.1
`DmiAllocPool ............................................................................................................................................. 136
`9.6.2
`DmiAlloc ..........................................................................................