cmdline-options.h revision 6f50aa39e741a1d1f3081665d0b7f8d56b7b793c
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 8318e4f294c181df33cf2541763904565b29bcccbDavid 'Digit' Turner#ifndef OPT_LIST 9318e4f294c181df33cf2541763904565b29bcccbDavid 'Digit' Turner#error OPT_LIST is not defined 10318e4f294c181df33cf2541763904565b29bcccbDavid 'Digit' Turner#endif 118b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifndef OPT_FLAG 128b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#error OPT_FLAG is not defined 138b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif 148b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifndef CFG_PARAM 158b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define CFG_PARAM OPT_PARAM 168b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif 178b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifndef CFG_FLAG 188b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define CFG_FLAG OPT_FLAG 198b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif 208b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 218b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* required to ensure that the CONFIG_XXX macros are properly defined */ 22b58c44e55548129243185ef5927bd3abb5903044David Turner#include "android/config/config.h" 238b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 248b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* Some options acts like flags, while others must be followed by a parameter 258b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * string. Nothing really new here. 268b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 278b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * Some options correspond to AVD (Android Virtual Device) configuration 288b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * and will be ignored if you start the emulator with the -avd <name> flag. 298b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 308b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * However, if you use them with -avd-create <name>, these options will be 318b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * recorded into the new AVD directory. Once an AVD is created, there is no 328b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * way to change these options. 338b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 348b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * Several macros are used to define options: 358b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 368b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * OPT_FLAG( name, "description" ) 378b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * used to define a non-config flag option. 388b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * * 'name' is the option suffix that must follow the dash (-) 398b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * as well as the name of an integer variable whose value will 408b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * be 1 if the flag is used, or 0 otherwise. 418b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * * "description" is a short description string that will be 428b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * displayed by 'emulator -help'. 438b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 448b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * OPT_PARAM( name, "<param>", "description" ) 458b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * used to define a non-config parameter option 468b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * * 'name' will point to a char* variable (NULL if option is unused) 478b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * * "<param>" is a template for the parameter displayed by the help 488b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * * 'varname' is the name of a char* variable that will point 498b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * to the parameter string, if any, or will be NULL otherwise. 508b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 518b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * CFG_FLAG( name, "description" ) 528b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * used to define a configuration-specific flag option. 538b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 548b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * CFG_PARAM( name, "<param>", "description" ) 558b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * used to define a configuration-specific parameter option. 568b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 578b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * NOTE: Keep in mind that optio names are converted by translating 588b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * dashes into underscore. 598b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 608b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * This means that '-some-option' is equivalent to '-some_option' 618b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * and will be backed by a variable name 'some_option' 628b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 638b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project */ 648b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 658b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( sysdir, "<dir>", "search for system disk images in <dir>" ) 668b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( system, "<file>", "read initial system image from <file>" ) 678b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( datadir, "<dir>", "write user data into <dir>" ) 688b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( kernel, "<file>", "use specific emulated kernel" ) 698b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( ramdisk, "<file>", "ramdisk image (default <system>/ramdisk.img" ) 708b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( image, "<file>", "obsolete, use -system <file> instead" ) 718b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( initdata, "<file>", "same as '-init-data <file>'" ) 728b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( data, "<file>", "data image (default <datadir>/userdata-qemu.img" ) 73b3ee93a038ab992ffdda9f232befdea6ea713b24The Android Open Source ProjectCFG_PARAM( partition_size, "<size>", "system/data partition size in MBs" ) 748b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( cache, "<file>", "cache partition image (default is temporary file)" ) 756f50aa39e741a1d1f3081665d0b7f8d56b7b793cVladimir ChtchetkineOPT_PARAM( cache_size, "<size>", "cache partition size in MBs" ) 768b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_FLAG ( no_cache, "disable the cache partition" ) 778b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_FLAG ( nocache, "same as -no-cache" ) 788b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( sdcard, "<file>", "SD card image (default <system>/sdcard.img") 79353b3b1135563e2bcaf7797acfa35a2fe2d3a818Ot ten ThijeOPT_PARAM( snapstorage, "<file>", "file that contains all state snapshots (default <datadir>/snapshots.img)") 80353b3b1135563e2bcaf7797acfa35a2fe2d3a818Ot ten ThijeOPT_FLAG ( no_snapstorage, "do not mount a snapshot storage file (this disables all snapshot functionality)" ) 8153d8a5c0c8fc087d16316a4399f5a773339c4956Tim BaverstockOPT_PARAM( snapshot, "<name>", "name of snapshot within storage file for auto-start and auto-save (default 'default-boot')" ) 8253d8a5c0c8fc087d16316a4399f5a773339c4956Tim BaverstockOPT_FLAG ( no_snapshot, "perform a full boot and do not do not auto-save, but qemu vmload and vmsave operate on snapstorage" ) 8353d8a5c0c8fc087d16316a4399f5a773339c4956Tim BaverstockOPT_FLAG ( no_snapshot_save, "do not auto-save to snapshot on exit: abandon changed state" ) 8453d8a5c0c8fc087d16316a4399f5a773339c4956Tim BaverstockOPT_FLAG ( no_snapshot_load, "do not auto-start from snapshot: perform a full boot" ) 85ae835acc2d1a8b4aaeb599add9cfc02ea5789eafOt ten ThijeOPT_FLAG ( snapshot_list, "show a list of available snapshots" ) 86622b8f4c760b8c4479d28430f978bad8bb9ea32cTim BaverstockOPT_FLAG ( no_snapshot_update_time, "do not do try to correct snapshot time on restore" ) 87fd59c330bec77e7b9241e478efb1e1c508480d1dDavid 'Digit' TurnerOPT_FLAG ( wipe_data, "reset the user data image (copy it from initdata)" ) 888b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( avd, "<name>", "use a specific android virtual device" ) 898b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( skindir, "<dir>", "search skins in <dir> (default <system>/skins)" ) 908b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( skin, "<name>", "select a given skin" ) 918b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_FLAG ( no_skin, "don't use any emulator skin" ) 928b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_FLAG ( noskin, "same as -no-skin" ) 938b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectCFG_PARAM( memory, "<size>", "physical RAM size in MBs" ) 948b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 958b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( netspeed, "<speed>", "maximum network download/upload speeds" ) 968b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( netdelay, "<delay>", "network latency emulation" ) 978b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( netfast, "disable network shaping" ) 988b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 998b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( trace, "<name>", "enable code profiling (F9 to start)" ) 1008b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( show_kernel, "display kernel messages" ) 1018b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( shell, "enable root shell on current terminal" ) 1028b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( no_jni, "disable JNI checks in the Dalvik runtime" ) 1038b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( nojni, "same as -no-jni" ) 1048b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( logcat, "<tags>", "enable logcat output with given tags" ) 1058b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 1068b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( no_audio, "disable audio support" ) 1078b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( noaudio, "same as -no-audio" ) 1088b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( audio, "<backend>", "use specific audio backend" ) 1098b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 1108b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( raw_keys, "disable Unicode keyboard reverse-mapping" ) 1118b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( radio, "<device>", "redirect radio modem interface to character device" ) 1128b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( port, "<port>", "TCP port that will be used for the console" ) 1138b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( ports, "<consoleport>,<adbport>", "TCP ports used for the console and adb bridge" ) 1148b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( onion, "<image>", "use overlay PNG image over screen" ) 1158b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( onion_alpha, "<%age>", "specify onion-skin translucency" ) 1168b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( onion_rotation, "0|1|2|3", "specify onion-skin rotation" ) 1178b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 1188b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( scale, "<scale>", "scale emulator window" ) 1198b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( dpi_device, "<dpi>", "specify device's resolution in dpi (default " 1208b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project STRINGIFY(DEFAULT_DEVICE_DPI) ")" ) 1218b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 1228b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( http_proxy, "<proxy>", "make TCP connections through a HTTP/HTTPS proxy" ) 1238b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( timezone, "<timezone>", "use this timezone instead of the host's default" ) 1248b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( dns_server, "<servers>", "use this DNS server(s) in the emulated system" ) 1258b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( cpu_delay, "<cpudelay>", "throttle CPU emulation" ) 1268b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG ( no_boot_anim, "disable animation for faster boot" ) 1278b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 1288b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG( no_window, "disable graphical window display" ) 1298b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_FLAG( version, "display emulator version number" ) 1308b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 1318b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( report_console, "<socket>", "report console port to remote socket" ) 1328b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( gps, "<device>", "redirect NMEA GPS to character device" ) 1338b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( keyset, "<name>", "specify keyset file name" ) 1348b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( shell_serial, "<device>", "specific character device for root shell" ) 1358b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( tcpdump, "<file>", "capture network packets to file" ) 1368b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 137b58c44e55548129243185ef5927bd3abb5903044David TurnerOPT_PARAM( bootchart, "<timeout>", "enable bootcharting") 138b58c44e55548129243185ef5927bd3abb5903044David Turner 1399085a28c14f369d231dbae099a690689179f428avchtchetkineOPT_PARAM( charmap, "<file>", "use specific key character map") 1409085a28c14f369d231dbae099a690689179f428avchtchetkine 141318e4f294c181df33cf2541763904565b29bcccbDavid 'Digit' TurnerOPT_LIST( prop, "<name>=<value>", "set system property on boot") 142318e4f294c181df33cf2541763904565b29bcccbDavid 'Digit' Turner 14340beab42ecdc4e2a79714b54c401feb0fb33b6d0Dries HarnieOPT_PARAM( shared_net_id, "<number>", "join the shared network, using IP address 10.1.2.<number>") 14440beab42ecdc4e2a79714b54c401feb0fb33b6d0Dries Harnie 1458b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifdef CONFIG_NAND_LIMITS 1468b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source ProjectOPT_PARAM( nand_limits, "<nlimits>", "enforce NAND/Flash read/write thresholds" ) 1478b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif 1488b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 1495389aa19033153c09556d1362a8b8a56abccb8f5Vladimir Chtchetkine#ifdef CONFIG_MEMCHECK 1505389aa19033153c09556d1362a8b8a56abccb8f5Vladimir ChtchetkineOPT_PARAM( memcheck, "<flags>", "enable memory access checking" ) 1515389aa19033153c09556d1362a8b8a56abccb8f5Vladimir Chtchetkine#endif // CONFIG_MEMCHECK 1528b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 1539a33e8554225c82cd900208f88e8965bb085ab87Vladimir Chtchetkine#ifdef CONFIG_STANDALONE_UI 1549a33e8554225c82cd900208f88e8965bb085ab87Vladimir ChtchetkineOPT_PARAM( list_cores, "<host>", "list running core process" ) 155d87b080495e71ada650b165a1f06616b433e6073Vladimir ChtchetkineOPT_PARAM( attach_core, "<console socket>", "attach to a running core process" ) 1569a33e8554225c82cd900208f88e8965bb085ab87Vladimir Chtchetkine#endif // CONFIG_STANDALONE_UI 1579a33e8554225c82cd900208f88e8965bb085ab87Vladimir Chtchetkine 1589da935dd0c616cfd9072d11080a622320497dc9eDavid TurnerOPT_PARAM( gpu, "<mode>", "set hardware OpenGLES emulation mode" ) 1599da935dd0c616cfd9072d11080a622320497dc9eDavid Turner 1607485c2989d727a1d0c14a66fb75e140f885a1583Vladimir ChtchetkineOPT_PARAM( camera_back, "<mode>", "set emulation mode for a camera facing back" ) 1617485c2989d727a1d0c14a66fb75e140f885a1583Vladimir ChtchetkineOPT_PARAM( camera_front, "<mode>", "set emulation mode for a camera facing front" ) 1627485c2989d727a1d0c14a66fb75e140f885a1583Vladimir ChtchetkineOPT_FLAG( webcam_list, "lists web cameras available for emulation" ) 163ae0d8136ce0d3c39ca80c64763e633b86b0c5453Vladimir Chtchetkine 1648dd31e8e10fc3ca10192368acf19d2345eeddde7Vladimir ChtchetkineOPT_PARAM( screen, "<mode>", "set emulated screen mode" ) 1658dd31e8e10fc3ca10192368acf19d2345eeddde7Vladimir Chtchetkine 166ddd4ef7f7c8d07e95dc88ca897634f537666d5f3Andrew HsiehOPT_FLAG( force_32bit, "always use 32-bit emulator" ) 167ddd4ef7f7c8d07e95dc88ca897634f537666d5f3Andrew Hsieh 1688b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#undef CFG_FLAG 1698b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#undef CFG_PARAM 1708b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#undef OPT_FLAG 1718b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#undef OPT_PARAM 172318e4f294c181df33cf2541763904565b29bcccbDavid 'Digit' Turner#undef OPT_LIST 173