From 318e4f294c181df33cf2541763904565b29bcccb Mon Sep 17 00:00:00 2001 From: David 'Digit' Turner Date: Mon, 25 May 2009 18:01:03 +0200 Subject: This adds the '-prop =' option which is used to set boot-time system properties from the command line. This is done by implementing a new 'boot-properties' qemud service in the emulator. This is to be used by the 'qemu-props' helper program that will be invoked by /system/etc/init.goldfish.rc to read a list of system properties from the emulator and set them in the emulated system during boot. --- android/boot-properties.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 android/boot-properties.h (limited to 'android/boot-properties.h') diff --git a/android/boot-properties.h b/android/boot-properties.h new file mode 100644 index 0000000..6711c59 --- /dev/null +++ b/android/boot-properties.h @@ -0,0 +1,47 @@ +/* Copyright (C) 2009 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_BOOT_PROPERTIES_H +#define _ANDROID_BOOT_PROPERTIES_H + +/* these values give the maximum length of system property + * names and values. They must match the corresponding definitions + * in the Android source tree (in system/core/include/cutils/properties.h) + */ +#define PROPERTY_MAX_NAME 32 +#define PROPERTY_MAX_VALUE 92 + +/* record a new boot system property, this must be performed before the + * VM is started. Returns 0 on success, or < 0 on error. + * Possible errors are: + * -1 property name too long + * -2 property value too long + * -3 invalid characters in property name + */ +int boot_property_add( const char* name, const char* value ); + +/* same as boot_property_add, but allows to use non-zero terminated strings. + */ +int boot_property_add2( const char* name, int namelen, + const char* value, int valuelen ); + +/* init the boot property QEMUD service. This must be performed before + * the VM is started. This is also performed automatically if you call + * boot_property_add(). + */ +void boot_property_init_service( void ); + +/* parse the parameter the list of -prop options passed on the command line + */ +void boot_property_parse_option( const char* param ); + +#endif /* _ANDROID_BOOT_PROPERTIES_H */ -- cgit v1.1