Patch from Robert Walsh <rjwalsh@durables.org>. Adds some new client
requests to allow client code to print messages through Valgrind's
logging mechanism.  The new requests are:
  VALGRIND_PRINTF - do a normal printf (prefixed with **PID**)
  VALGRIND_PRINTF_BACKTRACE - do a printf with stack trace
  VALGRIND_INTERNAL_PRINTF - printf, but for internal use (prefixed with ==PID==)
  VALGRIND_INTERNAL_PRINTF_BACKTRACE - as above, with backtrace


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1974 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/include/vg_skin.h b/include/vg_skin.h
index 2ee0171..9e2c4be 100644
--- a/include/vg_skin.h
+++ b/include/vg_skin.h
@@ -170,18 +170,20 @@
 typedef
    enum { Vg_UserMsg,         /* '?' == '=' */
           Vg_DebugMsg,        /* '?' == '-' */
-          Vg_DebugExtraMsg    /* '?' == '+' */
+          Vg_DebugExtraMsg,   /* '?' == '+' */
+          Vg_ClientMsg,       /* '?' == '*' */
    }
    VgMsgKind;
 
 /* Functions for building a message from multiple parts. */
-extern void VG_(start_msg)  ( VgMsgKind kind );
-extern void VG_(add_to_msg) ( Char* format, ... );
+extern int VG_(start_msg)  ( VgMsgKind kind );
+extern int VG_(add_to_msg) ( Char* format, ... );
 /* Ends and prints the message.  Appends a newline. */
-extern void VG_(end_msg)    ( void );
+extern int VG_(end_msg)    ( void );
 
 /* Send a single-part message.  Appends a newline. */
-extern void VG_(message)    ( VgMsgKind kind, Char* format, ... );
+extern int VG_(message)    ( VgMsgKind kind, Char* format, ... );
+extern int VG_(vmessage)   ( VgMsgKind kind, Char* format, va_list vargs );
 
 
 /*====================================================================*/