1 /***************************************************************************
2  *
3  * devinfo_acpi.h : definitions for acpi devices
4  *
5  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
6  * Use is subject to license terms.
7  *
8  * Licensed under the Academic Free License version 2.1
9  *
10  **************************************************************************/
11 
12 #pragma ident	"%Z%%M%	%I%	%E% SMI"
13 
14 #ifndef DEVINFO_ACPI_H
15 #define	DEVINFO_ACPI_H
16 
17 #include "devinfo.h"
18 
19 extern DevinfoDevHandler devinfo_acpi_handler;
20 extern DevinfoDevHandler devinfo_battery_handler;
21 
22 #define	MINOR_SHIFT			8
23 #define	MINOR2TYPE(minor)		((minor) >> MINOR_SHIFT)
24 
25 /* Battery device types */
26 enum batt_type {
27 	BATT_TYPE_UNKNOWN = -1,
28 	BATT_TYPE_CBAT,
29 	BATT_TYPE_AC,
30 	BATT_TYPE_SBAT
31 };
32 
33 HalDevice *devinfo_battery_add_major(HalDevice *parent, di_node_t node,
34     char *devfs_path, char *device_type, gboolean rescan, HalDevice *battery_d);
35 void devinfo_battery_add_minor(HalDevice *parent, di_node_t node,
36     char *minor_path, dev_t dev);
37 void devinfo_battery_remove_minor(char *parent_devfs_path, gchar *udi);
38 void devinfo_battery_device_rescan(char *parent_devfs_path, gchar *udi);
39 static void devinfo_battery_rescan_probing_done(HalDevice *d, guint32 exit_type,
40     gint return_code, char **error, gpointer userdata1, gpointer userdata2);
41 const gchar *devinfo_battery_get_prober(HalDevice *d, int *timeout);
42 
43 #endif /* DEVINFO_ACPI_H */
44