aboutsummaryrefslogtreecommitdiffstats
path: root/android.h
diff options
context:
space:
mode:
Diffstat (limited to 'android.h')
-rw-r--r--android.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/android.h b/android.h
new file mode 100644
index 0000000..8d304f5
--- /dev/null
+++ b/android.h
@@ -0,0 +1,105 @@
+/* Copyright (C) 2007 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 _qemu_android_h
+#define _qemu_android_h
+
+#define ANDROID_VERSION_MAJOR 1
+#define ANDROID_VERSION_MINOR 7
+
+// Used to know where to store the user data image.
+// Note: this *must* match the similar-named constant in the ADT plugin,
+// defined in tools/androidprefs/src/com/android/prefs/AndroidLocation.java
+#define ANDROID_SDK_VERSION "SDK-1.0"
+
+#define CONFIG_SHAPER 1
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+/** in vl.c */
+
+/* emulated network up/down speeds, expressed in bits/seconds */
+extern double qemu_net_upload_speed;
+extern double qemu_net_download_speed;
+
+/* emulated network min-max latency, expressed in ms */
+extern int qemu_net_min_latency;
+extern int qemu_net_max_latency;
+
+/* global flag, when true, network is disabled */
+extern int qemu_net_disable;
+
+/* list of supported network speed names and values in bits/seconds */
+typedef struct {
+ const char* name;
+ const char* display;
+ int upload;
+ int download;
+} NetworkSpeed;
+
+extern const NetworkSpeed android_netspeeds[];
+
+/* list of supported network latency names and min-max values in ms */
+typedef struct {
+ const char* name;
+ const char* display;
+ int min_ms;
+ int max_ms;
+} NetworkLatency;
+
+extern const NetworkLatency android_netdelays[];
+
+/* 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/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;
+
+/* framebuffer rotation, relative to device */
+typedef enum {
+ ANDROID_ROTATION_0 = 0,
+ ANDROID_ROTATION_90,
+ ANDROID_ROTATION_180,
+ ANDROID_ROTATION_270
+} AndroidRotation;
+
+extern AndroidRotation android_framebuffer_rotation;
+
+/** 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;
+
+/* parses a network speed parameter and sets qemu_net_upload_speed and
+ * qemu_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);
+
+extern void android_emulation_setup( void );
+extern void android_emulation_teardown( void );
+
+#endif /* _qemu_android_h */