AI 144597: am: CL 144596 am: CL 144595 Fix the AVD configuration code to support "sdcard.path" in config.ini to indicate an explicit SD Card image file (instead of using the one in the content directory)
  Note that this also fix a bug where the SD Card image was not properly locked in the previous implementation.
  Allow the http-proxy support code to actually manage to receive chunked encoding data, instead of complaining needlessly.
  Introduce a new CharBuffer object that is used indirectly by "-radio <hostdevice>" and "-gps <hostdevice>" options
  Add new documentation for QEMUD and CharDriverState objects
  Update the Audio documentation with ASCII graphics (because I'm an artist too)
  Original author: digit
  Merged from: //branches/cupcake/...
  Original author: android-build

Automated import of CL 144597
diff --git a/charpipe.h b/charpipe.h
index 88dffde..94feadc 100644
--- a/charpipe.h
+++ b/charpipe.h
@@ -20,6 +20,13 @@
  */
 extern int  qemu_chr_open_charpipe( CharDriverState* *pfirst, CharDriverState* *psecond );
 
+/* create a buffering character driver for a given endpoint. The result will buffer
+ * anything that is sent to it but cannot be sent to the endpoint immediately.
+ * On the other hand, if the endpoint calls can_read() or read(), these calls
+ * are passed immediately to the can_read() or read() handlers of the result.
+ */
+extern CharDriverState*  qemu_chr_open_buffer( CharDriverState*  endpoint );
+
 /* must be called from the main event loop to poll all charpipes */
 extern void charpipe_poll( void );