--- battstat/acpi-freebsd.h.orig Sun Jul 3 16:50:22 2005 +++ battstat/acpi-freebsd.h Sun Jul 3 16:54:14 2005 @@ -29,61 +29,31 @@ #define ACPI_LIFE "hw.acpi.battery.life" #define ACPI_STATE "hw.acpi.battery.state" -struct acpi_info { - gboolean ac_online; - int acpifd; - int max_capacity; - int low_capacity; - int critical_capacity; +/* XXX: AMD64 does not have machine/apm_bios.h. */ +#if !defined(__i386__) +struct apm_info { + guint ai_acline; + guint ai_batt_stat; + guint ai_batt_life; + int ai_batt_time; + guint ai_status; }; - -gboolean acpi_freebsd_read(struct apm_info *apminfo, struct acpi_info * acpiinfo); -gboolean acpi_process_event(struct acpi_info * acpiinfo); -gboolean acpi_freebsd_init(struct acpi_info * acpiinfo); -void acpi_freebsd_cleanup(struct acpi_info * acpiinfo); - -#endif /* __ACPI_FREEBSD_H__ */ -/* - * Copyright (C) 2004 by Joe Marcus Clarke - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. - */ - -#ifndef __ACPI_FREEBSD_H__ -#define __ACPI_FREEBSD_H__ - -#define ACPIDEV "/dev/acpi" - -#define BATT_MIN 0 -#define BATT_MAX 64 - -#define ACPI_ACLINE "hw.acpi.acline" -#define ACPI_TIME "hw.acpi.battery.time" -#define ACPI_LIFE "hw.acpi.battery.life" -#define ACPI_STATE "hw.acpi.battery.state" +#endif struct acpi_info { gboolean ac_online; + gboolean event_inited; int acpifd; + int event_fd; int max_capacity; int low_capacity; int critical_capacity; + GIOChannel * channel; }; gboolean acpi_freebsd_read(struct apm_info *apminfo, struct acpi_info * acpiinfo); -gboolean acpi_process_event(struct acpi_info * acpiinfo); +void acpi_freebsd_update(struct acpi_info * acpiinfo); +gboolean acpi_process_event(struct acpi_info * acpiinfo, gboolean *read_error); gboolean acpi_freebsd_init(struct acpi_info * acpiinfo); void acpi_freebsd_cleanup(struct acpi_info * acpiinfo);