/* Copyright (C) 2010 The Android Open Source Project ** ** This software is licensed under the terms of the GNU General Public ** License version 2, as published by the Free Software Foundation, and ** may be copied, distributed, and modified under those terms. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. */ #ifndef _ANDROID_PROTOCOL_CORE_COMMANDS_API_H #define _ANDROID_PROTOCOL_CORE_COMMANDS_API_H /* * Contains the API for calling into the Core with UI control commands. */ #include "android/android.h" #include "android/hw-sensors.h" /* Instructs the Core to change the coarse orientation. * Return: * 0 on success, or < 0 on failure. */ extern int corecmd_set_coarse_orientation(AndroidCoarseOrientation orient); /* Toggles the network in the Core. * Return: * 0 on success, or < 0 on failure. */ extern int corecmd_toggle_network(); /* Starts or stops tracing in the Core. * Param: * start - Starts (> 0), or stops (== 0) tracing. * Return: * 0 on success, or < 0 on failure. */ extern int corecmd_trace_control(int start); /* Checks if network is disabled in the Core. * Return: * 0 if network is enabled, 1 if it is disabled, or < 0 on failure. */ extern int corecmd_is_network_disabled(); /* Requests a NetworkSpeed instance from the Core. * Param: * index - Index of an entry in the NetworkSpeed array. * netspeed - Upon success contains allocated and initialized NetworkSpeed * instance for the given index. Note that strings addressed by "name" and * "display" fileds in the returned NetworkSpeed instance are containd * inside the buffer allocated for the returned NetworkSpeed instance. * Caller of this routine must eventually free the buffer returned in this * parameter. * Return: * 0 on success, or < 0 on failure. */ extern int corecmd_get_netspeed(int index, NetworkSpeed** netspeed); /* Requests a NetworkLatency instance from the Core. * Param: * index - Index of an entry in the NetworkLatency array. * netdelay - Upon success contains allocated and initialized NetworkLatency * instance for the given index. Note that strings addressed by "name" and * "display" fileds in the returned NetworkLatency instance are containd * inside the buffer allocated for the returned NetworkLatency instance. * Caller of this routine must eventually free the buffer returned in this * parameter. * Return: * 0 on success, or < 0 on failure. */ extern int corecmd_get_netdelay(int index, NetworkLatency** netdelay); /* Requests a QEMU file path from the Core. * Param: * type, filename - Request parameters that define the file for which path is * requested. * Return: * 0 on success, or < 0 on failure. */ extern int corecmd_get_qemu_path(int type, const char* filename, char* path, size_t path_buf_size); /* Gets LCD density property from the core properties. * Return: * LCD density on success, or < 0 on failure. */ extern int corecmd_get_hw_lcd_density(void); #endif /* _ANDROID_PROTOCOL_CORE_COMMANDS_API_H */