summaryrefslogtreecommitdiffstats
path: root/mof/LMI_Fan.mof
diff options
context:
space:
mode:
Diffstat (limited to 'mof/LMI_Fan.mof')
-rw-r--r--mof/LMI_Fan.mof106
1 files changed, 106 insertions, 0 deletions
diff --git a/mof/LMI_Fan.mof b/mof/LMI_Fan.mof
new file mode 100644
index 0000000..caee936
--- /dev/null
+++ b/mof/LMI_Fan.mof
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2012 Michal Minar <miminar@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+[ Provider("cmpi:cmpiCura_Fan") ]
+class LMI_Fan: CIM_Fan
+{
+ [ Key, Override("DeviceID"),
+ Description("Uniquely identifies fan. It is a composition of "
+ "SysPath and Name glued with slash ('/').") ]
+ string DeviceID;
+
+ [ Override("Name"),
+ Description("Name of fan provided by system.") ]
+ string Name;
+
+ [ Description("Array of fan features, that are exposed through system "
+ " interface. In other words: those that are readible/writable."),
+ ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" },
+ Values { "MinSpeed", "MaxSpeed", "Divisor", "Pulses", "Beep",
+ "Alarm", "MinAlarm", "MaxAlarm" }
+ ]
+ uint16 AccessibleFeatures[];
+
+ [ Description("Minimum speed value."), Write,
+ Units("Revolutions per Minute") ]
+ uint64 MinSpeed;
+
+ [ Description("Maximum speed value."), Write,
+ Units("Revolutions per Minute") ]
+ uint64 MaxSpeed;
+
+ [ Description("Fan divisisor. It affects Minimum and Maximum speed value "
+ "and accuracy of readings. "
+ "The drivers account for the 'fan divisor' in their calculation "
+ "of RPM. So changing the fan divisor will NOT change the "
+ "nominal RPM reading, it will only affect the minimum and maximum "
+ "readings and the accuracy of the readings. "
+ "The actual formula is RPM = (60 * 22500) / (count * divisor)"),
+ Write ]
+ uint32 Divisor;
+
+ [ Description("Number of tachometer pulses per fan revolution. "
+ "Integer value, typically between 1 and 4. "
+ "This value is a characteristic of the fan connected to the "
+ "device's input, so it has to be set in accordance with the fan "
+ "model."),
+ Write ]
+ uint32 Pulses;
+
+ [ Description("This indicates, whether a PC's speaker should beep "
+ "when an alarm occurs."),
+ Write ]
+ boolean Beep;
+
+ [ Description("ALARM warning indicating, that current speed is out of "
+ "range. This information is supplied by fan's chip driver.") ]
+ boolean Alarm;
+
+ [ Description("ALARM warning indicating, that current speed is below "
+ "the critical level. This information is supplied by fan's chip "
+ "driver.") ]
+ boolean MinAlarm;
+
+ [ Description("ALARM warning indicating, that current speed is above "
+ "the critical level. This information is supplied by fan's chip "
+ "driver.") ]
+ boolean MaxAlarm;
+};
+
+[ Provider("cmpi:cmpiCura_Fan") ]
+class LMI_FanSensor: CIM_NumericSensor
+{
+ [ Key, Override("DeviceID"),
+ Description("Uniquely identifies fan. It is a composition of "
+ "SysPath and Name glued with slash ('/').") ]
+ string DeviceID;
+
+ [ Override("Name"),
+ Description("Name of fan provided by system.") ]
+ string Name;
+};
+
+[ Association,
+ Provider("cmpi:cmpiCura_Fan") ]
+class LMI_FanAssociatedSensor: CIM_AssociatedSensor
+{
+ [ Override("Antecedent") ]
+ LMI_FanSensor REF Antecedent;
+
+ [ Override("Dependent") ]
+ LMI_Fan REF Dependent;
+};