[][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, 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.

Examples

#include "battery_ffi.h"

void main() {
   Manager *manager = battery_manager_new();
   Batteries *iterator = battery_manager_iter(manager);
   while (true) {
       Battery *battery = battery_iterator_next(iterator);
       if (battery == NULL) {
           break;
       }

       // Use some `battery_get_*` functions here

       battery_free(battery);
   }

   battery_iterator_free(iterator);
   battery_manager_free(manager);
}

Enums

State

Possible battery states.

Technology

Possible battery technologies.

Functions

battery_free

Frees battery instance.

battery_get_capacity

Returns battery capacity in 0.0..100.0 percents range.

battery_get_cycle_count

Returns battery cycles count.

battery_get_energy

Returns battery energy (in mWh).

battery_get_energy_full

Returns battery energy (in mWh) when it is considered full.

battery_get_energy_full_design

Returns battery energy (in mWh) designed to hold when it is considered full.

battery_get_energy_rate

Returns battery energy rate (in mW).

battery_get_model

Returns battery model.

battery_get_percentage

Returns battery percentage.

battery_get_serial_number

Returns battery serial number.

battery_get_state

Returns battery state.

battery_get_technology

Returns battery technology.

battery_get_temperature

Returns battery temperature.

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 mV)

battery_iterator_free

Frees previously created batteries iterator.

battery_iterator_next

Gets next iteration over batteries iterator.

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.