MMCT TEAM
Server IP : 82.112.229.145  /  Your IP : 3.142.98.60
Web Server : LiteSpeed
System : Linux in-mum-web1672.main-hosting.eu 5.14.0-427.31.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Aug 15 14:47:52 EDT 2024 x86_64
User : u848902883 ( 848902883)
PHP Version : 8.1.29
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF
Directory (0755) :  /home/../bin/../include/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/../bin/../include/powercap.h
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *  (C) 2016 SUSE Software Solutions GmbH
 *           Thomas Renninger <trenn@suse.de>
 */

#ifndef __CPUPOWER_RAPL_H__
#define __CPUPOWER_RAPL_H__

#define PATH_TO_POWERCAP "/sys/devices/virtual/powercap"
#define PATH_TO_RAPL "/sys/devices/virtual/powercap/intel-rapl"
#define PATH_TO_RAPL_CLASS "/sys/devices/virtual/powercap/intel-rapl"

#define POWERCAP_MAX_CHILD_ZONES 10
#define POWERCAP_MAX_TREE_DEPTH 10

#define MAX_LINE_LEN 4096
#define SYSFS_PATH_MAX 255

#include <stdint.h>

struct powercap_zone {
	char name[MAX_LINE_LEN];
	/*
	 * sys_name relative to PATH_TO_POWERCAP,
	 * do not forget the / in between
	 */
	char sys_name[SYSFS_PATH_MAX];
	int tree_depth;
	struct powercap_zone *parent;
	struct powercap_zone *children[POWERCAP_MAX_CHILD_ZONES];
	/* More possible caps or attributes to be added? */
	uint32_t has_power_uw:1,
		 has_energy_uj:1;

};

int powercap_walk_zones(struct powercap_zone *zone,
			int (*f)(struct powercap_zone *zone));

struct powercap_zone *powercap_init_zones(void);
int powercap_get_enabled(int *mode);
int powercap_set_enabled(int mode);
int powercap_get_driver(char *driver, int buflen);

int powercap_get_max_energy_range_uj(struct powercap_zone *zone, uint64_t *val);
int powercap_get_energy_uj(struct powercap_zone *zone, uint64_t *val);
int powercap_get_max_power_range_uw(struct powercap_zone *zone, uint64_t *val);
int powercap_get_power_uw(struct powercap_zone *zone, uint64_t *val);
int powercap_zone_get_enabled(struct powercap_zone *zone, int *mode);
int powercap_zone_set_enabled(struct powercap_zone *zone, int mode);


#endif /* __CPUPOWER_RAPL_H__ */

MMCT - 2023