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