File: ext_sysfs_cpu.h

package info (click to toggle)
hashcat 7.1.2%2Bds1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 75,920 kB
  • sloc: lisp: 627,107; ansic: 431,312; perl: 30,157; cpp: 11,400; sh: 5,250; python: 2,504; makefile: 1,188
file content (57 lines) | stat: -rw-r--r-- 1,370 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
 * Author......: See docs/credits.txt
 * License.....: MIT
 */

#ifndef HC_EXT_SYSFS_CPU_H
#define HC_EXT_SYSFS_CPU_H

#include <stdbool.h>

static const char SYSFS_HWMON[] = "/sys/class/hwmon";

static const char SENSOR_CORETEMP[] = "coretemp";
static const char SENSOR_K10TEMP[]  = "k10temp";
static const char SENSOR_K8TEMP[]   = "k8temp";
static const char SENSOR_ACPITZ[]   = "acpitz";

static const char PROC_STAT[] = "/proc/stat";

typedef int HM_ADAPTER_SYSFS_CPU;

typedef void *SYSFS_CPU_LIB;

typedef struct hm_sysfs_cpu_lib
{
  // currently not using libudev, because it can only read values, not set them, so using /sys instead

  SYSFS_CPU_LIB lib;

} hm_sysfs_cpu_lib_t;

typedef struct
{
  unsigned long user;
  unsigned long nice;
  unsigned long system;
  unsigned long idle;
  unsigned long iowait;
  unsigned long irq;
  unsigned long softirq;
  unsigned long steal;
  unsigned long guest;
  unsigned long guest_nice;

} proc_stat_t;

typedef hm_sysfs_cpu_lib_t SYSFS_CPU_PTR;

bool sysfs_cpu_init (void *hashcat_ctx);
void sysfs_cpu_close (void *hashcat_ctx);
char *hm_SYSFS_CPU_get_syspath_hwmon (void);
int hm_SYSFS_CPU_get_temperature_current (void *hashcat_ctx, int *val);

bool read_proc_stat (void *hashcat_ctx, proc_stat_t *proc_stat);
int hm_SYSFS_CPU_get_utilization_current (void *hashcat_ctx, int *val);

#endif // HC_EXT_SYSFS_CPU_H