Class SmcUtil

java.lang.Object
oshi.util.platform.mac.SmcUtil

@ThreadSafe public final class SmcUtil extends Object
Provides access to SMC calls on macOS
  • Field Details

  • Method Details

    • smcOpen

      public static com.sun.jna.platform.mac.IOKit.IOConnect smcOpen()
      Open a connection to SMC.
      Returns:
      The connection if successful, null if failure
    • smcClose

      public static int smcClose(com.sun.jna.platform.mac.IOKit.IOConnect conn)
      Close connection to SMC.
      Parameters:
      conn - The connection
      Returns:
      0 if successful, nonzero if failure
    • smcGetFloat

      public static double smcGetFloat(com.sun.jna.platform.mac.IOKit.IOConnect conn, String key)
      Get a value from SMC which is in a floating point datatype (SP78, FPE2, FLT)
      Parameters:
      conn - The connection
      key - The key to retrieve
      Returns:
      Double representing the value
    • smcGetLong

      public static long smcGetLong(com.sun.jna.platform.mac.IOKit.IOConnect conn, String key)
      Get a 64-bit integer value from SMC
      Parameters:
      conn - The connection
      key - The key to retrieve
      Returns:
      Long representing the value
    • smcGetKeyInfo

      public static int smcGetKeyInfo(com.sun.jna.platform.mac.IOKit.IOConnect conn, IOKit.SMCKeyData inputStructure, IOKit.SMCKeyData outputStructure)
      Get cached keyInfo if it exists, or generate new keyInfo
      Parameters:
      conn - The connection
      inputStructure - Key data input
      outputStructure - Key data output
      Returns:
      0 if successful, nonzero if failure
    • smcReadKey

      public static int smcReadKey(com.sun.jna.platform.mac.IOKit.IOConnect conn, String key, IOKit.SMCVal val)
      Read a key from SMC
      Parameters:
      conn - The connection
      key - Key to read
      val - Structure to receive the result
      Returns:
      0 if successful, nonzero if failure
    • smcCall

      public static int smcCall(com.sun.jna.platform.mac.IOKit.IOConnect conn, int index, IOKit.SMCKeyData inputStructure, IOKit.SMCKeyData outputStructure)
      Call SMC
      Parameters:
      conn - The connection
      index - Kernel index
      inputStructure - Key data input
      outputStructure - Key data output
      Returns:
      0 if successful, nonzero if failure