     };
     
     
+    /**
+    Temperature units
+    */
+    public enum TMP_UNIT {
+        case Celsius
+        case Fahrenheit
+        case Kelvin
+    }
+    
+    
     //--------------------------------------------------------------------------
     // MARK: PRIVATE ENUMS
     //--------------------------------------------------------------------------

        }
        

        // Second call to AppleSMC - now we can get the data
        // TODO: Check that dataSize is the same as given from user
        inputStruct.keyInfo.dataSize = outputStruct.keyInfo.dataSize
        inputStruct.data8 = UInt8(Selector.kSMCWriteKey.toRaw())

        
        return (lookup ?? err)
    }
    
    
    //--------------------------------------------------------------------------
    // MARK: PRIVATE METHODS - HELPERS - TMP CONVERTS
    //--------------------------------------------------------------------------
    
    
    /**
    Celsius to Fahrenheit
    */
    public func toFahrenheit(tmp : Double) -> Double {
        return (tmp * 1.8) + 32
    }
    
    
    /**
    Celsius to Kelvin
    */
    public func toKelvin(tmp : Double) ->Double {
        return tmp + 273.15
    }
}
