class CIM_ActiveConnection : CIM_SAPSAPDependency {
    CIM_ServiceAccessPoint REF Antecedent;
    CIM_ServiceAccessPoint REF Dependent;
    boolean IsUnidirectional;
};

class CIM_AdminDomain : CIM_System {
    string NameFormat;
};

class CIM_Capabilities : CIM_ManagedElement { 
    [Key]
    string InstanceID;
    string ElementName;
};


class CIM_Collection : CIM_ManagedElement {   
};

class CIM_Component {
    [Key]
    CIM_ManagedElement REF GroupComponent;
    [Key]
    CIM_ManagedElement REF PartComponent;
};


class CIM_ComputerSystem : CIM_System {
    #CONST uint16 DEDICATED_NOT_DEDICATED = "0";
    #CONST uint16 DEDICATED_UNKNOWN = "1";
    #CONST uint16 DEDICATED_STORAGE = "3";
    #CONST uint16 DEDICATED_SWITCH = "5";
    #CONST uint16 DEDICATED_BRIDGE_EXTENDER = "19";
    string NameFormat;
    string OtherIdentifyingInfo[];
    string IdentifyingDescriptions[];
    uint16 Dedicated[];
    string OtherDedicatedDescriptions[];
    uint16 ResetCapability;
};


class CIM_ComputerSystemPackage : CIM_SystemPackaging {
    CIM_PhysicalPackage REF Antecedent;
    CIM_ComputerSystem REF Dependent;
    string PlatformGUID;
}; 


class CIM_ConnectivityCollection : CIM_SystemSpecificCollection {
   uint16 ConnectivityStatus;
};

class CIM_ConnectivityMembershipSettingData : CIM_SettingData {
	uint16 ConnectivityMemberType;
	string OtherConnectivityMemberType;
	string ConnectivityMemberID;
};

class CIM_Controller : CIM_LogicalDevice {
    datetime TimeOfLastReset;
    uint16 ProtocolSupported;
    uint32 MaxNumberControlled;  
    string ProtocolDescription;
};

class CIM_ControlledBy : CIM_DeviceConnection {
    CIM_Controller REF Antecedent;
    CIM_LogicalDevice REF Dependent;
    uint16 AccessState;
    datetime TimeOfDeviceReset;
    uint32 NumberOfHardResets;
    uint32 NumberOfSoftResets;
};

class CIM_Dependency {   
    [Key]
    CIM_ManagedElement REF Antecedent;   
    [Key]
    CIM_ManagedElement REF Dependent;   
};   

class CIM_DeviceConnection : CIM_Dependency {
    CIM_LogicalDevice REF Antecedent;
    CIM_LogicalDevice REF Dependent;
    uint64 NegotiatedSpeed;
    uint32 NegotiatedDataWidth;
};

class CIM_DeviceSAPImplementation : CIM_Dependency {
    CIM_LogicalDevice REF Antecedent;
    CIM_ServiceAccessPoint REF Dependent;
};

class CIM_DeviceSoftware : CIM_Dependency {
    CIM_SoftwareElement REF Antecedent;
    CIM_LogicalDevice REF Dependent;
    uint16 Purpose;
    string PurposeDescription;
    boolean LoadedOnDevice; 
    boolean UpgradeableOnDevice;
};

class CIM_ElementLocation {
    [Key]
    CIM_ManagedElement REF Element;
    [Key]
    CIM_Location REF PhysicalLocation;
};

class CIM_ElementSettingData {
    [Key]
    CIM_ManagedElement REF ManagedElement;
    [Key]
    CIM_SettingData REF SettingData;
    uint16 IsDefault;
    uint16 IsCurrent;
};

class CIM_EnabledLogicalElement : CIM_LogicalElement {
    uint16 EnabledState = 5;
    string OtherEnabledState;
    uint16 RequestedState = 5;
    uint16 EnabledDefault = 2;
	datetime TimeOfLastStateChange;
};

class CIM_FCPort : CIM_NetworkPort {
    uint16 PortType;
    uint16 SupportedCOS[];
    uint16 ActiveCOS[];
    uint16 SupportedFC4Types[];
    uint16 ActiveFC4Types[];
};

class CIM_HostedAccessPoint : CIM_Dependency {
    CIM_System REF Antecedent;
    CIM_ServiceAccessPoint REF Dependent;
};

class CIM_HostedCollection : CIM_Dependency {
    CIM_System REF Antecedent;
    CIM_SystemSpecificCollection REF Dependent;
};

class CIM_HostedService : CIM_Dependency {
    CIM_System REF Antecedent;
    CIM_Service REF Dependent;
};

class CIM_InstalledSoftwareElement {
    [Key] 
    CIM_SoftwareElement REF Software;
    [Key] 
    CIM_ComputerSystem REF System;
};

class CIM_Location : CIM_ManagedElement {
    [Key]
    string Name;
    [Key]
    string PhysicalPosition;
    string Address;
};

class CIM_LogicalDevice : CIM_EnabledLogicalElement {
    [Key]
    string SystemCreationClassName;
    [Key]
    string SystemName;
    [Key]
    string CreationClassName;
    [Key]
    string DeviceID;
    boolean PowerManagementSupported;
    uint16 Availability;
    uint32 LastErrorCode;
    string ErrorDescription;
    boolean ErrorCleared;
    string OtherIdentifyingInfo[];
    string IdentifyingDescriptions[];
    uint16 AdditionalAvailability[];
};  

class CIM_LogicalElement : CIM_ManagedSystemElement {
};

class CIM_LogicalPort : CIM_LogicalDevice {
    uint64 Speed;
    uint64 MaxSpeed;
    uint16 UsageRestriction;
	uint64 RequestedSpeed;
};

class CIM_LogicalPortGroup : CIM_SystemSpecificCollection {
    string Name;
    string NameFormat;
    string OtherNameFormat;
};

class CIM_ManagedElement {  
    string Caption;  
    string Description;    
    string ElementName;
};

class CIM_ManagedSystemElement : CIM_ManagedElement {
    datetime InstallDate;
    string Name;
    uint16 OperationalStatus[];
    string StatusDescriptions[];
};

class CIM_MemberOfCollection {   
    [Key]    
    CIM_Collection REF Collection;
    [Key]    
    CIM_ManagedElement REF Member;   
};

class CIM_NamedAddressCollection : CIM_SystemSpecificCollection { 
   string CollectionAlias; 
};

class CIM_NetworkPort : CIM_LogicalPort {
	#CONST uint16 LINKTECHNOLOGY_FC = "4";
    uint64 Speed;
    uint16 PortType;
    string OtherNetworkPortType;
    uint16 PortNumber;
    uint16 LinkTechnology;
    string OtherLinkTechnology;
    string PermanentAddress;
    string NetworkAddresses[]; 
    boolean FullDuplex;
    boolean AutoSense;
    uint64 SupportedMaximumTransmissionUnit;
    uint64 ActiveMaximumTransmissionUnit;
};

class CIM_PhysicalElement : CIM_ManagedSystemElement {
    [Key]
    string Tag;
    [Key]
    string CreationClassName;
    string ElementName;
    string Manufacturer;
    string Model;
    string SKU;
    string SerialNumber;
    string Version;
    string PartNumber;
    string OtherIdentifyingInfo;
    boolean PoweredOn;
    datetime ManufactureDate;
};

class CIM_PhysicalElementLocation : CIM_ElementLocation {
    CIM_PhysicalElement REF Element;
    CIM_Location REF PhysicalLocation;
};

class CIM_PhysicalPackage : CIM_PhysicalElement {
    boolean Removable;
    boolean Replaceable;
    boolean HotSwappable;
    real32 Height;
    real32 Depth;
    real32 Width;
    real32 Weight;
};

class CIM_PortController : CIM_Controller {
	#CONST uint16 CONTROLLERTYPE_FC = "4";
    uint16 ControllerType;
    string OtherControllerType;
    uint16 ControllerVersion;
};

class CIM_ProtocolEndpoint : CIM_ServiceAccessPoint {
	#CONST uint16 PROTOCOLIFTYPE_FIBRE_CHANNEL = "56";
    string Description;
    uint16 OperationalStatus[];
    uint16 EnabledState;
    datetime TimeOfLastStateChange;
    string NameFormat;
    uint16 ProtocolIFType;
    string OtherTypeDescription;
};

class CIM_Realizes : CIM_Dependency {
    CIM_PhysicalElement REF Antecedent;
    CIM_LogicalDevice REF Dependent;
};

class CIM_ReferencedProfile : CIM_Dependency { 
    CIM_RegisteredProfile REF Antecedent; 
    CIM_RegisteredProfile REF Dependent; 
}; 

class CIM_RegisteredProfile : CIM_ManagedElement { 
    #CONST uint16 REGISTEREDORGANIZATION_SNIA = "11";
    [Key]
    string InstanceID;
    uint16 RegisteredOrganization; 
    string OtherRegisteredOrganization; 
    string RegisteredName; 
    string RegisteredVersion; 
    uint16 AdvertiseTypes[];
    string AdvertiseTypeDescriptions[]; 
}; 

class CIM_RegisteredSubProfile : CIM_RegisteredProfile {
}; 

class CIM_RemoteServiceAccessPoint : CIM_ServiceAccessPoint {
	#CONST uint16 INFOFORMAT_HOST_NAME = "2";
	#CONST uint16 INFOFORMAT_IPV4_ADDRESS = "3";
	#CONST uint16 INFOFORMAT_URL = "200";
    uint16 InfoFormat;
   	String AccessInfo;
    string OtherInfoFormatDescription;
};

class CIM_SAPSAPDependency : CIM_Dependency {
    CIM_ServiceAccessPoint REF Antecedent;
    CIM_ServiceAccessPoint REF Dependent;
};

class CIM_Service : CIM_EnabledLogicalElement {
    [Key] 
    string SystemCreationClassName;
    [Key] 
    string SystemName;
    [Key]
    string CreationClassName;
    [Key] 
    string Name;
    string PrimaryOwnerName;
    string PrimaryOwnerContact;
    boolean Started;
};

class CIM_ServiceAccessPoint : CIM_EnabledLogicalElement {
    [Key] 
    string SystemCreationClassName;
    [Key] 
    string SystemName;
    [Key]
    string CreationClassName;
    [Key] 
    string Name;
};

class CIM_SettingData : CIM_ManagedElement {
    [Key]        
    string InstanceID;
    string ElementName;
};

class CIM_SoftwareElement : CIM_LogicalElement {
    [Key] 
    string Name;
    [Key] 
    string Version;
    [Key] 
    uint16 SoftwareElementState;
    [Key] 
    string SoftwareElementID;
    [Key] 
    uint16 TargetOperatingSystem;
    string OtherTargetOS;
    string Manufacturer;
    string BuildNumber;
    string SerialNumber;
    string CodeSet;
    string IdentificationCode;
    string LanguageEdition;
};

class CIM_SubProfileRequiresProfile : CIM_ReferencedProfile {
    CIM_RegisteredProfile REF Antecedent;
    CIM_RegisteredSubProfile REF Dependent; 
}; 


class CIM_System : CIM_EnabledLogicalElement {
    [Key]
    string CreationClassName;
    [Key] 
    string Name;
    string NameFormat;
    string PrimaryOwnerName;
    string PrimaryOwnerContact;
    string Roles[];
};

class CIM_SystemComponent : CIM_Component {
    CIM_System REF GroupComponent;
    CIM_ManagedSystemElement REF PartComponent;
}; 

class CIM_SystemDevice : CIM_SystemComponent {
    CIM_System REF GroupComponent;
    CIM_LogicalDevice REF PartComponent;
};


class CIM_SystemPackaging : CIM_Dependency {
    CIM_PhysicalElement REF Antecedent;
    CIM_System REF Dependent;
}; 

class CIM_SystemSpecificCollection : CIM_Collection {
    [Key]        
    string InstanceID;
};

class CIM_Zone : CIM_ConnectivityCollection { 
	#CONST uint16 ZONETYPE_UNKNOWN = "0";
	#CONST uint16 ZONETYPE_DEFAULT = "2";
	#CONST uint16 ZONETYPE_PROTOCOL = "3";
	#CONST uint16 ZONESUBTYPE_UNKNOWN = "0";
	#CONST uint16 ZONESUBTYPE_SCSI = "2";
	#CONST uint16 ZONESUBTYPE_VI = "3";
	#CONST uint16 ZONESUBTYPE_IP = "4";
    string ElementName;
    boolean Active;
    uint16 ZoneType;
    string OtherZoneTypeDescription;
    uint16 ZoneSubType;
    string OtherZoneSubTypeDescription;
};

class CIM_ZoneCapabilities : CIM_Capabilities {
    uint32 ZoneNameMaxLen;
    uint16 ZoneNameFormat;
    uint32 MaxNumZoneSets;
    uint32 MaxNumZones;
    uint32 MaxNumZoneMembers;
    uint32 MaxNumZonesPerZoneSet;
    uint32 MaxNumZoneAliases;
};

class CIM_ZoneMembershipSettingData : CIM_ConnectivityMembershipSettingData {
	#CONST uint16 CONNECTIVITYMEMBERTYPE_UNKNOWN = "0";
	#CONST uint16 CONNECTIVITYMEMBERTYPE_PERMANENTADDRESS = "2";
	#CONST uint16 CONNECTIVITYMEMBERTYPE_NETWORKADDRESS = "3";
	#CONST uint16 CONNECTIVITYMEMBERTYPE_SWITCHPORTID = "4";
	#CONST uint16 CONNECTIVITYMEMBERTYPE_LOGICALPORTGROUP = "5";
	uint16 ConnectivityMemberType;
};

class CIM_ZoneService : CIM_Service {
    #CONST uint16 SESSIONSTATE_UNKNOWN = "0";
    #CONST uint16 SESSIONSTATE_STARTING = "2";
    #CONST uint16 SESSIONSTATE_ENDED = "3";
    #CONST uint32 REQUESTEDSESSIONSTATE_START = "2";
    #CONST uint32 REQUESTEDSESSIONSTATE_END = "3";
    #CONST uint32 REQUESTEDSESSIONSTATE_TERMINATE = "4";
    #CONST uint32 REQUESTEDSESSIONSTATE_NO_CHANGE = "5";
    #CONST uint32 CREATEZONESET_RTN_SUCCESS = "0";
    #CONST uint32 CREATEZONESET_RTN_FAILED = "4";
    #CONST uint32 CREATEZONE_RTN_SUCCESS = "0";
    #CONST uint32 CREATEZONE_RTN_FAILED = "4";
    #CONST uint16 CREATEZONE_IN_ZONETYPE_UNKNOWN = "0";
    #CONST uint16 CREATEZONE_IN_ZONETYPE_DEFAULT = "2";
    #CONST uint16 CREATEZONE_IN_ZONETYPE_PROTOCOL = "3";
    #CONST uint16 CREATEZONE_IN_ZONESUBTYPE_UNKNOWN = "0";
    #CONST uint16 CREATEZONE_IN_ZONESUBTYPE_SCSI = "2";
    #CONST uint16 CREATEZONE_IN_ZONESUBTYPE_VI = "3";
    #CONST uint16 CREATEZONE_IN_ZONESUBTYPE_IP = "4";
    #CONST uint32 CREATEZONEALIAS_RTN_SUCCESS = "0";
    #CONST uint32 CREATEZONEALIAS_RTN_FAILED = "4";
    #CONST uint32 CREATEZONEMEMBERSHIPSETTINGDATA_RTN_SUCCESS = "0";
    #CONST uint32 CREATEZONEMEMBERSHIPSETTINGDATA_RTN_FAILED = "4";
    #CONST uint16 CREATEZONEMEMBERSHIPSETTINGDATA_IN_CONNECTIVITYMEMBERTYPE_UNKNOWN = "0";
    #CONST uint16 CREATEZONEMEMBERSHIPSETTINGDATA_IN_CONNECTIVITYMEMBERTYPE_PERMANENTADDRESS = "2";
    #CONST uint16 CREATEZONEMEMBERSHIPSETTINGDATA_IN_CONNECTIVITYMEMBERTYPE_NETWORKADDRESS = "3";
    #CONST uint16 CREATEZONEMEMBERSHIPSETTINGDATA_IN_CONNECTIVITYMEMBERTYPE_SWITCHPORTID = "4";
    #CONST uint16 CREATEZONEMEMBERSHIPSETTINGDATA_IN_CONNECTIVITYMEMBERTYPE_LOGICALPORTGROUP = "5";
    #CONST uint32 ADDZONE_RTN_SUCCESS = "0";
    #CONST uint32 ADDZONE_RTN_FAILED = "4";
    #CONST uint32 ADDZONEMEMBERSHIPSETTINGDATA_RTN_SUCCESS = "0";
    #CONST uint32 ADDZONEMEMBERSHIPSETTINGDATA_RTN_FAILED = "4";
    #CONST uint32 ADDZONEALIAS_RTN_SUCCESS = "0";
    #CONST uint32 ADDZONEALIAS_RTN_FAILED = "4";
    #CONST uint32 ACTIVATEZONESET_RTN_SUCCESS = "0";
    #CONST uint32 ACTIVATEZONESET_RTN_FAILED = "4";
    #CONST uint32 SESSIONCONTROL_RTN_SUCCESS = "0";
    #CONST uint32 SESSIONCONTROL_RTN_FAILED = "4";
    #CONST uint16 SESSIONCONTROL_IN_REQUESTEDSESSIONSTATE_START = "2";
    #CONST uint16 SESSIONCONTROL_IN_REQUESTEDSESSIONSTATE_END = "3";
    #CONST uint16 SESSIONCONTROL_IN_REQUESTEDSESSIONSTATE_TERMINATE = "4";
	uint16 SessionState = 4;
	uint32 RequestedSessionState = 5;
}; 

class CIM_ZoneSet : CIM_ConnectivityCollection {
    string ElementName;
    boolean Active;
};

class ITSANM_ActiveConnection : CIM_ActiveConnection {
};

class ITSANM_AdminDomain : CIM_AdminDomain {
};

class ITSANM_Component : CIM_Component {
};

class ITSANM_ComputerSystem : CIM_ComputerSystem {
};

class ITSANM_ComputerSystemPackage : CIM_ComputerSystemPackage {
};

class ITSANM_ConnectivityCollection : CIM_ConnectivityCollection {
};

class ITSANM_ControlledBy : CIM_ControlledBy {
};

class ITSANM_DeviceSAPImplementation : CIM_DeviceSAPImplementation {
};

class ITSANM_DeviceSoftware : CIM_DeviceSoftware {
};

class ITSANM_ElementSettingData : CIM_ElementSettingData {
};

class ITSANM_FCPort : CIM_FCPort {
};

class ITSANM_HostedAccessPoint : CIM_HostedAccessPoint {
};

class ITSANM_HostedCollection : CIM_HostedCollection {
};

class ITSANM_HostedService : CIM_HostedService {
};

class ITSANM_InstalledSoftwareElement : CIM_InstalledSoftwareElement {
};

class ITSANM_Location : CIM_Location {
};

class ITSANM_LogicalPortGroup : CIM_LogicalPortGroup {
};

class ITSANM_MemberOfCollection : CIM_MemberOfCollection {
};

class ITSANM_NamedAddressCollection : CIM_NamedAddressCollection {
};

class ITSANM_PhysicalElementLocation : CIM_PhysicalElementLocation {
};

class ITSANM_PhysicalPackage : CIM_PhysicalPackage {
};

class ITSANM_PortController : CIM_PortController {
};

class ITSANM_ProtocolEndpoint : CIM_ProtocolEndpoint {
};

class ITSANM_Realizes : CIM_Realizes {
};

class ITSANM_RegisteredProfile : CIM_RegisteredProfile { 
}; 

class ITSANM_RegisteredSubProfile : CIM_RegisteredSubProfile {
}; 

class ITSANM_RemoteServiceAccessPoint : CIM_RemoteServiceAccessPoint {
};

class ITSANM_SoftwareElement : CIM_SoftwareElement {
};

class ITSANM_SubProfileRequiresProfile : CIM_SubProfileRequiresProfile {
};

class ITSANM_SystemDevice : CIM_SystemDevice {
};

class ITSANM_Zone : CIM_Zone {
};

class ITSANM_ZoneCapabilities : CIM_ZoneCapabilities {
};

class ITSANM_ZoneMembershipSettingData : CIM_ZoneMembershipSettingData {
};

class ITSANM_ZoneService : CIM_ZoneService {
};

class ITSANM_ZoneSet : CIM_ZoneSet {
};

class ITSANM_CIMOM {
    #CONST uint32 GETCURRENTTOKENID_RTN_SUCCESS = "0";
    #CONST uint32 GETCURRENTTOKENID_RTN_FAILED = "4";
    #CONST uint32 SETCURRENTTOKENID_RTN_SUCCESS = "0";
    #CONST uint32 SETCURRENTTOKENID_RTN_FAILED = "4";
    #CONST uint32 RESETTIMEOUTOFCURRENTTOKENID_RTN_SUCCESS = "0";
    #CONST uint32 RESETTIMEOUTOFCURRENTTOKENID_RTN_FAILED = "4";
};