root/usr/src/cmd/hal/hald/solaris/devinfo_acpi.h
/***************************************************************************
 *
 * devinfo_acpi.h : definitions for acpi devices
 *
 * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 *
 * Licensed under the Academic Free License version 2.1
 *
 **************************************************************************/

#ifndef DEVINFO_ACPI_H
#define DEVINFO_ACPI_H

#include "devinfo.h"

extern DevinfoDevHandler devinfo_acpi_handler;
extern DevinfoDevHandler devinfo_power_button_handler;

#define MINOR_SHIFT                     8
#define MINOR2TYPE(minor)               ((minor) >> MINOR_SHIFT)

/* Battery device types */
enum batt_type {
        BATT_TYPE_UNKNOWN = -1,
        BATT_TYPE_CBAT,
        BATT_TYPE_AC,
        BATT_TYPE_SBAT
};

HalDevice *devinfo_battery_add_major(HalDevice *parent, di_node_t node,
    char *devfs_path, char *device_type, gboolean rescan, HalDevice *battery_d);
void devinfo_acpi_add_minor(HalDevice *parent, di_node_t node,
    char *minor_path, dev_t dev);
void devinfo_battery_remove_minor(char *parent_devfs_path, gchar *udi);
void devinfo_battery_rescan(char *parent_devfs_path, gchar *udi);
const gchar *devinfo_acpi_get_prober(HalDevice *d, int *timeout);
void devinfo_power_button_event(void);
void devinfo_brightness_hotkeys_event(char *subclass);

void devinfo_lid_event(char *subclass, gchar *udi);
gboolean devinfo_lid_rescan(HalDevice *d);

#endif /* DEVINFO_ACPI_H */