/* $Id: libacpi.h 1974 2006-09-06 09:50:27Z nick $
 *
 * Copyright (c) 2002 Costantino Pistagna <valvoline@vrlteam.org>
 * Copyright (c) 2003 Noberasco Michele <2001s098@educ.disi.unige.it>
 * Copyright (c) 2003 Edscott Wilson Garcia <edscott@imp.mx>
 *
 * This library is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Library General Public License as published
 * by the Free Software Foundation; either version 2 of the License, or (at
 * your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#define MAXBATT 8

typedef enum
{
  POWER,			/* on AC, Battery charged  */
  DISCHARGING,			/* on Battery, Discharging */
  CHARGING,			/* on AC, Charging         */
  UNKNOW			/* unknow                  */
}
Charging;

typedef struct
{
  int present;			/* 1 if present, 0 if no battery         */
  Charging state;		/* charging state enum                   */
  int prate;			/* present rate                          */
  int rcapacity;		/* rameining capacity                    */
  int pvoltage;			/* present voltage                       */

  /* not present in /proc */
  int rtime;			/* remaining time                        */
  int percentage;		/* battery percentage (-1 if no battery) */
}
ACPIstate;

typedef struct
{
  int present;			/* 1 if present, 0 if no battery        */
  int design_capacity;		/* design capacity                      */
  int last_full_capacity;	/* last_full_capacity                   */
  int battery_technology;	/* 1 non-rechargeable, 0 rechargeable   */
  int design_voltage;		/* design voltage                       */
  int design_capacity_warning;	/* design capacity warning (critical)   */
  int design_capacity_low;	/* design capacity low (low level)      */
}
ACPIinfo;


typedef struct
{
  int state;			/* 1 if online, 0 if offline            */
}
ACADstate;

int check_acpi (void);
int read_acad_state (void);
int read_acpi_info (int battery);
int read_acpi_state (int battery);
int get_fan_status(void);
const char *get_temperature(void);

#ifdef __libacpi_c__
/* global */
char battery_type;
ACPIstate *acpistate=NULL;
ACPIinfo *acpiinfo=NULL;
ACADstate *acadstate=NULL;
/* batteries detected */
int batt_count;
/* temp buffer */
char buf[512];
#else
extern int batt_count;
extern ACPIstate *acpistate;
extern ACPIinfo *acpiinfo;
extern ACADstate *acadstate;
#endif





syntax highlighted by Code2HTML, v. 0.9.1