libacpi.h

Go to the documentation of this file.
00001 /*
00002  * (C)opyright 2007 Nico Golde <nico@ngolde.de>
00003  * See LICENSE file for license details
00004  */
00005 
00011 #ifndef __LIBACPI_H__
00012 #define __LIBACPI_H__
00013 
00014 #define PROC_ACPI "/proc/acpi/"
00015 #define LINE_MAX 256
00016 #define MAX_NAME 512
00017 #define MAX_BUF 1024
00018 #define MAX_ITEMS 10
00019 
00024 enum {
00025         ITEM_EXCEED = -5,    
00026         DISABLED = -4,       
00027         NOT_PRESENT = -3,    
00028         ALLOC_ERR = -2,      
00029         NOT_SUPPORTED = -1,  
00030         SUCCESS              
00031 };
00032 
00037 typedef enum {
00038         P_AC,                
00039         P_BATT,              
00040         P_ERR                
00041 } power_state_t;
00042 
00047 typedef enum {
00048         T_CRIT,              
00049         T_HOT,               
00050         T_PASS,              
00051         T_ACT,               
00052         T_OK,                
00053         T_ERR                
00054 } thermal_state_t;
00055 
00060 typedef enum {
00061         C_CHARGE,     
00062         C_DISCHARGE,  
00063         C_CHARGED,    
00064         C_NOINFO,     
00065         C_ERR         
00066 } charge_state_t;
00067 
00072 typedef enum {
00073         B_HIGH,       
00074         B_MED,        
00075         B_LOW,        
00076         B_CRIT,       
00077         B_HARD_CRIT,  
00078         B_ERR         
00079 } batt_state_t;
00080 
00085 typedef enum {
00086         CO_ACT,       
00087         CO_PASS,      
00088         CO_CRIT,      
00089         CO_ERR        
00090 } thermal_mode_t;
00091 
00096 typedef enum {
00097         F_ON,         
00098         F_OFF,        
00099         F_ERR         
00100 } fan_state_t;
00101 
00106 typedef struct {
00107         char name[MAX_NAME];         
00108         char state_file[MAX_NAME];   
00109         fan_state_t fan_state;       
00110 } fan_t;
00111 
00116 typedef struct {
00117         char name[MAX_NAME];         
00118         char state_file[MAX_NAME];   
00119         char info_file[MAX_NAME];    
00120         char alarm_file[MAX_NAME];   
00121         int present;                 
00122         int design_cap;              
00123         int last_full_cap;           
00124         int design_voltage;          
00125         int present_rate;            
00126         int remaining_cap;           
00127         int present_voltage;         
00128         int design_warn;             
00129         int design_low;              
00130         int design_level1;           
00131         int design_level2;           
00132         int alarm;                   
00133         /* calculated states */
00134         int percentage;              
00135         int charge_time;             
00136         int remaining_time;          
00138         /* state info */
00139         charge_state_t charge_state; 
00140         batt_state_t batt_state;     
00141 } battery_t;
00142 
00147 typedef struct {
00148         char name[MAX_NAME];          
00149         int temperature;              
00150         int frequency;                
00151         char state_file[MAX_NAME];    
00152         char cooling_file[MAX_NAME];  
00153         char freq_file[MAX_NAME];     
00154         char trips_file[MAX_NAME];    
00155         char temp_file[MAX_NAME];     
00156         thermal_mode_t therm_mode;    
00157         thermal_state_t therm_state;  
00158 } thermal_t;
00159 
00164 typedef struct {
00165         char *name;                   
00166         char state_file[MAX_NAME];    
00167         power_state_t ac_state;       
00168 } adapter_t;
00169 
00174 typedef struct {
00175         int batt_count;               
00176         int thermal_count;            
00177         int fan_count;                
00178         int temperature;              
00179         adapter_t adapt;              
00180 } global_t;
00181 
00186 battery_t batteries[MAX_ITEMS];
00191 thermal_t thermals[MAX_ITEMS];
00196 fan_t fans[MAX_ITEMS];
00203 int init_acpi_batt(global_t *globals);
00210 int init_acpi_acadapt(global_t *globals);
00217 int init_acpi_thermal(global_t *globals);
00224 int init_acpi_fan(global_t *globals);
00225 
00230 int check_acpi_support(void);
00231 
00237 int read_acpi_batt(const int num);
00243 void read_acpi_acstate(global_t *globals);
00250 int read_acpi_zone(const int num, global_t *globals);
00256 int read_acpi_fan(const int num);
00257 #endif /* !__LIBACPI_H__ */

Generated on Sun Jul 29 14:09:38 2007 for libacpi by  doxygen 1.5.2