power.h revision d6054a36475b5ff502b4af78f7d272a713c1a8e7
1/*
2 * Copyright (C) 2008 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef _HARDWARE_POWER_H
18#define _HARDWARE_POWER_H
19
20#include <stdint.h>
21
22#if __cplusplus
23extern "C" {
24#endif
25
26enum {
27    PARTIAL_WAKE_LOCK = 1,  // the cpu stays on, but the screen is off
28    FULL_WAKE_LOCK = 2      // the screen is also on
29};
30
31// while you have a lock held, the device will stay on at least at the
32// level you request.
33int acquire_wake_lock(int lock, const char* id);
34int release_wake_lock(const char* id);
35
36
37enum {
38    KEYBOARD_LIGHT  = 0x00000001,
39    SCREEN_LIGHT    = 0x00000002,
40    BUTTON_LIGHT    = 0x00000004,
41};
42
43// set the lights identified in mask to the brightness specified
44// in value.  for example
45//   set_light_brightness(SCREEN_LIGHT | KEYBOARD_LIGHT, 200);
46// sets the screen and keyboard lights to brightness 200
47int set_light_brightness(unsigned int mask, unsigned int brightness);
48
49// true if you want the screen on, false if you want it off
50int set_screen_state(int on);
51
52// set how long to stay awake after the last user activity in seconds
53int set_last_user_activity_timeout(int64_t delay);
54
55
56#if __cplusplus
57} // extern "C"
58#endif
59
60#endif // _HARDWARE_POWER_H
61