acpiio.h (143771) | acpiio.h (148352) |
---|---|
1/*- 2 * Copyright (c) 1999 Takanori Watanabe <takawata@jp.freebsd.org> 3 * Copyright (c) 1999 Mitsuru IWASAKI <iwasaki@FreeBSD.org> 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * | 1/*- 2 * Copyright (c) 1999 Takanori Watanabe <takawata@jp.freebsd.org> 3 * Copyright (c) 1999 Mitsuru IWASAKI <iwasaki@FreeBSD.org> 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * |
27 * $FreeBSD: head/sys/dev/acpica/acpiio.h 143771 2005-03-17 22:42:49Z njl $ | 27 * $FreeBSD: head/sys/dev/acpica/acpiio.h 148352 2005-07-23 19:36:00Z njl $ |
28 */ 29 30#ifndef _ACPIIO_H_ 31#define _ACPIIO_H_ 32 33/* 34 * Core ACPI subsystem ioctls 35 */ 36#define ACPIIO_SETSLPSTATE _IOW('P', 3, int) 37 | 28 */ 29 30#ifndef _ACPIIO_H_ 31#define _ACPIIO_H_ 32 33/* 34 * Core ACPI subsystem ioctls 35 */ 36#define ACPIIO_SETSLPSTATE _IOW('P', 3, int) 37 |
38struct acpi_battdesc { 39 int type; /* battery type */ 40 int phys_unit; /* physical unit of devclass */ 41}; 42 43#define ACPI_BATT_TYPE_CMBAT 0x0000 44#define ACPI_BATT_TYPE_SMBAT 0x0001 45 | |
46struct acpi_battinfo { 47 int cap; /* percent */ 48 int min; /* remaining time (in minutes) */ 49 int state; /* battery state */ | 38struct acpi_battinfo { 39 int cap; /* percent */ 40 int min; /* remaining time (in minutes) */ 41 int state; /* battery state */ |
42 int rate; /* emptying rate */ |
|
50}; 51 52#define ACPI_CMBAT_MAXSTRLEN 32 53struct acpi_bif { | 43}; 44 45#define ACPI_CMBAT_MAXSTRLEN 32 46struct acpi_bif { |
54 u_int32_t units; /* 0 for mWh, 1 for mAh */ 55 u_int32_t dcap; /* Design Capacity */ 56 u_int32_t lfcap; /* Last Full capacity */ 57 u_int32_t btech; /* Battery Technology */ 58 u_int32_t dvol; /* Design voltage (mV) */ 59 u_int32_t wcap; /* WARN capacity */ 60 u_int32_t lcap; /* Low capacity */ 61 u_int32_t gra1; /* Granularity 1 (Warn to Low) */ 62 u_int32_t gra2; /* Granularity 2 (Full to Warn) */ | 47 uint32_t units; /* 0 for mWh, 1 for mAh */ 48 uint32_t dcap; /* Design Capacity */ 49 uint32_t lfcap; /* Last Full capacity */ 50 uint32_t btech; /* Battery Technology */ 51 uint32_t dvol; /* Design voltage (mV) */ 52 uint32_t wcap; /* WARN capacity */ 53 uint32_t lcap; /* Low capacity */ 54 uint32_t gra1; /* Granularity 1 (Warn to Low) */ 55 uint32_t gra2; /* Granularity 2 (Full to Warn) */ |
63 char model[ACPI_CMBAT_MAXSTRLEN]; /* model identifier */ 64 char serial[ACPI_CMBAT_MAXSTRLEN]; /* Serial number */ 65 char type[ACPI_CMBAT_MAXSTRLEN]; /* Type */ 66 char oeminfo[ACPI_CMBAT_MAXSTRLEN]; /* OEM infomation */ 67}; 68 69struct acpi_bst { | 56 char model[ACPI_CMBAT_MAXSTRLEN]; /* model identifier */ 57 char serial[ACPI_CMBAT_MAXSTRLEN]; /* Serial number */ 58 char type[ACPI_CMBAT_MAXSTRLEN]; /* Type */ 59 char oeminfo[ACPI_CMBAT_MAXSTRLEN]; /* OEM infomation */ 60}; 61 62struct acpi_bst { |
70 u_int32_t state; /* Battery State */ 71 u_int32_t rate; /* Present Rate */ 72 u_int32_t cap; /* Remaining Capacity */ 73 u_int32_t volt; /* Present Voltage */ | 63 uint32_t state; /* Battery State */ 64 uint32_t rate; /* Present Rate */ 65 uint32_t cap; /* Remaining Capacity */ 66 uint32_t volt; /* Present Voltage */ |
74}; 75 76#define ACPI_BATT_STAT_DISCHARG 0x0001 77#define ACPI_BATT_STAT_CHARGING 0x0002 78#define ACPI_BATT_STAT_CRITICAL 0x0004 79#define ACPI_BATT_STAT_NOT_PRESENT 0x0007 80#define ACPI_BATT_STAT_MAX 0x0007 81 82union acpi_battery_ioctl_arg { | 67}; 68 69#define ACPI_BATT_STAT_DISCHARG 0x0001 70#define ACPI_BATT_STAT_CHARGING 0x0002 71#define ACPI_BATT_STAT_CRITICAL 0x0004 72#define ACPI_BATT_STAT_NOT_PRESENT 0x0007 73#define ACPI_BATT_STAT_MAX 0x0007 74 75union acpi_battery_ioctl_arg { |
83 int unit; /* argument: logical unit (-1 = overall) */ | 76 int unit; /* Device unit or ACPI_BATTERY_ALL_UNITS. */ |
84 | 77 |
85 struct acpi_battdesc battdesc; 86 struct acpi_battinfo battinfo; | 78 struct acpi_battinfo battinfo; |
87 88 struct acpi_bif bif; 89 struct acpi_bst bst; 90}; 91 | 79 80 struct acpi_bif bif; 81 struct acpi_bst bst; 82}; 83 |
84#define ACPI_BATTERY_ALL_UNITS (-1) 85 |
|
92/* Common battery ioctls */ 93#define ACPIIO_BATT_GET_UNITS _IOR('B', 0x01, int) | 86/* Common battery ioctls */ 87#define ACPIIO_BATT_GET_UNITS _IOR('B', 0x01, int) |
94#define ACPIIO_BATT_GET_TYPE _IOR('B', 0x02, union acpi_battery_ioctl_arg) | |
95#define ACPIIO_BATT_GET_BATTINFO _IOWR('B', 0x03, union acpi_battery_ioctl_arg) | 88#define ACPIIO_BATT_GET_BATTINFO _IOWR('B', 0x03, union acpi_battery_ioctl_arg) |
96#define ACPIIO_BATT_GET_BATTDESC _IOWR('B', 0x04, union acpi_battery_ioctl_arg) | |
97#define ACPIIO_BATT_GET_BIF _IOWR('B', 0x10, union acpi_battery_ioctl_arg) 98#define ACPIIO_BATT_GET_BST _IOWR('B', 0x11, union acpi_battery_ioctl_arg) 99 100/* Control Method battery ioctls (deprecated) */ 101#define ACPIIO_CMBAT_GET_BIF ACPIIO_BATT_GET_BIF 102#define ACPIIO_CMBAT_GET_BST ACPIIO_BATT_GET_BST 103 104/* Get AC adapter status. */ 105#define ACPIIO_ACAD_GET_STATUS _IOR('A', 1, int) 106 107#ifdef _KERNEL 108typedef int (*acpi_ioctl_fn)(u_long cmd, caddr_t addr, void *arg); 109extern int acpi_register_ioctl(u_long cmd, acpi_ioctl_fn fn, void *arg); 110extern void acpi_deregister_ioctl(u_long cmd, acpi_ioctl_fn fn); 111#endif 112 113#endif /* !_ACPIIO_H_ */ | 89#define ACPIIO_BATT_GET_BIF _IOWR('B', 0x10, union acpi_battery_ioctl_arg) 90#define ACPIIO_BATT_GET_BST _IOWR('B', 0x11, union acpi_battery_ioctl_arg) 91 92/* Control Method battery ioctls (deprecated) */ 93#define ACPIIO_CMBAT_GET_BIF ACPIIO_BATT_GET_BIF 94#define ACPIIO_CMBAT_GET_BST ACPIIO_BATT_GET_BST 95 96/* Get AC adapter status. */ 97#define ACPIIO_ACAD_GET_STATUS _IOR('A', 1, int) 98 99#ifdef _KERNEL 100typedef int (*acpi_ioctl_fn)(u_long cmd, caddr_t addr, void *arg); 101extern int acpi_register_ioctl(u_long cmd, acpi_ioctl_fn fn, void *arg); 102extern void acpi_deregister_ioctl(u_long cmd, acpi_ioctl_fn fn); 103#endif 104 105#endif /* !_ACPIIO_H_ */ |