Initial commit
[hashcat.git] / include / ext_nvapi.h
1 /**
2 * Author......: Jens Steube <jens.steube@gmail.com>
3 * License.....: MIT
4 */
5
6 #ifndef EXT_NVAPI_H
7 #define EXT_NVAPI_H
8
9 #include <common.h>
10
11 // Just annotations (they do nothing special)
12 #ifndef __success
13 #define __success(x)
14 #endif
15 #ifndef __in
16 #define __in
17 #endif
18 #ifndef __out
19 #define __out
20 #endif
21 #ifndef __in_ecount
22 #define __in_ecount(x)
23 #endif
24 #ifndef __out_ecount
25 #define __out_ecount(x)
26 #endif
27 #ifndef __in_opt
28 #define __in_opt
29 #endif
30 #ifndef __out_opt
31 #define __out_opt
32 #endif
33 #ifndef __inout
34 #define __inout
35 #endif
36 #ifndef __inout_opt
37 #define __inout_opt
38 #endif
39 #ifndef __inout_ecount
40 #define __inout_ecount(x)
41 #endif
42 #ifndef __inout_ecount_full
43 #define __inout_ecount_full(x)
44 #endif
45 #ifndef __inout_ecount_part_opt
46 #define __inout_ecount_part_opt(x,y)
47 #endif
48 #ifndef __inout_ecount_full_opt
49 #define __inout_ecount_full_opt(x,y)
50 #endif
51 #ifndef __out_ecount_full_opt
52 #define __out_ecount_full_opt(x)
53 #endif
54
55 #include <nvapi.h>
56
57 typedef NvPhysicalGpuHandle HM_ADAPTER;
58
59 int hc_NvAPI_EnumPhysicalGPUs (NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount);
60 int hc_NvAPI_GPU_GetThermalSettings (NvPhysicalGpuHandle hPhysicalGpu, NvU32 sensorIndex, NV_GPU_THERMAL_SETTINGS *pThermalSettings);
61 int hc_NvAPI_GPU_GetTachReading (NvPhysicalGpuHandle hPhysicalGPU, NvU32 *pValue);
62 int hc_NvAPI_GPU_GetDynamicPstatesInfoEx (NvPhysicalGpuHandle hPhysicalGpu, NV_GPU_DYNAMIC_PSTATES_INFO_EX *pDynamicPstatesInfoEx);
63
64 #endif