Drop dependencies on non-distributable ADL/NVML headers. The needed glue
[hashcat.git] / include / ext_ADL.h
index 1e5e86a..6490d97 100644 (file)
 
 #include <common.h>
 
-#include <adl_sdk.h>
+/**
+ * Declarations from adl_sdk.h and subheaders
+ */
+
+#define ADL_OK                                  0
+#define ADL_ERR                                 -1
+#define ADL_ERR_NOT_SUPPORTED                   -8
+
+#define ADL_MAX_PATH                            256
+
+#define ADL_DL_FANCTRL_SUPPORTS_PERCENT_READ    1
+#define ADL_DL_FANCTRL_SUPPORTS_PERCENT_WRITE   2
+#define ADL_DL_FANCTRL_SPEED_TYPE_PERCENT       1
+#define ADL_DL_FANCTRL_FLAG_USER_DEFINED_SPEED  1
+
+#define ADL_OD6_SETSTATE_PERFORMANCE            0x00000001
+#define ADL_OD6_GETSTATEINFO_CUSTOM_PERFORMANCE 0x00000004
+#define ADL_OD6_FANSPEED_TYPE_PERCENT           0x00000001
+
+typedef struct AdapterInfo
+{
+  int  iSize;
+  int  iAdapterIndex;
+  char strUDID[ADL_MAX_PATH];
+  int  iBusNumber;
+  int  iDeviceNumber;
+  int  iFunctionNumber;
+  int  iVendorID;
+  char strAdapterName[ADL_MAX_PATH];
+  char strDisplayName[ADL_MAX_PATH];
+  int  iPresent;
+
+#if defined (_WIN32) || defined (_WIN64)
+  int  iExist;
+  char strDriverPath[ADL_MAX_PATH];
+  char strDriverPathExt[ADL_MAX_PATH];
+  char strPNPString[ADL_MAX_PATH];
+  int  iOSDisplayIndex;
+#endif /* (_WIN32) || (_WIN64) */
+
+#if defined (__linux__)
+  int  iXScreenNum;
+  int  iDrvIndex;
+  char strXScreenConfigName[ADL_MAX_PATH];
+#endif /* (__linux__) */
+} AdapterInfo, *LPAdapterInfo;
+
+typedef struct ADLThermalControllerInfo
+{
+  int iSize;
+  int iThermalDomain;
+  int iDomainIndex;
+  int iFlags;
+} ADLThermalControllerInfo;
+
+typedef struct ADLTemperature
+{
+  int iSize;
+  int iTemperature;
+} ADLTemperature;
+
+typedef struct ADLFanSpeedInfo
+{
+  int iSize;
+  int iFlags;
+  int iMinPercent;
+  int iMaxPercent;
+  int iMinRPM;
+  int iMaxRPM;
+} ADLFanSpeedInfo;
+
+typedef struct ADLFanSpeedValue
+{
+  int iSize;
+  int iSpeedType;
+  int iFanSpeed;
+  int iFlags;
+} ADLFanSpeedValue;
+
+typedef struct ADLDisplayID
+{
+  int iDisplayLogicalIndex;
+  int iDisplayPhysicalIndex;
+  int iDisplayLogicalAdapterIndex;
+  int iDisplayPhysicalAdapterIndex;
+} ADLDisplayID, *LPADLDisplayID;
+
+typedef struct ADLDisplayInfo
+{
+  ADLDisplayID displayID;
+  int  iDisplayControllerIndex;
+  char strDisplayName[ADL_MAX_PATH];
+  char strDisplayManufacturerName[ADL_MAX_PATH];
+  int  iDisplayType;
+  int  iDisplayOutputType;
+  int  iDisplayConnector;
+  int  iDisplayInfoMask;
+  int  iDisplayInfoValue;
+} ADLDisplayInfo, *LPADLDisplayInfo;
+
+typedef struct ADLBiosInfo
+{
+  char strPartNumber[ADL_MAX_PATH];
+  char strVersion[ADL_MAX_PATH];
+  char strDate[ADL_MAX_PATH];
+} ADLBiosInfo, *LPADLBiosInfo;
+
+typedef struct ADLPMActivity
+{
+  int iSize;
+  int iEngineClock;
+  int iMemoryClock;
+  int iVddc;
+  int iActivityPercent;
+  int iCurrentPerformanceLevel;
+  int iCurrentBusSpeed;
+  int iCurrentBusLanes;
+  int iMaximumBusLanes;
+  int iReserved;
+} ADLPMActivity;
+
+typedef struct ADLODParameterRange
+{
+  int iMin;
+  int iMax;
+  int iStep;
+} ADLODParameterRange;
+
+typedef struct ADLODParameters
+{
+  int iSize;
+  int iNumberOfPerformanceLevels;
+  int iActivityReportingSupported;
+  int iDiscretePerformanceLevels;
+  int iReserved;
+  ADLODParameterRange sEngineClock;
+  ADLODParameterRange sMemoryClock;
+  ADLODParameterRange sVddc;
+} ADLODParameters;
+
+typedef struct ADLODPerformanceLevel
+{
+  int iEngineClock;
+  int iMemoryClock;
+  int iVddc;
+} ADLODPerformanceLevel;
+
+typedef struct ADLODPerformanceLevels
+{
+  int iSize;
+  int iReserved;
+  ADLODPerformanceLevel aLevels [1];
+} ADLODPerformanceLevels;
+
+typedef struct ADLOD6FanSpeedInfo
+{
+  int iSpeedType;
+  int iFanSpeedPercent;
+  int iFanSpeedRPM;
+  int iExtValue;
+  int iExtMask;
+} ADLOD6FanSpeedInfo;
+
+typedef struct ADLOD6FanSpeedValue
+{
+  int iSpeedType;
+  int iFanSpeed;
+  int iExtValue;
+  int iExtMask;
+} ADLOD6FanSpeedValue;
+
+typedef struct ADLOD6CurrentStatus
+{
+  int iEngineClock;
+  int iMemoryClock;
+  int iActivityPercent;
+  int iCurrentPerformanceLevel;
+  int iCurrentBusSpeed;
+  int iCurrentBusLanes;
+  int iMaximumBusLanes;
+  int iExtValue;
+  int iExtMask;
+} ADLOD6CurrentStatus;
+
+typedef struct ADLOD6ParameterRange
+{
+  int iMin;
+  int iMax;
+  int iStep;
+} ADLOD6ParameterRange;
+
+typedef struct ADLOD6Capabilities
+{
+  int iCapabilities;
+  int iSupportedStates;
+  int iNumberOfPerformanceLevels;
+  ADLOD6ParameterRange sEngineClockRange;
+  ADLOD6ParameterRange sMemoryClockRange;
+  int iExtValue;
+  int iExtMask;
+} ADLOD6Capabilities;
+
+typedef struct ADLOD6PerformanceLevel
+{
+  int iEngineClock;
+  int iMemoryClock;
+} ADLOD6PerformanceLevel;
+
+typedef struct ADLOD6StateInfo
+{
+  int iNumberOfPerformanceLevels;
+  int iExtValue;
+  int iExtMask;
+  ADLOD6PerformanceLevel aLevels [1];
+} ADLOD6StateInfo;
+
+typedef struct ADLOD6PowerControlInfo
+{
+  int iMinValue;
+  int iMaxValue;
+  int iStepValue;
+  int iExtValue;
+  int iExtMask;
+} ADLOD6PowerControlInfo;
+
+#if !(defined (_WIN32) || defined (_WIN64))
+#define __stdcall
+#endif
+
+typedef void* (__stdcall *ADL_MAIN_MALLOC_CALLBACK )( int );
+
+/*
+ * End of declarations from adl_sdk.h and subheaders
+ **/
 
 typedef int HM_ADAPTER_AMD;