Home | History | Annotate | Download | only in protocol
      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