extern crate libc;
#[repr(C)]
#[derive(Copy)]
pub struct Struct_cpufreq_policy {
pub min: libc::c_ulong,
pub max: libc::c_ulong,
pub governor: *mut libc::c_char,
}
impl ::std::clone::Clone for Struct_cpufreq_policy {
fn clone(&self) -> Self { *self }
}
impl ::std::default::Default for Struct_cpufreq_policy {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy)]
pub struct Struct_cpufreq_available_governors {
pub governor: *mut libc::c_char,
pub next: *mut Struct_cpufreq_available_governors,
pub first: *mut Struct_cpufreq_available_governors,
}
impl ::std::clone::Clone for Struct_cpufreq_available_governors {
fn clone(&self) -> Self { *self }
}
impl ::std::default::Default for Struct_cpufreq_available_governors {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy)]
pub struct Struct_cpufreq_available_frequencies {
pub frequency: libc::c_ulong,
pub next: *mut Struct_cpufreq_available_frequencies,
pub first: *mut Struct_cpufreq_available_frequencies,
}
impl ::std::clone::Clone for Struct_cpufreq_available_frequencies {
fn clone(&self) -> Self { *self }
}
impl ::std::default::Default for Struct_cpufreq_available_frequencies {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy)]
pub struct Struct_cpufreq_affected_cpus {
pub cpu: libc::c_uint,
pub next: *mut Struct_cpufreq_affected_cpus,
pub first: *mut Struct_cpufreq_affected_cpus,
}
impl ::std::clone::Clone for Struct_cpufreq_affected_cpus {
fn clone(&self) -> Self { *self }
}
impl ::std::default::Default for Struct_cpufreq_affected_cpus {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy)]
pub struct Struct_cpufreq_stats {
pub frequency: libc::c_ulong,
pub time_in_state: libc::c_ulonglong,
pub next: *mut Struct_cpufreq_stats,
pub first: *mut Struct_cpufreq_stats,
}
impl ::std::clone::Clone for Struct_cpufreq_stats {
fn clone(&self) -> Self { *self }
}
impl ::std::default::Default for Struct_cpufreq_stats {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
extern "C" {
pub fn cpufreq_cpu_exists(cpu: libc::c_uint) -> libc::c_int;
pub fn cpufreq_get_freq_kernel(cpu: libc::c_uint) -> libc::c_ulong;
pub fn cpufreq_get_freq_hardware(cpu: libc::c_uint) -> libc::c_ulong;
pub fn cpufreq_get_transition_latency(cpu: libc::c_uint)
-> libc::c_ulong;
pub fn cpufreq_get_hardware_limits(cpu: libc::c_uint,
min: *mut libc::c_ulong,
max: *mut libc::c_ulong)
-> libc::c_int;
pub fn cpufreq_get_driver(cpu: libc::c_uint) -> *mut libc::c_char;
pub fn cpufreq_put_driver(ptr: *mut libc::c_char) -> ();
pub fn cpufreq_get_policy(cpu: libc::c_uint)
-> *mut Struct_cpufreq_policy;
pub fn cpufreq_put_policy(policy: *mut Struct_cpufreq_policy) -> ();
pub fn cpufreq_get_available_governors(cpu: libc::c_uint)
-> *mut Struct_cpufreq_available_governors;
pub fn cpufreq_put_available_governors(first:
*mut Struct_cpufreq_available_governors)
-> ();
pub fn cpufreq_get_available_frequencies(cpu: libc::c_uint)
-> *mut Struct_cpufreq_available_frequencies;
pub fn cpufreq_put_available_frequencies(first:
*mut Struct_cpufreq_available_frequencies)
-> ();
pub fn cpufreq_get_affected_cpus(cpu: libc::c_uint)
-> *mut Struct_cpufreq_affected_cpus;
pub fn cpufreq_put_affected_cpus(first: *mut Struct_cpufreq_affected_cpus)
-> ();
pub fn cpufreq_get_related_cpus(cpu: libc::c_uint)
-> *mut Struct_cpufreq_affected_cpus;
pub fn cpufreq_put_related_cpus(first: *mut Struct_cpufreq_affected_cpus)
-> ();
pub fn cpufreq_get_stats(cpu: libc::c_uint,
total_time: *mut libc::c_ulonglong)
-> *mut Struct_cpufreq_stats;
pub fn cpufreq_put_stats(stats: *mut Struct_cpufreq_stats) -> ();
pub fn cpufreq_get_transitions(cpu: libc::c_uint) -> libc::c_ulong;
pub fn cpufreq_set_policy(cpu: libc::c_uint,
policy: *mut Struct_cpufreq_policy)
-> libc::c_int;
pub fn cpufreq_modify_policy_min(cpu: libc::c_uint,
min_freq: libc::c_ulong)
-> libc::c_int;
pub fn cpufreq_modify_policy_max(cpu: libc::c_uint,
max_freq: libc::c_ulong)
-> libc::c_int;
pub fn cpufreq_modify_policy_governor(cpu: libc::c_uint,
governor: *mut libc::c_char)
-> libc::c_int;
pub fn cpufreq_set_frequency(cpu: libc::c_uint,
target_frequency: libc::c_ulong)
-> libc::c_int;
}