aboutsummaryrefslogtreecommitdiff
path: root/devices/ahci.h
blob: 839b56ecd9965c65f554914c569704b9c10cacbf (plain)
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
#ifndef _INCLUDE_GUARD_AHCI_H
#define _INCLUDE_GUARD_AHCI_H


#include "device.h"
#include <stdint.h>

class ahci: public device {
	uint64_t start_active, end_active;
	uint64_t start_partial, end_partial;
	uint64_t start_slumber, end_slumber;
	char sysfs_path[4096];
	char name[4096];
public:

	ahci(char *_name, char *path);

	virtual void start_measurement(void);
	virtual void end_measurement(void);

	virtual double	utilization(void); /* percentage */

	virtual const char * class_name(void) { return "ahci";};

	virtual const char * device_name(void);
	virtual double power_usage(struct result_bundle *result, struct parameter_bundle *bundle);
};

extern void create_all_ahcis(void);


#endif