blob: cbe5489a4f87665a69f79f1f3baa0d4ce69c52fa [file] [log] [blame]
/* Copyright (C) 2007-2015 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.
*/
#pragma once
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "android/skin/rect.h"
#include "android/utils/compiler.h"
ANDROID_BEGIN_HEADER
/* Some commonly-used file names */
/* The name of the .ini file that contains the initial hardware
* properties for the AVD. This file is specific to the AVD and
* is in the AVD's directory.
*/
#define CORE_CONFIG_INI "config.ini"
/* The name of the .ini file that contains the complete hardware
* properties for the AVD. This file is specific to the AVD and
* is in the AVD's directory. This will be used to launch the
* corresponding core from the UI.
*/
#define CORE_HARDWARE_INI "hardware-qemu.ini"
/* The file where the crash reporter holds a copy of
* the hardware properties. This file is in a temporary
* directory set up by the crash reporter.
*/
#define CRASH_AVD_HARDWARE_INFO "avd_info.txt"
/** in vl.c */
/* enable/disable interrupt polling mode. the emulator will always use 100%
* of host CPU time, but will get high-quality time measurments. this is
* required for the tracing mode unless you can bear 10ms granularities
*/
extern void qemu_polling_enable(void);
extern void qemu_polling_disable(void);
/**in hw/android/goldfish/fb.c */
/* framebuffer dimensions in pixels, note these can change dynamically */
extern int android_framebuffer_w;
extern int android_framebuffer_h;
/* framebuffer dimensions in mm */
extern int android_framebuffer_phys_w;
extern int android_framebuffer_phys_h;
/** in android_main.c */
/* this is the port used for the control console in this emulator instance.
* starts at 5554, with increments of 2 */
extern int android_base_port;
/* this is the port used to connect ADB (Android Debug Bridge)
* default is 5037 */
extern int android_adb_port;
/* This number is used to form the "serial number" of
* the AVD. The default is 5554, so the default serial
* number is "emulator-5554". */
extern int android_serial_number_port;
/* parses a network speed parameter and sets android_net_upload_speed and
* android_net_download_speed accordingly. returns -1 on failure, 0 on success */
extern int android_parse_network_speed(const char* speed);
/* parse a network delay parameter and sets qemu_net_min/max_latency
* accordingly. returns -1 on error, 0 on success */
extern int android_parse_network_latency(const char* delay);
/** in qemu_setup.c */
// See android/console.h
struct AndroidConsoleAgents;
// Setup Android emulation. Return true on success.
extern bool android_emulation_setup(const struct AndroidConsoleAgents* agents);
extern void android_emulation_teardown( void );
ANDROID_END_HEADER