freenet.support.CPUInformation

## Class CPUID

- java.lang.Object
- - freenet.support.CPUInformation.CPUID

-     public class CPUID
      extends Object

  Author:
    Iakin A class for retrieveing details about the CPU using the CPUID assembly instruction. A good resource for information about the CPUID instruction can be found here: http://www.paradicesoftware.com/specs/cpuid/index.htm free (adj.): unencumbered; not under the control of others Written by Iakin in 2004 and released into the public domain with no warranty of any kind, either expressed or implied. It probably won't make your computer catch on fire, or eat your children, but it might. Use at your own risk.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected static class` | `CPUID.CPUIDResult`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CPUID()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) static int` | `getCPUExtendedFamily()`
    `(package private) static int` | `getCPUExtendedModel()`
    `(package private) static int` | `getCPUFamily()`
    `(package private) static int` | `getCPUModel()`
    `(package private) static int` | `getCPUStepping()`
    `(package private) static int` | `getCPUType()`
    `(package private) static String` | `getCPUVendorID()`
    `(package private) static int` | `getECXCPUFlags()`
    `(package private) static int` | `getEDXCPUFlags()`
    `(package private) static int` | `getExtendedEBXCPUFlags()`
    `(package private) static int` | `getExtendedECXCPUFlags()`
    `(package private) static int` | `getExtendedEDXCPUFlags()`
    `static CPUInfo` | `getInfo()` Returns a CPUInfo item for the current type of CPU If I could I would declare this method in a interface named CPUInfoProvider and implement that interface in this class.
    `static void` | `main(String[] args)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CPUID

          public CPUID()

  - ### Method Detail

    - #### getCPUVendorID

          static String getCPUVendorID()

    - #### getCPUFamily

          static int getCPUFamily()

    - #### getCPUModel

          static int getCPUModel()

    - #### getCPUExtendedModel

          static int getCPUExtendedModel()

    - #### getCPUType

          static int getCPUType()

    - #### getCPUExtendedFamily

          static int getCPUExtendedFamily()

    - #### getCPUStepping

          static int getCPUStepping()

    - #### getEDXCPUFlags

          static int getEDXCPUFlags()

    - #### getECXCPUFlags

          static int getECXCPUFlags()

    - #### getExtendedEBXCPUFlags

          static int getExtendedEBXCPUFlags()

    - #### getExtendedECXCPUFlags

          static int getExtendedECXCPUFlags()

    - #### getExtendedEDXCPUFlags

          static int getExtendedEDXCPUFlags()

      Since:
        0.8.7

    - #### getInfo

          public static CPUInfo getInfo()
                                 throws UnknownCPUException

      Returns a CPUInfo item for the current type of CPU If I could I would declare this method in a interface named CPUInfoProvider and implement that interface in this class. This would make it easier for other people to understand that there is nothing preventing them from coding up new providers, probably using other detection methods than the x86-only CPUID instruction
      Throws:
        `UnknownCPUException`

    - #### main

          public static void main(String[] args)