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