cmdline-options.h revision b58c44e55548129243185ef5927bd3abb5903044
18b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* this header file can be included several times by the same source code.
28b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * it contains the list of support command-line options for the Android
38b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * emulator program
48b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project */
58b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifndef OPT_PARAM
68b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#error OPT_PARAM is not defined
78b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif
88b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifndef OPT_FLAG
98b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#error OPT_FLAG is not defined
108b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif
118b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifndef CFG_PARAM
128b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define CFG_PARAM  OPT_PARAM
138b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif
148b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifndef CFG_FLAG
158b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define CFG_FLAG   OPT_FLAG
168b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif
178b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
188b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* required to ensure that the CONFIG_XXX macros are properly defined */
19b58c44e55548129243185ef5927bd3abb5903044David Turner#include "android/config/config.h"
208b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
218b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* Some options acts like flags, while others must be followed by a parameter
228b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * string. Nothing really new here.
238b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
248b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * Some options correspond to AVD (Android Virtual Device) configuration
258b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * and will be ignored if you start the emulator with the -avd <name> flag.
268b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
278b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * However, if you use them with -avd-create <name>, these options will be
288b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * recorded into the new AVD directory. Once an AVD is created, there is no
298b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * way to change these options.
308b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
318b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * Several macros are used to define options:
328b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
338b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *    OPT_FLAG( name, "description" )
348b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *       used to define a non-config flag option.
358b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *       * 'name' is the option suffix that must follow the dash (-)
368b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *          as well as the name of an integer variable whose value will
378b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *          be 1 if the flag is used, or 0 otherwise.
388b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *       * "description" is a short description string that will be
398b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *         displayed by 'emulator -help'.
408b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
418b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *    OPT_PARAM( name, "<param>", "description" )
428b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *       used to define a non-config parameter option
438b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *        * 'name' will point to a char* variable (NULL if option is unused)
448b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *        * "<param>" is a template for the parameter displayed by the help
458b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *        * 'varname' is the name of a char* variable that will point
468b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *          to the parameter string, if any, or will be NULL otherwise.
478b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
488b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *    CFG_FLAG( name, "description" )
498b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *        used to define a configuration-specific flag option.
508b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
518b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *    CFG_PARAM( name, "<param>", "description" )
528b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *        used to define a configuration-specific parameter option.
538b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
548b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * NOTE: Keep in mind that optio names are converted by translating
558b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *       dashes into underscore.
568b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
578b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *       This means that '-some-option' is equivalent to '-some_option'
588b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *       and will be backed by a variable name 'some_option'
598b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
608b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project */
618b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
628b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( sysdir,  "<dir>",  "search for system disk images in <dir>" )
638b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( system,  "<file>", "read initial system image from <file>" )
648b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( datadir, "<dir>",  "write user data into <dir>" )
658b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( kernel,  "<file>", "use specific emulated kernel" )
668b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( ramdisk, "<file>", "ramdisk image (default <system>/ramdisk.img" )
678b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( image,   "<file>", "obsolete, use -system <file> instead" )
688b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( init_data, "<file>", "initial data image (default <system>/userdata.img" )
698b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( initdata, "<file>", "same as '-init-data <file>'" )
708b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( data,     "<file>", "data image (default <datadir>/userdata-qemu.img" )
71b3ee93a038ab992ffdda9f232befdea6ea713b24The Android Open Source ProjectCFG_PARAM( partition_size, "<size>", "system/data partition size in MBs" )
728b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( cache,    "<file>", "cache partition image (default is temporary file)" )
738b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_FLAG ( no_cache, "disable the cache partition" )
748b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_FLAG ( nocache,  "same as -no-cache" )
758b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( sdcard, "<file>", "SD card image (default <system>/sdcard.img")
768b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( wipe_data, "reset the use data image (copy it from initdata)" )
778b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( avd, "<name>", "use a specific android virtual device" )
788b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( skindir, "<dir>", "search skins in <dir> (default <system>/skins)" )
798b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( skin, "<name>", "select a given skin" )
808b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_FLAG ( no_skin, "don't use any emulator skin" )
818b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_FLAG ( noskin, "same as -no-skin" )
828b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( memory, "<size>", "physical RAM size in MBs" )
838b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
848b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( netspeed, "<speed>", "maximum network download/upload speeds" )
858b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( netdelay, "<delay>", "network latency emulation" )
868b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( netfast, "disable network shaping" )
878b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
888b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( trace, "<name>", "enable code profiling (F9 to start)" )
898b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( show_kernel, "display kernel messages" )
908b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( shell, "enable root shell on current terminal" )
918b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( no_jni, "disable JNI checks in the Dalvik runtime" )
928b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( nojni, "same as -no-jni" )
938b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( logcat, "<tags>", "enable logcat output with given tags" )
948b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
958b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( no_audio, "disable audio support" )
968b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( noaudio,  "same as -no-audio" )
978b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( audio,    "<backend>", "use specific audio backend" )
988b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( audio_in, "<backend>", "use specific audio input backend" )
998b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( audio_out,"<backend>", "use specific audio output backend" )
1008b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
1018b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( raw_keys, "disable Unicode keyboard reverse-mapping" )
1028b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( radio, "<device>", "redirect radio modem interface to character device" )
1038b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( port, "<port>", "TCP port that will be used for the console" )
1048b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( ports, "<consoleport>,<adbport>", "TCP ports used for the console and adb bridge" )
1058b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( onion, "<image>", "use overlay PNG image over screen" )
1068b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( onion_alpha, "<%age>", "specify onion-skin translucency" )
1078b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( onion_rotation, "0|1|2|3", "specify onion-skin rotation" )
1088b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
1098b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( scale, "<scale>", "scale emulator window" )
1108b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( dpi_device, "<dpi>", "specify device's resolution in dpi (default "
1118b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project            STRINGIFY(DEFAULT_DEVICE_DPI) ")" )
1128b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
1138b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( http_proxy, "<proxy>", "make TCP connections through a HTTP/HTTPS proxy" )
1148b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( timezone, "<timezone>", "use this timezone instead of the host's default" )
1158b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( dns_server, "<servers>", "use this DNS server(s) in the emulated system" )
1168b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( cpu_delay, "<cpudelay>", "throttle CPU emulation" )
1178b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( no_boot_anim, "disable animation for faster boot" )
1188b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
1198b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG( no_window, "disable graphical window display" )
1208b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG( version, "display emulator version number" )
1218b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
1228b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( report_console, "<socket>", "report console port to remote socket" )
1238b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( gps, "<device>", "redirect NMEA GPS to character device" )
1248b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( keyset, "<name>", "specify keyset file name" )
1258b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( shell_serial, "<device>", "specific character device for root shell" )
1268b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( old_system, "support old (pre 1.4) system images" )
1278b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( tcpdump, "<file>", "capture network packets to file" )
1288b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
129b58c44e55548129243185ef5927bd3abb5903044David TurnerOPT_PARAM( bootchart, "<timeout>", "enable bootcharting")
130b58c44e55548129243185ef5927bd3abb5903044David Turner
1318b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifdef CONFIG_NAND_LIMITS
1328b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( nand_limits, "<nlimits>", "enforce NAND/Flash read/write thresholds" )
1338b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif
1348b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
1358b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
1368b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#undef CFG_FLAG
1378b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#undef CFG_PARAM
1388b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#undef OPT_FLAG
1398b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#undef OPT_PARAM
140