• 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_H
14 #define _ANDROID_PROTOCOL_CORE_COMMANDS_H
15 
16 /*
17  * Contains declarations related to the UI control commands sent by the UI and
18  * handled by the Core.
19  */
20 
21 #include "android/hw-sensors.h"
22 #include "android/protocol/ui-common.h"
23 
24 /* Sets coarse orientation. */
25 #define AUICMD_SET_COARSE_ORIENTATION       1
26 
27 /* Toggles the network. */
28 #define AUICMD_TOGGLE_NETWORK               2
29 
30 /* Starts / stops the tracing. */
31 #define AUICMD_TRACE_CONTROL                3
32 
33 /* Checks if network is disabled. */
34 #define AUICMD_CHK_NETWORK_DISABLED         4
35 
36 /* Gets network speed. */
37 #define AUICMD_GET_NETSPEED                 5
38 
39 /* Gets network delays */
40 #define AUICMD_GET_NETDELAY                 6
41 
42 /* Gets path to a QEMU file on local host. */
43 #define AUICMD_GET_QEMU_PATH                7
44 
45 /* Gets LCD density. */
46 #define AUICMD_GET_LCD_DENSITY              8
47 
48 /* Formats AUICMD_SET_COARSE_ORIENTATION UI control command parameters. */
49 typedef struct UICmdSetCoarseOrientation {
50     AndroidCoarseOrientation    orient;
51 } UICmdSetCoarseOrientation;
52 
53 /* Formats AUICMD_TRACE_CONTROL UI control command parameters. */
54 typedef struct UICmdTraceControl {
55     int start;
56 } UICmdTraceControl;
57 
58 /* Formats AUICMD_GET_NETSPEED UI control command parameters. */
59 typedef struct UICmdGetNetSpeed {
60     int index;
61 } UICmdGetNetSpeed;
62 
63 /* Formats AUICMD_GET_NETSPEED UI control command response.
64  * Instances of this structure contains content of the NetworkSpeed structure,
65  * including actual "name" and "display" strings. */
66 typedef struct UICmdGetNetSpeedResp {
67     int     upload;
68     int     download;
69     /* Zero-terminated NetworkSpeed's "name" strings starts here. The "display"
70      * string begins inside this structure, right after the "name"'s
71      * zero-terminator. */
72     char    name[0];
73 } UICmdGetNetSpeedResp;
74 
75 /* Formats AUICMD_GET_NETDELAY UI control command parameters. */
76 typedef struct UICmdGetNetDelay {
77     int index;
78 } UICmdGetNetDelay;
79 
80 /* Formats AUICMD_GET_NETDELAY UI control command response.
81  * Instances of this structure contains content of the NetworkLatency structure,
82  * including actual "name" and "display" strings. */
83 typedef struct UICmdGetNetDelayResp {
84     int     min_ms;
85     int     max_ms;
86     /* Zero-terminated NetworkLatency's "name" strings starts here. The "display"
87      * string begins inside this structure, right after the "name"'s
88      * zero-terminator. */
89     char    name[0];
90 } UICmdGetNetDelayResp;
91 
92 /* Formats AUICMD_GET_QEMU_PATH UI control command parameters. */
93 typedef struct UICmdGetQemuPath {
94     int     type;
95     char    filename[0];
96 } UICmdGetQemuPath;
97 
98 /* Formats AUICMD_GET_QEMU_PATH UI control command response. */
99 typedef struct UICmdGetQemuPathResp {
100     /* Queried qemu path begins here. */
101     char    path[0];
102 } UICmdGetQemuPathResp;
103 
104 #endif /* _ANDROID_PROTOCOL_CORE_COMMANDS_H */
105