• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (C) 2010 The Android Open Source Project
2 **
3 ** This software is licensed under the terms of the GNU General Public
4 ** License version 2, as published by the Free Software Foundation, and
5 ** may be copied, distributed, and modified under those terms.
6 **
7 ** This program is distributed in the hope that it will be useful,
8 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
9 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10 ** GNU General Public License for more details.
11 */
12 
13 #ifndef _ANDROID_PROTOCOL_CORE_COMMANDS_API_H
14 #define _ANDROID_PROTOCOL_CORE_COMMANDS_API_H
15 
16 /*
17  * Contains the API for calling into the Core with UI control commands.
18  */
19 
20 #include "android/android.h"
21 #include "android/hw-sensors.h"
22 
23 /* Instructs the Core to change the coarse orientation.
24  * Return:
25  *  0 on success, or < 0 on failure.
26  */
27 extern int corecmd_set_coarse_orientation(AndroidCoarseOrientation orient);
28 
29 /* Toggles the network in the Core.
30  * Return:
31  *  0 on success, or < 0 on failure.
32  */
33 extern int corecmd_toggle_network();
34 
35 /* Starts or stops tracing in the Core.
36  * Param:
37  *  start - Starts (> 0), or stops (== 0) tracing.
38  * Return:
39  *  0 on success, or < 0 on failure.
40  */
41 extern int corecmd_trace_control(int start);
42 
43 /* Checks if network is disabled in the Core.
44  * Return:
45  *  0 if network is enabled, 1 if it is disabled, or < 0 on failure.
46  */
47 extern int corecmd_is_network_disabled();
48 
49 /* Requests a NetworkSpeed instance from the Core.
50  * Param:
51  *  index - Index of an entry in the NetworkSpeed array.
52  *  netspeed - Upon success contains allocated and initialized NetworkSpeed
53  *      instance for the given index. Note that strings addressed by "name" and
54  *      "display" fileds in the returned NetworkSpeed instance are containd
55  *      inside the buffer allocated for the returned NetworkSpeed instance.
56  *      Caller of this routine must eventually free the buffer returned in this
57  *      parameter.
58  * Return:
59  *  0 on success, or < 0 on failure.
60  */
61 extern int corecmd_get_netspeed(int index, NetworkSpeed** netspeed);
62 
63 /* Requests a NetworkLatency instance from the Core.
64  * Param:
65  *  index - Index of an entry in the NetworkLatency array.
66  *  netdelay - Upon success contains allocated and initialized NetworkLatency
67  *      instance for the given index. Note that strings addressed by "name" and
68  *      "display" fileds in the returned NetworkLatency instance are containd
69  *      inside the buffer allocated for the returned NetworkLatency instance.
70  *      Caller of this routine must eventually free the buffer returned in this
71  *      parameter.
72  * Return:
73  *  0 on success, or < 0 on failure.
74  */
75 extern int corecmd_get_netdelay(int index, NetworkLatency** netdelay);
76 
77 /* Requests a QEMU file path from the Core.
78  * Param:
79  *  type, filename - Request parameters that define the file for which path is
80  *  requested.
81  * Return:
82  *  0 on success, or < 0 on failure.
83  */
84 extern int corecmd_get_qemu_path(int type,
85                                  const char* filename,
86                                  char* path,
87                                  size_t path_buf_size);
88 
89 /* Gets LCD density property from the core properties.
90  * Return:
91  *  LCD density on success, or < 0 on failure.
92  */
93 extern int corecmd_get_hw_lcd_density(void);
94 
95 #endif /* _ANDROID_PROTOCOL_CORE_COMMANDS_API_H */
96