18b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* Copyright (C) 2007-2008 The Android Open Source Project
28b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project**
38b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** This software is licensed under the terms of the GNU General Public
48b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** License version 2, as published by the Free Software Foundation, and
58b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** may be copied, distributed, and modified under those terms.
68b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project**
78b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** This program is distributed in the hope that it will be useful,
88b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** but WITHOUT ANY WARRANTY; without even the implied warranty of
98b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
108b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** GNU General Public License for more details.
118b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project*/
128b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifndef _android_hw_control_h
138b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define _android_hw_control_h
148b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
158b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#include "qemu-common.h"
168b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
178b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* a callback function called when the system wants to change the brightness
188b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * of a given light. 'light' is a string which can be one of:
198b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 'lcd_backlight', 'button_backlight' or 'Keyboard_backlight'
208b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
218b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * brightness is an integer (acceptable range are 0..255), however the
228b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * default is around 105, and we probably don't want to dim the emulator's
238b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * output at that level.
248b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project */
258b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projecttypedef void  (*AndroidHwLightBrightnessFunc)( void*       opaque,
268b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project                                               const char* light,
278b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project                                               int         brightness );
288b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
298b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* used to record a hw control 'client' */
308b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projecttypedef struct {
318b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    AndroidHwLightBrightnessFunc  light_brightness;
328b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project} AndroidHwControlFuncs;
338b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
348b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* used to initialize the hardware control support */
35ca9505992288636908169d0389087b3ca5277d07David 'Digit' Turnerextern void  android_hw_control_init( void );
36ca9505992288636908169d0389087b3ca5277d07David 'Digit' Turner
37ca9505992288636908169d0389087b3ca5277d07David 'Digit' Turner/* used to register a new hw-control back-end */
38ca9505992288636908169d0389087b3ca5277d07David 'Digit' Turnerextern void  android_hw_control_set( void*                         opaque,
398b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project                                      const AndroidHwControlFuncs*  funcs );
408b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
418b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif /* _android_hw_control_h */
42