1/***************************************************************************
2 *
3 * devinfo_acpi.h : definitions for acpi devices
4 *
5 * Copyright 2008 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#ifndef DEVINFO_ACPI_H
13#define	DEVINFO_ACPI_H
14
15#include "devinfo.h"
16
17extern DevinfoDevHandler devinfo_acpi_handler;
18extern DevinfoDevHandler devinfo_power_button_handler;
19
20#define	MINOR_SHIFT			8
21#define	MINOR2TYPE(minor)		((minor) >> MINOR_SHIFT)
22
23/* Battery device types */
24enum batt_type {
25	BATT_TYPE_UNKNOWN = -1,
26	BATT_TYPE_CBAT,
27	BATT_TYPE_AC,
28	BATT_TYPE_SBAT
29};
30
31HalDevice *devinfo_battery_add_major(HalDevice *parent, di_node_t node,
32    char *devfs_path, char *device_type, gboolean rescan, HalDevice *battery_d);
33void devinfo_acpi_add_minor(HalDevice *parent, di_node_t node,
34    char *minor_path, dev_t dev);
35void devinfo_battery_remove_minor(char *parent_devfs_path, gchar *udi);
36void devinfo_battery_rescan(char *parent_devfs_path, gchar *udi);
37const gchar *devinfo_acpi_get_prober(HalDevice *d, int *timeout);
38void devinfo_power_button_event(void);
39void devinfo_brightness_hotkeys_event(char *subclass);
40
41void devinfo_lid_event(char *subclass, gchar *udi);
42gboolean devinfo_lid_rescan(HalDevice *d);
43
44#endif /* DEVINFO_ACPI_H */
45