[−][src]Crate battery_ffi
This crate provides C ABI interface for battery crate.
Bindings generation
Among library creation this crate generates battery_ffi.h
file, enabled by default by cbindgen
feature,
which might be useful for automatic bindings generation or just with plain C
/C++
development.
After build it will be located somewhere at target/*/build/battery-ffi-*/out/
,
depending on build profile (debug
/release
) and build hash.
Disabling cbindgen
feature might speed up compilation a little bit,
especially if you don't need the header file.
Examples
#include "battery_ffi.h"
void main() {
Manager *manager = battery_manager_new();
// .. handle `manager == NULL` here ..
Batteries *iterator = battery_manager_iter(manager);
// .. handle `iterator == NULL` here ..
while (true) {
Battery *battery = battery_iterator_next(iterator);
// .. handle possible error here ..
if (battery == NULL) {
break;
}
// Use some `battery_get_*` functions here
battery_free(battery);
}
battery_iterator_free(iterator);
battery_manager_free(manager);
}
Also, check the examples/
directory in the repository for examples with C and Python.
Enums
State | Possible battery states. |
Technology | Possible battery technologies. |
Functions
battery_free⚠ | Frees battery instance. |
battery_get_cycle_count⚠ | Returns battery cycles count. |
battery_get_energy⚠ | Returns battery energy (in |
battery_get_energy_full⚠ | Returns battery energy (in |
battery_get_energy_full_design⚠ | Returns battery energy (in |
battery_get_energy_rate⚠ | Returns battery energy rate (in |
battery_get_model⚠ | Returns battery model. |
battery_get_serial_number⚠ | Returns battery serial number. |
battery_get_state⚠ | Returns battery state. |
battery_get_state_of_charge⚠ | Returns battery state of charge as a percentage value from |
battery_get_state_of_health⚠ | Returns battery state of health as a percentage value from |
battery_get_technology⚠ | Returns battery technology. |
battery_get_temperature⚠ | Returns battery temperature in Kelvin. |
battery_get_time_to_empty⚠ | Returns battery time to empty. |
battery_get_time_to_full⚠ | Returns battery time to full. |
battery_get_vendor⚠ | Returns battery vendor. |
battery_get_voltage⚠ | Returns battery voltage (in |
battery_have_last_error | Checks if there was an error before. |
battery_iterator_free⚠ | Frees previously created batteries iterator. |
battery_iterator_next⚠ | Gets next iteration over batteries iterator. |
battery_last_error_length | Gets error message length if any error had occurred. |
battery_last_error_message⚠ | Fills passed buffer with an error message. |
battery_manager_free⚠ | Frees manager instance. |
battery_manager_iter⚠ | Creates an iterator over batteries from manager instance. |
battery_manager_new | Creates new batteries manager instance. |
battery_manager_refresh⚠ | Refreshes battery information. |
battery_str_free⚠ | Frees battery information string value. |
Type Definitions
Batteries | Opaque struct representing batteries iterator. |
Battery | Opaque struct representing battery. |
Manager | Opaque struct representing battery manager. |