Index: /trunk/include/iprt/mangling.h
===================================================================
--- /trunk/include/iprt/mangling.h	(revision 59066)
+++ /trunk/include/iprt/mangling.h	(revision 59067)
@@ -1770,4 +1770,5 @@
 # define RTStrHash1N                                    RT_MANGLER(RTStrHash1N)
 # define RTStrICmp                                      RT_MANGLER(RTStrICmp)
+# define RTStrIStartsWith                               RT_MANGLER(RTStrIStartsWith)
 # define RTStrIStr                                      RT_MANGLER(RTStrIStr)
 # define RTStrIsCaseFoldable                            RT_MANGLER(RTStrIsCaseFoldable)
@@ -1818,4 +1819,5 @@
 # define RTStrSpaceInsert                               RT_MANGLER(RTStrSpaceInsert)
 # define RTStrSpaceRemove                               RT_MANGLER(RTStrSpaceRemove)
+# define RTStrStartsWith                                RT_MANGLER(RTStrStartsWith)
 # define RTStrStr                                       RT_MANGLER(RTStrStr)
 # define RTStrStrip                                     RT_MANGLER(RTStrStrip)
Index: /trunk/include/iprt/string.h
===================================================================
--- /trunk/include/iprt/string.h	(revision 59066)
+++ /trunk/include/iprt/string.h	(revision 59067)
@@ -2157,4 +2157,22 @@
 
 /**
+ * Checks whether @a pszString starts with @a pszStart.
+ *
+ * @returns true / false.
+ * @param   pszString   The string to check.
+ * @param   pszStart    The start string to check for.
+ */
+RTDECL(int) RTStrStartsWith(const char *pszString, const char *pszStart);
+
+/**
+ * Checks whether @a pszString starts with @a pszStart, case insensitive.
+ *
+ * @returns true / false.
+ * @param   pszString   The string to check.
+ * @param   pszStart    The start string to check for.
+ */
+RTDECL(int) RTStrIStartsWith(const char *pszString, const char *pszStart);
+
+/**
  * Locates a case sensitive substring.
  *
Index: /trunk/src/VBox/Runtime/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Runtime/Makefile.kmk	(revision 59066)
+++ /trunk/src/VBox/Runtime/Makefile.kmk	(revision 59067)
@@ -508,4 +508,6 @@
 	common/string/RTStrNLenEx.cpp \
 	common/string/RTStrPrintHexBytes.cpp \
+	common/string/RTStrStartsWith.cpp \
+	common/string/RTStrIStartsWith.cpp \
 	common/string/RTStrStr.cpp \
 	common/string/RTUtf16Copy.cpp \
Index: /trunk/src/VBox/Runtime/common/string/RTStrIStartsWith.cpp
===================================================================
--- /trunk/src/VBox/Runtime/common/string/RTStrIStartsWith.cpp	(revision 59067)
+++ /trunk/src/VBox/Runtime/common/string/RTStrIStartsWith.cpp	(revision 59067)
@@ -0,0 +1,49 @@
+/* $Id$ */
+/** @file
+ * IPRT - String starts with predicate, case insensitive.
+ */
+
+/*
+ * Copyright (C) 2006-2015 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ */
+
+
+/*********************************************************************************************************************************
+*   Header Files                                                                                                                 *
+*********************************************************************************************************************************/
+#define LOG_GROUP RTLOGGROUP_STRING
+#include <iprt/string.h>
+#include "internal/iprt.h"
+
+
+RTDECL(int) RTStrIStartsWith(const char *pszString, const char *pszStart)
+{
+    if (pszString)
+    {
+        if (*pszString == *pszStart)
+        {
+            size_t cchStart = strlen(pszStart);
+            if (RTStrNICmp(pszString, pszStart, cchStart) == 0)
+                return true;
+        }
+    }
+    return false;
+}
+
Index: /trunk/src/VBox/Runtime/common/string/RTStrStartsWith.cpp
===================================================================
--- /trunk/src/VBox/Runtime/common/string/RTStrStartsWith.cpp	(revision 59067)
+++ /trunk/src/VBox/Runtime/common/string/RTStrStartsWith.cpp	(revision 59067)
@@ -0,0 +1,49 @@
+/* $Id$ */
+/** @file
+ * IPRT - String starts with predicate.
+ */
+
+/*
+ * Copyright (C) 2006-2015 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ */
+
+
+/*********************************************************************************************************************************
+*   Header Files                                                                                                                 *
+*********************************************************************************************************************************/
+#define LOG_GROUP RTLOGGROUP_STRING
+#include <iprt/string.h>
+#include "internal/iprt.h"
+
+
+RTDECL(int) RTStrStartsWith(const char *pszString, const char *pszStart)
+{
+    if (pszString)
+    {
+        if (*pszString == *pszStart)
+        {
+            size_t cchStart = strlen(pszStart);
+            if (strncmp(pszString, pszStart, cchStart) == 0)
+                return true;
+        }
+    }
+    return false;
+}
+
