1
mirror of https://github.com/hashcat/hashcat synced 2024-11-13 17:28:58 +01:00
hashcat/include/ext_xnvctrl.h

98 lines
2.4 KiB
C

/**
* Author......: See docs/credits.txt
* License.....: MIT
*/
#ifndef _EXT_XNVCTRL_H
#define _EXT_XNVCTRL_H
/**
* Stuff from X11/Xlib.h
*/
typedef void *(*XOPENDISPLAY) (char *);
typedef int (*XCLOSEDISPLAY) (void *);
/**
* Declarations from NVCtrl.h
*/
#define NV_CTRL_TARGET_TYPE_GPU 1
#define NV_CTRL_TARGET_TYPE_COOLER 5 /* e.g., fan */
#define NV_CTRL_GPU_COOLER_MANUAL_CONTROL 319 /* RW-G */
#define NV_CTRL_GPU_COOLER_MANUAL_CONTROL_FALSE 0
#define NV_CTRL_GPU_COOLER_MANUAL_CONTROL_TRUE 1
#define NV_CTRL_THERMAL_COOLER_CURRENT_LEVEL 417 /* R--C */
#define NV_CTRL_THERMAL_COOLER_LEVEL 320 /* RW-C */
/*
* NV_CTRL_PCI_BUS - Returns the PCI bus number the specified device is using.
*/
#define NV_CTRL_PCI_BUS 239 /* R--GI */
/*
* NV_CTRL_PCI_DEVICE - Returns the PCI device number the specified device is
* using.
*/
#define NV_CTRL_PCI_DEVICE 240 /* R--GI */
/*
* NV_CTRL_PCI_FUNCTION - Returns the PCI function number the specified device
* is using.
*/
#define NV_CTRL_PCI_FUNCTION 241 /* R--GI */
/*
* NV_CTRL_GPU_CORE_THRESHOLD reflects the temperature at which the
* GPU is throttled to prevent overheating.
*/
#define NV_CTRL_GPU_CORE_THRESHOLD 61 /* R--G */
/**
* hashcat stuff from here
*/
typedef int HM_ADAPTER_XNVCTRL;
#if defined(_WIN32) || defined(__WIN32__)
#define XNVCTRL_API_CALL __stdcall
#else
#define XNVCTRL_API_CALL
#endif
typedef int (*XNVCTRL_API_CALL XNVCTRLQUERYTARGETCOUNT) (void *, int, int *);
typedef int (*XNVCTRL_API_CALL XNVCTRLQUERYTARGETATTRIBUTE) (void *, int, int, unsigned int, unsigned int, int *);
typedef void (*XNVCTRL_API_CALL XNVCTRLSETTARGETATTRIBUTE) (void *, int, int, unsigned int, unsigned int, int);
#if defined (_POSIX)
typedef void *XNVCTRL_LIB;
#else
typedef HINSTANCE XNVCTRL_LIB;
#endif
typedef struct hm_xnvctrl_lib
{
void *dpy;
XNVCTRL_LIB lib_x11;
XNVCTRL_LIB lib_xnvctrl;
XOPENDISPLAY XOpenDisplay;
XCLOSEDISPLAY XCloseDisplay;
XNVCTRLQUERYTARGETCOUNT XNVCTRLQueryTargetCount;
XNVCTRLQUERYTARGETATTRIBUTE XNVCTRLQueryTargetAttribute;
XNVCTRLSETTARGETATTRIBUTE XNVCTRLSetTargetAttribute;
} hm_xnvctrl_lib_t;
typedef hm_xnvctrl_lib_t XNVCTRL_PTR;
#endif // _EXT_XNVCTRL_H