// ===================================================================
// Title:       Physical Connectors 2.7
// Filename:    Physical27_Connector.mof
// Version:     2.7.0
// Release:     Final
// Date:        03/31/03
// ===================================================================
// Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
// All rights reserved.  
// DMTF is a not-for-profit association of industry members dedicated 
// to promoting enterprise and systems management and interoperability. 
// DMTF specifications and documents may be reproduced for uses
// consistent with this purpose by members and non-members, 
// provided that correct attribution is given. 
// As DMTF specifications may be revised from time to time, 
// the particular version and release date should always be noted.
//
// Implementation of certain elements of this standard or proposed 
// standard may be subject to third party patent rights, including 
// provisional patent rights (herein "patent rights"). DMTF makes 
// no representations to users of the standard as to the existence 
// of such rights, and is not responsible to recognize, disclose, or
// identify any or all such third party patent right, owners or 
// claimants, nor for any incomplete or inaccurate identification or 
// disclosure of such rights, owners or claimants. DMTF shall have no 
// liability to any party, in any manner or circumstance, under any 
// legal theory whatsoever, for failure to recognize, disclose, or 
// identify any such third party patent rights, or for such party's
// reliance on the standard or incorporation thereof in its product, 
// protocols or testing procedures. DMTF shall have no liability to 
// any party implementing such standard, whether such implementation 
// is foreseeable or not, nor to any patent owner or claimant, and shall 
// have no liability or responsibility for costs or losses incurred if 
// a standard is withdrawn or modified after publication, and shall be
// indemnified and held harmless by any party implementing the 
// standard from any and all claims of infringement by a patent owner 
// for such implementations.
//
// For information about patents held by third-parties which have 
// notified the DMTF that, in their opinion, such patent may relate to 
// or impact implementations of DMTF standards, visit 
// http://www.dmtf.org/about/policies/disclosures.php.
// ===================================================================
// Description: The Physical Model defines modeling concepts related
//              to actual boxes and packaging. This file defines the 
//              concepts related to connectors.
//
//              The object classes below are listed in an order that
//              avoids forward references. Required objects, defined 
//              by other working groups, are omitted.
// ==================================================================
// Change Log for v2.7
// CR623 - Fix the DMI mapping string to include the attribute number
//         PhysicalConnector.ConnectorType and .OtherTypeDescription.
// CR676 - Deprecate Slot.Powered
// CR877 - Add AGP8X enumeration to PhysicalConnector.ConnectorType 
// ==================================================================

#pragma locale ("en_US")


// ==================================================================
// PhysicalConnector
// ==================================================================
[Version ("2.7.0"), Description (
    "The PhysicalConnector class represents any PhysicalElement "
    "that is used to connect to other Elements. Any object that "
    "can be used to connect and transmit signals or power between "
    "two or more PhysicalElements is a descendant (or member) "
    "of this class. For example, Slots and D-shell connectors are "
    "types of PhysicalConnectors.") ]
class CIM_PhysicalConnector : CIM_PhysicalElement {
    
    [Description (
        "A free-form string describing the pin configuration and "
        "signal usage of a PhysicalConnector.") ]
    string ConnectorPinout;
    
    [Description (
        "An array of integers defining the type of PhysicalConnector. "
        "An array is specified to allow the description of "
        "'combinations' of Connector information. For example, one "
        "array entry could specify RS-232 (value=25), another DB-25 "
        "(value=23) and a third entry define the Connector as \"Male\" "
        "(value=2)."),
        ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
            "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", 
            "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", 
            "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", 
            "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", 
            "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", 
            "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", 
            "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", 
            "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", 
            "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", 
            "101", "102", "103", "104", "105", "106", "107", "108", "109", 
            "110", "111", "112", "113", "114", "115", "116", "117", "118", 
            "119", "120", "121", "122"}, 
        Values {"Unknown", "Other", "Male", "Female", "Shielded",
            "Unshielded", "SCSI (A) High-Density (50 pins)",
            "SCSI (A) Low-Density (50 pins)",
            "SCSI (P) High-Density (68 pins)", 
            "SCSI SCA-I (80 pins)", "SCSI SCA-II (80 pins)", 
            // 11   
            "Fibre Channel (DB-9, Copper)",
            "Fibre Channel (Optical Fibre)",
            "Fibre Channel SCA-II (40 pins)", 
            "Fibre Channel SCA-II (20 pins)", "Fibre Channel BNC",
            "ATA 3-1/2 Inch (40 pins)", "ATA 2-1/2 Inch (44 pins)",
            "ATA-2", "ATA-3", "ATA/66", "DB-9", "DB-15", "DB-25",
            "DB-36", "RS-232C", "RS-422", "RS-423", "RS-485", 
            "RS-449", "V.35", 
            // 31  
            "X.21", "IEEE-488", "AUI", 
            "UPT Category 3", "UPT Category 4", "UPT Category 5", 
            "BNC", "RJ11", "RJ45", "Fiber MIC", "Apple AUI", 
            "Apple GeoPort", "PCI", "ISA", "EISA", "VESA", "PCMCIA", 
            "PCMCIA Type I", "PCMCIA Type II", "PCMCIA Type III", 
            // 51               
            "ZV Port", "CardBus", "USB", "IEEE 1394", "HIPPI", 
            "HSSDC (6 pins)", "GBIC", "DIN", "Mini-DIN", "Micro-DIN", 
            "PS/2", "Infrared", "HP-HIL", "Access.bus", "NuBus", 
            "Centronics", "Mini-Centronics", 
            "Mini-Centronics Type-14",
            "Mini-Centronics Type-20", "Mini-Centronics Type-26",
            // 71
            "Bus Mouse", "ADB", "AGP", "VME Bus", "VME64",
            "Proprietary", "Proprietary Processor Card Slot",
            "Proprietary Memory Card Slot", 
            "Proprietary I/O Riser Slot",
            "PCI-66MHZ", "AGP2X", "AGP4X", "PC-98", "PC-98-Hireso",
            "PC-H98", "PC-98Note", "PC-98Full", "SSA SCSI",
            "Circular", "On Board IDE Connector", 
            "On Board Floppy Connector", "9 Pin Dual Inline", 
            "25 Pin Dual Inline", "50 Pin Dual Inline",
            "68 Pin Dual Inline", "On Board Sound Connector", 
            "Mini-jack", "PCI-X", "Sbus IEEE 1396-1993 32 bit",
            // 100                
            "Sbus IEEE 1396-1993 64 bit", "MCA", "GIO", "XIO", 
            "HIO", "NGIO", "PMC", "MTRJ", "VF-45", "Future I/O",
            "SC", "SG", "Electrical", "Optical", "Ribbon", "GLM", 
            "1x9", "Mini SG", "LC", "HSSC",
            // 120 
            "VHDCI Shielded (68 pins)", "InfiniBand", "AGP8X"},
        MappingStrings {"MIF.DMTF|Bus Port|004.10"}, 
        ModelCorrespondence {
            "CIM_PhysicalConnector.OtherTypeDescription"} ]
    uint16 ConnectorType[];
    
    [Description (
        "A string describing the Connector - used when the "
        "ConnectorType property is set to 1 (\"Other\"). OtherType "
        "Description should be set to NULL when ConnectorType is any "
        "value other than 1."),
        ModelCorrespondence {"CIM_PhysicalConnector.ConnectorType"},
        MappingStrings {"MIF.DMTF|Bus Port|004.11"} ]
    string OtherTypeDescription;
   
};


// ===================================================================
// ConnectedTo
// ===================================================================
[Association, Version ("2.6.0"), Description (
    "The ConnectedTo association indicates that two or "
    "more PhysicalConnectors are connected together.") ] 
class CIM_ConnectedTo : CIM_Dependency {
    
    [Override ("Antecedent"), Description (
        "The Antecedent represents a PhysicalConnector that serves "
        "as one end of the connection.") ]
    CIM_PhysicalConnector REF Antecedent;
    
    [Override ("Dependent"), Description (
        "The Dependent represents another PhysicalConnector "
        "that serves as the other end of the connection.") ]
    CIM_PhysicalConnector REF Dependent;
};


// ===================================================================
// Slot
// ===================================================================
[Version ("2.7.0"), Description (
    "The Slot class represents Connectors into which Packages are "
    "inserted. For example, a PhysicalPackage that is a DiskDrive "
    "may be inserted into an SCA 'Slot'. As another example, "
    "a Card (subclass of PhysicalPackage) may be inserted into "
    "a 16-, 32-, or 64-bit expansion 'Slot' on a HostingBoard. "
    "PCI or PCMCIA Type III Slots are examples of the latter.") ]
class CIM_Slot : CIM_PhysicalConnector {
    
    [Override ("ConnectorType"),
        MappingStrings {"MIF.DMTF|System Slot|005.2"} ]
    uint16 ConnectorType[];
    
    [Override ("PoweredOn"), 
        MappingStrings {"MIF.DMTF|System Slot|005.13"} ]
    boolean PoweredOn;

    [Description (
        "Boolean indicating whether the Slot supports hot-plug of "
        "adapter Cards.") ]
    boolean SupportsHotPlug;
    
    [Description (
        "Maximum height of an adapter Card that can be inserted into "
        "the Slot, in inches."),
        Units ("Inches") ]
    real32 HeightAllowed;
    
    [Description (
        "Maximum length of an adapter Card that can be inserted into "
        "the Slot, in inches."),
        Units ("Inches") ]
    real32 LengthAllowed;
    
    [Description (
        "Maximum bus width of adapter Cards that can be inserted into "
        "this Slot, in bits. If the value is 'unknown', enter 0. If "
        "the value is other than 8, 16, 32, 64 or 128, enter 1."),
        Units ("Bits"),
        ValueMap {"0", "1", "8", "16", "32", "64", "128"},
        MappingStrings {"MIF.DMTF|System Slot|005.3"} ]
    uint16 MaxDataWidth;
    
    [Description (
        "An array of enumerated integers indicating the Vcc voltage "
        "supported by this Slot."),
        ValueMap {"0", "1", "2", "3"},
        Values {"Unknown", "Other", "3.3V", "5V"},
        MappingStrings {"MIF.DMTF|System Slot|005.9"} ]
    uint16 VccMixedVoltageSupport[];
    
    [Description (
        "An array of enumerated integers indicating the Vpp voltage "
        "supported by this Slot."),
        ValueMap {"0", "1", "2", "3", "4"},
        Values {"Unknown", "Other", "3.3V", "5V", "12V"},
        MappingStrings {"MIF.DMTF|System Slot|005.10"} ]
    uint16 VppMixedVoltageSupport[];
    
    [Description (
        "Maximum thermal dissipation of the Slot in milliwatts."),
        Units ("MilliWatts"),
        MappingStrings {"MIF.DMTF|System Slot|005.11"} ]
    uint32 ThermalRating;
    
    [Description (
        "Boolean indicating that this Slot is physically unique "
        "and may hold special types of hardware, e.g. a graphics "
        "processor slot. If set to TRUE, then the property, Special"
        "PurposeDescription (a string), should specify the nature of "
        "the uniqueness or purpose of the Slot."),
        ModelCorrespondence {"CIM_Slot.PurposeDescription"} ]
    boolean SpecialPurpose;
    
    [Description ("A free-form string describing that this Slot is "
        "physically unique and may hold special types of hardware. "
        "This property only has meaning when the corresponding "
        "boolean property, SpecialPurpose, is set to TRUE."),
        ModelCorrespondence {"CIM_Slot.SpecialPurpose"} ]
    string PurposeDescription;
    
    [Description ("The Number property indicates the physical slot "
        "number, which can be used as an index into a system "
        "slot table, whether or not that slot is physically occupied."),
        MappingStrings {"MIF.DMTF|System Slot|005.1"} ]
    uint16 Number;
    
    [Deprecated {"CIM_PhysicalElement.PoweredOn"}, Description (
        "A boolean indicating whether the Slot is currently "
        "powered (TRUE) or not (FALSE)."),
        MappingStrings {"MIF.DMTF|System Slot|005.13"} ]
    boolean Powered;
    
    [Description (
        "A boolean indicating whether the switch state of the Slot "
        "is currently open (TRUE) or closed (FALSE). This switch state "
        "determines whether the contents of the Slot can be "
        "hot-plugged."),
        MappingStrings {"MIF.DMTF|System Slot|005.15"} ]
    boolean OpenSwitch;
};


// ==================================================================
// SlotInSlot 
// ==================================================================
[Association, Version ("2.6.0"), Description (
    "Slots are special types of Connectors into which "
    "adapter Cards are typically inserted. The SlotInSlot "
    "relationship represents the ability of a special adapter to "
    "extend the existing Slot structure to enable otherwise "
    "incompatible Cards to be plugged into a Frame or Hosting"
    "Board. The adapter effectively creates a new Slot and can "
    "be thought of (conceptually) as a Slot in a Slot. This "
    "enables Cards that would otherwise be physically and/or "
    "electrically incompatible with the existing Slots to be "
    "supported, by interfacing to the Slot provided by the "
    "adapter. This has many practical uses. For example, "
    "networking boards are very expensive. As new hardware "
    "becomes available, Chassis and even Card configurations "
    "change. To protect the investment of their customers, "
    "networking vendors will manufacture special adapters "
    "that enable old Cards to fit into new Chassis or Hosting"
    "Boards and/or new Cards to fit into old. This is done using "
    "a special adapter that fits over one or more existing Slots "
    "and presents a new Slot into which the Card can plug.") ]
class CIM_SlotInSlot : CIM_ConnectedTo {
    
    [Override ("Antecedent"), Description (
        "The Antecedent represents the existing Slot(s) "
        "of the HostingBoard, or Frame that are being adapted "
        "to accommodate a Card that would otherwise not be "
        "physically and/or electrically compatible with it.") ]
    CIM_Slot REF Antecedent;
    
    [Override ("Dependent"), Max (1),
        Description ("The new Slot provided by the adapter board.") ]
    CIM_Slot REF Dependent;
};


// ==================================================================
// AdjacentSlots
// ==================================================================
[Association, Version ("2.6.0"), Description (
    "AdjacentSlots describes the layout of Slots on a "
    "HostingBoard or adapter Card.  Information like the distance "
    "between the Slots and whether they are 'shared' (if one is "
    "populated, then the other Slot can not be used), is conveyed "
    "as properties of the association.") ]
class CIM_AdjacentSlots {
    
    [Key, Description (
        "One of the adjacent Slots.") ]
    CIM_Slot REF SlotA;
    
    [Key, Description (
        "The 'other' adjacent Slot.") ]
    CIM_Slot REF SlotB;
    
    [Description (
        "The distance, in inches, between adjacent Slots."),
        Units ("Inches") ]
    real32 DistanceBetweenSlots;
    
    [Description ("Slots can be located in close proximity on Hosting"
        "Boards or other Cards, such that if one of these Slots is "
        "populated by an adapter Card, the other Slot must be left "
        "empty. This relationship is indicated by the SharedSlots "
        "boolean set to TRUE.") ]
    boolean SharedSlots;
};

// ==================================================================
// PackageInConnector 
// ==================================================================
[Association, Version ("2.6.0"), Description (
    "Adapter cards and other 'packaging' are plugged into System "
    "Connectors for power and/or to transfer data. This "
    "relationship is defined by PackageInConnector. For example, "
    "it would be used to describe the insertion of a daughtercard "
    "onto another Card. Various subclasses of PackageInConnector "
    "are also defined. PackageInSlot and its subclass, "
    "CardInSlot, are two examples of subclasses.") ]
class CIM_PackageInConnector : CIM_Dependency {
    
    [Override ("Antecedent"), Description (
        "The Connector into which the Package is inserted.") ]
    CIM_PhysicalConnector REF Antecedent;
    
    [Override ("Dependent"), Max (1), 
       Description ("The Package in the Connector.") ]
    CIM_PhysicalPackage REF Dependent;
};


// ==================================================================
// PackageInSlot 
// ==================================================================
[Association, Version ("2.6.0"), Description (
    "Complex networking devices often are Chassis-based. "
    "These Chassis allow for enhancement and/or augmentation of "
    "their base functionality by accepting additional Chassis "
    "devices, similar to accepting functionality in the form of "
    "adding Cards. This association models this capability.") ]
class CIM_PackageInSlot : CIM_PackageInConnector {
    
    [Override ("Antecedent"), Description (
        "The Slot into which the PhysicalPackage is inserted.") ]
    CIM_Slot REF Antecedent;
    
    [Override ("Dependent"), Max (1), Description (
        "The Package in the Slot.") ]
    CIM_PhysicalPackage REF Dependent;
};


// ==================================================================
// CardInSlot 
// ==================================================================
[Association, Version ("2.6.0"), Description (
    "Slots are special types of Connectors into which adapter "
    "Cards are inserted. This relationship of a Card in a Slot "
    "is made explicit using the CardInSlot association."),
    MappingStrings {"MIF.DMTF|System Slot|005.4"} ]
class CIM_CardInSlot : CIM_PackageInSlot {
    
    [Override ("Antecedent"), Description (
        "The Slot into which the Card is inserted.") ]
    CIM_Slot REF Antecedent;
    
    [Override ("Dependent"), Max (1), Description (
        "The Card in the Slot.") ]
    CIM_Card REF Dependent;
};


// ==================================================================
// ConnectorOnPackage 
// ==================================================================
[Association, Aggregation, Version ("2.6.0"), Description (
    "PhysicalPackages contain Connectors as well as other "
    "PhysicalElements. The ConnectorOnPackage association makes "
    "explicit the containment relationship between Connectors and "
    "Packages.") ]
class CIM_ConnectorOnPackage : CIM_Container {
    
    [Override ("GroupComponent"), Aggregate, Max (1),
        Description (
            "The PhysicalPackage that has a Connector.") ]
    CIM_PhysicalPackage REF GroupComponent;
    
    [Override ("PartComponent"), Description (
        "The PhysicalConnector.") ]
    CIM_PhysicalConnector REF PartComponent;
};


// ===================================================================
// end of file
// ===================================================================
