Index: /trunk/include/iprt/file.h
===================================================================
--- /trunk/include/iprt/file.h	(revision 23972)
+++ /trunk/include/iprt/file.h	(revision 23973)
@@ -87,6 +87,6 @@
                                      /* 0x00000008 is unused atm. */
 
-/** Sharing mode: deny none (the default mode). */
-#define RTFILE_O_DENY_NONE              0x00000000
+/** Sharing mode: deny none. */
+#define RTFILE_O_DENY_NONE              0x00000080
 /** Sharing mode: deny read. */
 #define RTFILE_O_DENY_READ              0x00000010
@@ -103,8 +103,8 @@
 #define RTFILE_O_DENY_NOT_DELETE        0x00000040
 /** Sharing mode mask. */
-#define RTFILE_O_DENY_MASK              0x00000070
+#define RTFILE_O_DENY_MASK              0x000000f0
 
 /** Action: Open an existing file (the default action). */
-#define RTFILE_O_OPEN                   0x00000000
+#define RTFILE_O_OPEN                   0x00000700
 /** Action: Create a new file or open an existing one. */
 #define RTFILE_O_OPEN_CREATE            0x00000100
@@ -114,8 +114,6 @@
 #define RTFILE_O_CREATE_REPLACE         0x00000300
 /** Action mask. */
-#define RTFILE_O_ACTION_MASK            0x00000300
-
-                                      /*0x00000400
-                                    and 0x00000800 are unused atm. */
+#define RTFILE_O_ACTION_MASK            0x00000700
+
 /** Turns off indexing of files on Windows hosts, *CREATE* only.
  * @remarks Window only. */
@@ -201,5 +199,5 @@
  * @remark  This doesn't validate the access mode properly.
  */
-#define RTFILE_O_VALID_MASK             0x1ffFFB77
+#define RTFILE_O_VALID_MASK             0x1ffFFFF7
 
 /** @} */
@@ -224,6 +222,7 @@
  * @param   pszFilename     Path to the file which is to be opened. (UTF-8)
  * @param   fOpen           Open flags, i.e a combination of the RTFILE_O_* defines.
- */
-RTR3DECL(int)  RTFileOpen(PRTFILE pFile, const char *pszFilename, unsigned fOpen);
+ *                          The ACCESS, ACTION and DENY flags are mandatory!
+ */
+RTR3DECL(int)  RTFileOpen(PRTFILE pFile, const char *pszFilename, uint32_t fOpen);
 
 /**
Index: /trunk/src/VBox/Devices/Network/slirp/slirp.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/slirp.c	(revision 23972)
+++ /trunk/src/VBox/Devices/Network/slirp/slirp.c	(revision 23973)
@@ -375,23 +375,23 @@
     {
         RTStrmPrintf(buff, sizeof(buff), "%s/RESOLV2", etc);
-        rc = RTFileOpen(&f, buff, RTFILE_O_READ);
+        rc = RTFileOpen(&f, buff, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     }
     if (RT_FAILURE(rc))
     {
         RTStrmPrintf(buff, sizeof(buff), "%s/RESOLV2", _PATH_ETC);
-        rc = RTFileOpen(&f, buff, RTFILE_O_READ);
+        rc = RTFileOpen(&f, buff, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     }
     if (RT_FAILURE(rc))
     {
         RTStrmPrintf(buff, sizeof(buff), "%s/resolv.conf", _PATH_ETC);
-        rc = RTFileOpen(&f, buff, RTFILE_O_READ);
+        rc = RTFileOpen(&f, buff, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     }
 #else
 # ifndef DEBUG_vvl
-    rc = RTFileOpen(&f, "/etc/resolv.conf", RTFILE_O_READ);
+    rc = RTFileOpen(&f, "/etc/resolv.conf", RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
 # else
     char *home = getenv("HOME");
     RTStrPrintf(buff, sizeof(buff), "%s/resolv.conf", home);
-    rc = RTFileOpen(&f, buff, RTFILE_O_READ);
+    rc = RTFileOpen(&f, buff, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_SUCCESS(rc))
     {
@@ -400,5 +400,5 @@
     else
     {
-        rc = RTFileOpen(&f, "/etc/resolv.conf", RTFILE_O_READ);
+        rc = RTFileOpen(&f, "/etc/resolv.conf", RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
         Log(("NAT: DNS we're using %s\n", buff));
     }
@@ -771,5 +771,5 @@
     if (!link_up)
         goto done;
-    
+
     /*
      * *_slowtimo needs calling if there are IP fragments
@@ -804,5 +804,5 @@
         if (pData->fmbuf_water_line == 1)
         {
-            if (mbuf_alloced < pData->mbuf_water_line_limit/2) 
+            if (mbuf_alloced < pData->mbuf_water_line_limit/2)
             {
                 pData->fmbuf_water_warn_sent = 0;
@@ -887,5 +887,5 @@
         if (pData->fmbuf_water_line == 1)
         {
-            if (mbuf_alloced < pData->mbuf_water_line_limit/2) 
+            if (mbuf_alloced < pData->mbuf_water_line_limit/2)
             {
                 pData->fmbuf_water_line = 0;
@@ -1027,5 +1027,5 @@
         if (pData->fmbuf_water_line == 1)
         {
-            if (mbuf_alloced < pData->mbuf_water_line_limit/2) 
+            if (mbuf_alloced < pData->mbuf_water_line_limit/2)
             {
                 pData->fmbuf_water_line = 0;
@@ -1324,5 +1324,5 @@
         if (pData->fmbuf_water_line == 1)
         {
-            if (mbuf_alloced < pData->mbuf_water_line_limit/2) 
+            if (mbuf_alloced < pData->mbuf_water_line_limit/2)
             {
                 pData->fmbuf_water_line = 0;
@@ -1549,5 +1549,5 @@
         return;
     }
-    eh = mtod(m, struct ethhdr *); 
+    eh = mtod(m, struct ethhdr *);
     proto = ntohs(eh->h_proto);
 #else
@@ -1621,9 +1621,9 @@
 #endif
 #if 1
-            if (   pData->fmbuf_water_line 
+            if (   pData->fmbuf_water_line
                 && pData->fmbuf_water_warn_sent == 0
                 && (curtime - pData->tsmbuf_water_warn_sent) > 500)
             {
-                icmp_error(pData, m, ICMP_SOURCEQUENCH, 0, 0, "Out of resources!!!"); 
+                icmp_error(pData, m, ICMP_SOURCEQUENCH, 0, 0, "Out of resources!!!");
                 pData->fmbuf_water_warn_sent = 1;
                 pData->tsmbuf_water_warn_sent = curtime;
Index: /trunk/src/VBox/Devices/Parallel/DrvHostParallel.cpp
===================================================================
--- /trunk/src/VBox/Devices/Parallel/DrvHostParallel.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Parallel/DrvHostParallel.cpp	(revision 23973)
@@ -260,5 +260,5 @@
 /**
  * Construct a host parallel driver instance.
- *  
+ *
  * @copydoc FNPDMDRVCONSTRUCT
  */
@@ -303,5 +303,5 @@
      * Open the device
      */
-    rc = RTFileOpen(&pThis->FileDevice, pThis->pszDevicePath, RTFILE_O_OPEN | RTFILE_O_READWRITE);
+    rc = RTFileOpen(&pThis->FileDevice, pThis->pszDevicePath, RTFILE_O_READWRITE | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return PDMDrvHlpVMSetError(pDrvIns, rc, RT_SRC_POS, N_("Parallel#%d could not open '%s'"),
@@ -433,7 +433,7 @@
     NULL,
     /* pfnDetach */
-    NULL, 
+    NULL,
     /* pfnPowerOff */
-    NULL, 
+    NULL,
     /* pfnSoftReset */
     NULL,
Index: /trunk/src/VBox/Devices/Serial/DrvHostSerial.cpp
===================================================================
--- /trunk/src/VBox/Devices/Serial/DrvHostSerial.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Serial/DrvHostSerial.cpp	(revision 23973)
@@ -1211,5 +1211,5 @@
 /**
  * Construct a char driver instance.
- *  
+ *
  * @copydoc FNPDMDRVCONSTRUCT
  */
@@ -1288,8 +1288,8 @@
 #else
 
-    rc = RTFileOpen(&pThis->DeviceFile, pThis->pszDevicePath, RTFILE_O_OPEN | RTFILE_O_READWRITE);
+    rc = RTFileOpen(&pThis->DeviceFile, pThis->pszDevicePath, RTFILE_O_READWRITE | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
 # ifdef RT_OS_DARWIN
     if (RT_SUCCESS(rc))
-        rc = RTFileOpen(&pThis->DeviceFileR, pThis->pszDevicePath, RTFILE_O_OPEN | RTFILE_O_READ);
+        rc = RTFileOpen(&pThis->DeviceFileR, pThis->pszDevicePath, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
 # endif
 
@@ -1495,7 +1495,7 @@
     NULL,
     /* pfnDetach */
-    NULL, 
+    NULL,
     /* pfnPowerOff */
-    NULL, 
+    NULL,
     /* pfnSoftReset */
     NULL,
Index: /trunk/src/VBox/Devices/Serial/DrvRawFile.cpp
===================================================================
--- /trunk/src/VBox/Devices/Serial/DrvRawFile.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Serial/DrvRawFile.cpp	(revision 23973)
@@ -150,5 +150,5 @@
      * Open the raw file.
      */
-    rc = RTFileOpen(&pThis->OutputFile, pThis->pszLocation, RTFILE_O_CREATE_REPLACE | RTFILE_O_WRITE | RTFILE_O_DENY_NONE);
+    rc = RTFileOpen(&pThis->OutputFile, pThis->pszLocation, RTFILE_O_WRITE | RTFILE_O_CREATE_REPLACE | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
     {
@@ -180,5 +180,5 @@
 
     if (pThis->OutputFile != NIL_RTFILE)
-    {    
+    {
         RTFileClose(pThis->OutputFile);
         pThis->OutputFile = NIL_RTFILE;
@@ -200,5 +200,5 @@
 
     if (pThis->OutputFile != NIL_RTFILE)
-    {    
+    {
         RTFileClose(pThis->OutputFile);
         pThis->OutputFile = NIL_RTFILE;
Index: /trunk/src/VBox/Devices/Storage/DrvHostBase.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/DrvHostBase.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Storage/DrvHostBase.cpp	(revision 23973)
@@ -961,5 +961,5 @@
     RTFILE FileDevice;
 
-    rc = RTFileOpen(&FileDevice, pThis->pszDeviceOpen, RTFILE_O_READWRITE);
+    rc = RTFileOpen(&FileDevice, pThis->pszDeviceOpen, RTFILE_O_READWRITE | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return rc;
@@ -983,5 +983,5 @@
             RTFILE PassthroughDevice;
 
-            rc = RTFileOpen(&PassthroughDevice, pszPassthroughDevice, RTFILE_O_READWRITE);
+            rc = RTFileOpen(&PassthroughDevice, pszPassthroughDevice, RTFILE_O_READWRITE | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
 
             RTStrFree(pszPassthroughDevice);
@@ -1046,5 +1046,6 @@
 static int drvHostBaseOpen(PDRVHOSTBASE pThis, PRTFILE pFileBlockDevice, PRTFILE pFileRawDevice, bool fReadOnly)
 {
-    unsigned fFlags = (fReadOnly ? RTFILE_O_READ : RTFILE_O_READWRITE) | RTFILE_O_NON_BLOCK;
+    unsigned fFlags = (fReadOnly ? RTFILE_O_READ : RTFILE_O_READWRITE)
+                    | RTFILE_O_OPEN | RTFILE_O_DENY_NONE | RTFILE_O_NON_BLOCK;
     int rc = RTFileOpen(pFileBlockDevice, pThis->pszDeviceOpen, fFlags);
     if (RT_SUCCESS(rc))
Index: /trunk/src/VBox/Devices/Storage/DrvSCSIHost.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/DrvSCSIHost.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Storage/DrvSCSIHost.cpp	(revision 23973)
@@ -478,5 +478,5 @@
                                 N_("Configuration error: Failed to get the \"DevicePath\" value"));
 
-    rc = RTFileOpen(&pThis->DeviceFile, pThis->pszDevicePath, RTFILE_O_OPEN | RTFILE_O_READWRITE);
+    rc = RTFileOpen(&pThis->DeviceFile, pThis->pszDevicePath, RTFILE_O_READWRITE | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return PDMDrvHlpVMSetError(pDrvIns, rc, RT_SRC_POS,
Index: /trunk/src/VBox/Devices/Storage/ParallelsHDDCore.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/ParallelsHDDCore.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Storage/ParallelsHDDCore.cpp	(revision 23973)
@@ -143,13 +143,13 @@
 
 #ifndef VBOX_WITH_NEW_IO_CODE
-    unsigned uFileFlags = fReadonly ? RTFILE_O_READ      | RTFILE_O_DENY_NONE
-                                    : RTFILE_O_READWRITE | RTFILE_O_DENY_WRITE;
+    uint32_t fOpen = fReadonly ? RTFILE_O_READ      | RTFILE_O_DENY_NONE
+                               : RTFILE_O_READWRITE | RTFILE_O_DENY_WRITE;
 
     if (fCreate)
-        uFileFlags |= RTFILE_O_CREATE;
-    else
-        uFileFlags |= RTFILE_O_OPEN;
-
-    rc = RTFileOpen(&pImage->File, pImage->pszFilename, uFileFlags);
+        fOpen |= RTFILE_O_CREATE;
+    else
+        fOpen |= RTFILE_O_OPEN;
+
+    rc = RTFileOpen(&pImage->File, pImage->pszFilename, fOpen);
 #else
 
@@ -415,5 +415,5 @@
     int rc;
 
-    rc = RTFileOpen(&File, pszFilename, RTFILE_O_READ);
+    rc = RTFileOpen(&File, pszFilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return VERR_VD_GEN_INVALID_HEADER;
Index: /trunk/src/VBox/Devices/Storage/RawHDDCore.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/RawHDDCore.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Storage/RawHDDCore.cpp	(revision 23973)
@@ -122,13 +122,13 @@
 
 #ifndef VBOX_WITH_NEW_IO_CODE
-    unsigned uFileFlags = fReadonly ? RTFILE_O_READ      | RTFILE_O_DENY_NONE
-                                    : RTFILE_O_READWRITE | RTFILE_O_DENY_WRITE;
+    uint32_t fOpen = fReadonly ? RTFILE_O_READ      | RTFILE_O_DENY_NONE
+                               : RTFILE_O_READWRITE | RTFILE_O_DENY_WRITE;
 
     if (fCreate)
-        uFileFlags |= RTFILE_O_CREATE;
-    else
-        uFileFlags |= RTFILE_O_OPEN;
-
-    rc = RTFileOpen(&pImage->File, pImage->pszFilename, uFileFlags);
+        fOpen |= RTFILE_O_CREATE;
+    else
+        fOpen |= RTFILE_O_OPEN;
+
+    rc = RTFileOpen(&pImage->File, pImage->pszFilename, fOpen);
 #else
 
Index: /trunk/src/VBox/Devices/Storage/VBoxHDD.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/VBoxHDD.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Storage/VBoxHDD.cpp	(revision 23973)
@@ -738,18 +738,18 @@
     pStorage->pfnCompleted = pfnCompleted;
 
-    unsigned uFlags = 0;
+    uint32_t fOpen = 0;
 
     if (uOpenFlags & VD_INTERFACEASYNCIO_OPEN_FLAGS_READONLY)
-        uFlags |= RTFILE_O_READ | RTFILE_O_DENY_NONE;
+        fOpen |= RTFILE_O_READ      | RTFILE_O_DENY_NONE;
     else
-        uFlags |= RTFILE_O_READWRITE | RTFILE_O_DENY_WRITE;
+        fOpen |= RTFILE_O_READWRITE | RTFILE_O_DENY_WRITE;
 
     if (uOpenFlags & VD_INTERFACEASYNCIO_OPEN_FLAGS_CREATE)
-        uFlags |= RTFILE_O_CREATE;
+        fOpen |= RTFILE_O_CREATE;
     else
-        uFlags |= RTFILE_O_OPEN;
+        fOpen |= RTFILE_O_OPEN;
 
     /* Open the file. */
-    int rc = RTFileOpen(&pStorage->File, pszLocation, uFlags);
+    int rc = RTFileOpen(&pStorage->File, pszLocation, fOpen);
     if (RT_SUCCESS(rc))
     {
Index: /trunk/src/VBox/Devices/Storage/VBoxHDDFormats/AppleDiskImage/VBoxDMG.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/VBoxHDDFormats/AppleDiskImage/VBoxDMG.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Storage/VBoxHDDFormats/AppleDiskImage/VBoxDMG.cpp	(revision 23973)
@@ -1035,5 +1035,5 @@
      */
     RTFILE hFile;
-    int rc = RTFileOpen(&hFile, pszFilename, RTFILE_O_OPEN | RTFILE_O_READ | RTFILE_O_DENY_WRITE);
+    int rc = RTFileOpen(&hFile, pszFilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_WRITE);
     if (RT_FAILURE(rc))
         return rc;
Index: /trunk/src/VBox/Devices/Storage/VDIHDDCore.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/VDIHDDCore.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Storage/VDIHDDCore.cpp	(revision 23973)
@@ -89,13 +89,13 @@
 
 #ifndef VBOX_WITH_NEW_IO_CODE
-    unsigned uFileFlags = fReadonly ? RTFILE_O_READ      | RTFILE_O_DENY_NONE
-                                    : RTFILE_O_READWRITE | RTFILE_O_DENY_WRITE;
+    uint32_t fOpen = fReadonly ? RTFILE_O_READ      | RTFILE_O_DENY_NONE
+                               : RTFILE_O_READWRITE | RTFILE_O_DENY_WRITE;
 
     if (fCreate)
-        uFileFlags |= RTFILE_O_CREATE;
+        fOpen |= RTFILE_O_CREATE;
     else
-        uFileFlags |= RTFILE_O_OPEN;
-
-    rc = RTFileOpen(&pImage->File, pImage->pszFilename, uFileFlags);
+        fOpen |= RTFILE_O_OPEN;
+
+    rc = RTFileOpen(&pImage->File, pImage->pszFilename, fOpen);
 #else
 
Index: /trunk/src/VBox/Devices/Storage/VHDHDDCore.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/VHDHDDCore.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Storage/VHDHDDCore.cpp	(revision 23973)
@@ -226,13 +226,13 @@
 
 #ifndef VBOX_WITH_NEW_IO_CODE
-    unsigned uFileFlags = fReadonly ? RTFILE_O_READ      | RTFILE_O_DENY_NONE
-                                    : RTFILE_O_READWRITE | RTFILE_O_DENY_WRITE;
+    uint32_t fOpen = fReadonly ? RTFILE_O_READ      | RTFILE_O_DENY_NONE
+                               : RTFILE_O_READWRITE | RTFILE_O_DENY_WRITE;
 
     if (fCreate)
-        uFileFlags |= RTFILE_O_CREATE;
-    else
-        uFileFlags |= RTFILE_O_OPEN;
-
-    rc = RTFileOpen(&pImage->File, pImage->pszFilename, uFileFlags);
+        fOpen |= RTFILE_O_CREATE;
+    else
+        fOpen |= RTFILE_O_OPEN;
+
+    rc = RTFileOpen(&pImage->File, pImage->pszFilename, fOpen);
 #else
 
@@ -774,5 +774,5 @@
     VHDFooter vhdFooter;
 
-    rc = RTFileOpen(&File, pszFilename, RTFILE_O_READ | RTFILE_O_OPEN);
+    rc = RTFileOpen(&File, pszFilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return VERR_VD_VHD_INVALID_HEADER;
@@ -2015,5 +2015,5 @@
         /* Interface doesn't provide such a feature. */
         RTFILE File;
-        rc = RTFileOpen(&File, pImage->pszFilename, RTFILE_O_OPEN | RTFILE_O_READ);
+        rc = RTFileOpen(&File, pImage->pszFilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
         if (RT_SUCCESS(rc))
         {
Index: /trunk/src/VBox/Devices/Storage/testcase/tstVD.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/testcase/tstVD.cpp	(revision 23972)
+++ /trunk/src/VBox/Devices/Storage/testcase/tstVD.cpp	(revision 23973)
@@ -100,5 +100,5 @@
     {
         RTFILE File;
-        rc = RTFileOpen(&File, pszFilename, RTFILE_O_READ);
+        rc = RTFileOpen(&File, pszFilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
         if (RT_SUCCESS(rc))
         {
@@ -153,5 +153,5 @@
     VDClose(pVD, true);
     RTFILE File;
-    rc = RTFileOpen(&File, pszFilename, RTFILE_O_READ);
+    rc = RTFileOpen(&File, pszFilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_SUCCESS(rc))
     {
@@ -535,5 +535,5 @@
 
     RTFILE File;
-    rc = RTFileOpen(&File, pszBaseFilename, RTFILE_O_READ);
+    rc = RTFileOpen(&File, pszBaseFilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_SUCCESS(rc))
     {
@@ -658,5 +658,5 @@
 
     RTFILE File;
-    rc = RTFileOpen(&File, pszFilename, RTFILE_O_READ);
+    rc = RTFileOpen(&File, pszFilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_SUCCESS(rc))
     {
@@ -827,5 +827,5 @@
 
     RTFILE File;
-    rc = RTFileOpen(&File, DST_PATH, RTFILE_O_CREATE | RTFILE_O_WRITE);
+    rc = RTFileOpen(&File, DST_PATH, RTFILE_O_WRITE | RTFILE_O_CREATE | RTFILE_O_DENY_NONE);
     if (RT_SUCCESS(rc))
         RTFileClose(File);
Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxInternalManage.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxInternalManage.cpp	(revision 23972)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxInternalManage.cpp	(revision 23973)
@@ -824,5 +824,5 @@
 
     RTFILE RawFile;
-    int vrc = RTFileOpen(&RawFile, rawdisk.raw(), RTFILE_O_OPEN | RTFILE_O_READ | RTFILE_O_DENY_WRITE);
+    int vrc = RTFileOpen(&RawFile, rawdisk.raw(), RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_WRITE);
     if (RT_FAILURE(vrc))
     {
@@ -944,5 +944,5 @@
 #endif /* RT_OS_DARWIN */
     RTFILE RawFile;
-    int vrc = RTFileOpen(&RawFile, rawdisk.raw(), RTFILE_O_OPEN | RTFILE_O_READ | RTFILE_O_DENY_WRITE);
+    int vrc = RTFileOpen(&RawFile, rawdisk.raw(), RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_WRITE);
     if (RT_FAILURE(vrc))
     {
@@ -1271,5 +1271,5 @@
                 {
                     RTFILE MBRFile;
-                    vrc = RTFileOpen(&MBRFile, pszMBRFilename, RTFILE_O_OPEN | RTFILE_O_READ | RTFILE_O_DENY_WRITE);
+                    vrc = RTFileOpen(&MBRFile, pszMBRFilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_WRITE);
                     if (RT_FAILURE(vrc))
                     {
@@ -1508,5 +1508,5 @@
         outFile = 1;
     else
-        vrc = RTFileOpen(&outFile, Utf8Str(dst).raw(), RTFILE_O_OPEN | RTFILE_O_CREATE | RTFILE_O_WRITE | RTFILE_O_DENY_ALL);
+        vrc = RTFileOpen(&outFile, Utf8Str(dst).raw(), RTFILE_O_WRITE | RTFILE_O_CREATE | RTFILE_O_DENY_ALL);
     if (RT_FAILURE(vrc))
     {
Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp	(revision 23972)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp	(revision 23973)
@@ -825,5 +825,5 @@
         File = 0;
     else
-        rc = RTFileOpen(&File, srcfilename, RTFILE_O_OPEN | RTFILE_O_READ | RTFILE_O_DENY_WRITE);
+        rc = RTFileOpen(&File, srcfilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_WRITE);
     if (RT_FAILURE(rc))
     {
Index: /trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp	(revision 23972)
+++ /trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp	(revision 23973)
@@ -2293,5 +2293,5 @@
         const char *pcszLf = "\n";
         RTFILE PidFile;
-        RTFileOpen(&PidFile, gpszPidFile, RTFILE_O_WRITE | RTFILE_O_CREATE_REPLACE);
+        RTFileOpen(&PidFile, gpszPidFile, RTFILE_O_WRITE | RTFILE_O_CREATE_REPLACE | RTFILE_O_DENY_NONE);
         RTStrFormatNumber(szBuf, RTProcSelf(), 10, 0, 0, 0);
         RTFileWrite(PidFile, szBuf, strlen(szBuf), NULL);
Index: /trunk/src/VBox/HostServices/SharedFolders/vbsf.cpp
===================================================================
--- /trunk/src/VBox/HostServices/SharedFolders/vbsf.cpp	(revision 23972)
+++ /trunk/src/VBox/HostServices/SharedFolders/vbsf.cpp	(revision 23973)
@@ -608,7 +608,7 @@
  * @retval pfOpen     iprt create flags
  */
-static int vbsfConvertFileOpenFlags(unsigned fShflFlags, RTFMODE fMode, SHFLHANDLE handleInitial, unsigned *pfOpen)
-{
-    unsigned fOpen = 0;
+static int vbsfConvertFileOpenFlags(unsigned fShflFlags, RTFMODE fMode, SHFLHANDLE handleInitial, uint32_t *pfOpen)
+{
+    uint32_t fOpen = 0;
     int rc = VINF_SUCCESS;
 
@@ -842,5 +842,5 @@
     SHFLFILEHANDLE *pHandle = 0;
     /* Open or create a file. */
-    unsigned fOpen = 0;
+    uint32_t fOpen = 0;
     bool fNoError = false;
     static int cErrors;
Index: /trunk/src/VBox/Main/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/MachineImpl.cpp	(revision 23972)
+++ /trunk/src/VBox/Main/MachineImpl.cpp	(revision 23973)
@@ -447,5 +447,5 @@
             /* check for the file existence */
             RTFILE f = NIL_RTFILE;
-            int vrc = RTFileOpen(&f, mData->m_strConfigFileFull.c_str(), RTFILE_O_READ);
+            int vrc = RTFileOpen(&f, mData->m_strConfigFileFull.c_str(), RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
             if (    RT_SUCCESS(vrc)
                  || vrc == VERR_SHARING_VIOLATION
@@ -6004,6 +6004,5 @@
         path = Utf8Str(mData->m_strConfigFileFull);
         vrc = RTFileOpen(&mData->mHandleCfgFile, path.c_str(),
-                         RTFILE_O_READWRITE | RTFILE_O_CREATE |
-                         RTFILE_O_DENY_WRITE);
+                         RTFILE_O_READWRITE | RTFILE_O_CREATE | RTFILE_O_DENY_WRITE);
         if (RT_FAILURE(vrc))
         {
Index: /trunk/src/VBox/Main/MediumImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/MediumImpl.cpp	(revision 23972)
+++ /trunk/src/VBox/Main/MediumImpl.cpp	(revision 23973)
@@ -3456,5 +3456,5 @@
             {
                 RTFILE file;
-                vrc = RTFileOpen(&file, locationFull.c_str(), RTFILE_O_READ);
+                vrc = RTFileOpen(&file, locationFull.c_str(), RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
                 if (RT_SUCCESS(vrc))
                     RTFileClose(file);
Index: /trunk/src/VBox/Main/freebsd/HostHardwareFreeBSD.cpp
===================================================================
--- /trunk/src/VBox/Main/freebsd/HostHardwareFreeBSD.cpp	(revision 23972)
+++ /trunk/src/VBox/Main/freebsd/HostHardwareFreeBSD.cpp	(revision 23973)
@@ -169,5 +169,5 @@
     RTFILE FileXpt;
 
-    rc = RTFileOpen(&FileXpt, "/dev/xpt0", RTFILE_O_READWRITE);
+    rc = RTFileOpen(&FileXpt, "/dev/xpt0", RTFILE_O_READWRITE | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_SUCCESS(rc))
     {
Index: /trunk/src/VBox/Main/linux/HostHardwareLinux.cpp
===================================================================
--- /trunk/src/VBox/Main/linux/HostHardwareLinux.cpp	(revision 23972)
+++ /trunk/src/VBox/Main/linux/HostHardwareLinux.cpp	(revision 23973)
@@ -160,5 +160,5 @@
     AssertReturn(Number <= 7, false);
     RTFILE File;
-    int rc = RTFileOpen(&File, pcszNode, RTFILE_O_READ | RTFILE_O_NON_BLOCK);
+    int rc = RTFileOpen(&File, pcszNode, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE | RTFILE_O_NON_BLOCK);
     if (RT_SUCCESS(rc))
     {
@@ -330,5 +330,5 @@
     int rc, rcIoCtl = 0;
     RTFILE file;
-    rc = RTFileOpen(&file, pcszNode, RTFILE_O_READ | RTFILE_O_NON_BLOCK);
+    rc = RTFileOpen(&file, pcszNode, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE | RTFILE_O_NON_BLOCK);
     if (RT_SUCCESS(rc))
     {
Index: /trunk/src/VBox/Main/xpcom/server.cpp
===================================================================
--- /trunk/src/VBox/Main/xpcom/server.cpp	(revision 23972)
+++ /trunk/src/VBox/Main/xpcom/server.cpp	(revision 23973)
@@ -1063,5 +1063,5 @@
             char szBuf[32];
             const char *lf = "\n";
-            RTFileOpen(&pidFile, pszPidFile, RTFILE_O_WRITE | RTFILE_O_CREATE_REPLACE);
+            RTFileOpen(&pidFile, pszPidFile, RTFILE_O_WRITE | RTFILE_O_CREATE_REPLACE | RTFILE_O_DENY_NONE);
             RTStrFormatNumber(szBuf, getpid(), 10, 0, 0, 0);
             RTFileWrite(pidFile, szBuf, strlen(szBuf), NULL);
Index: /trunk/src/VBox/Runtime/common/misc/s3.cpp
===================================================================
--- /trunk/src/VBox/Runtime/common/misc/s3.cpp	(revision 23972)
+++ /trunk/src/VBox/Runtime/common/misc/s3.cpp	(revision 23973)
@@ -873,5 +873,5 @@
     /* Open the file */
     RTFILE hFile;
-    int rc = RTFileOpen(&hFile, pszFileName, RTFILE_O_CREATE | RTFILE_O_WRITE);
+    int rc = RTFileOpen(&hFile, pszFileName, RTFILE_O_CREATE | RTFILE_O_WRITE | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return rc;
@@ -931,5 +931,5 @@
     /* Open the file */
     RTFILE hFile;
-    int rc = RTFileOpen(&hFile, pszFileName, RTFILE_O_OPEN | RTFILE_O_READ);
+    int rc = RTFileOpen(&hFile, pszFileName, RTFILE_O_OPEN | RTFILE_O_READ | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return rc;
Index: /trunk/src/VBox/Runtime/common/misc/tar.cpp
===================================================================
--- /trunk/src/VBox/Runtime/common/misc/tar.cpp	(revision 23972)
+++ /trunk/src/VBox/Runtime/common/misc/tar.cpp	(revision 23973)
@@ -324,5 +324,5 @@
     /* Open the tar file */
     RTFILE hFile;
-    int rc = RTFileOpen(&hFile, pszTarFile, RTFILE_O_READ);
+    int rc = RTFileOpen(&hFile, pszTarFile, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return rc;
@@ -383,5 +383,5 @@
     /* Open the tar file */
     RTFILE hFile;
-    int rc = RTFileOpen(&hFile, pszTarFile, RTFILE_O_READ);
+    int rc = RTFileOpen(&hFile, pszTarFile, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return rc;
@@ -473,5 +473,5 @@
     /* Open the tar file */
     RTFILE hFile;
-    int rc = RTFileOpen(&hFile, pszTarFile, RTFILE_O_READ);
+    int rc = RTFileOpen(&hFile, pszTarFile, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return rc;
@@ -567,5 +567,5 @@
     /* Open the tar file */
     RTFILE hFile;
-    int rc = RTFileOpen(&hFile, pszTarFile, RTFILE_O_READ);
+    int rc = RTFileOpen(&hFile, pszTarFile, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
     if (RT_FAILURE(rc))
         return rc;
Index: /trunk/src/VBox/Runtime/include/internal/file.h
===================================================================
--- /trunk/src/VBox/Runtime/include/internal/file.h	(revision 23972)
+++ /trunk/src/VBox/Runtime/include/internal/file.h	(revision 23973)
@@ -46,5 +46,5 @@
  * @internal
  */
-int rtFileRecalcAndValidateFlags(unsigned *pfOpen);
+int rtFileRecalcAndValidateFlags(uint32_t *pfOpen);
 
 RT_C_DECLS_END
Index: /trunk/src/VBox/Runtime/r3/fileio.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/fileio.cpp	(revision 23972)
+++ /trunk/src/VBox/Runtime/r3/fileio.cpp	(revision 23973)
@@ -111,10 +111,10 @@
  * @internal
  */
-int rtFileRecalcAndValidateFlags(unsigned *pfOpen)
+int rtFileRecalcAndValidateFlags(uint32_t *pfOpen)
 {
     /*
      * Recalc.
      */
-    unsigned fOpen = *pfOpen;
+    uint32_t fOpen = *pfOpen;
     switch (fOpen & RTFILE_O_ACCESS_MASK)
     {
@@ -132,5 +132,5 @@
             break;
         default:
-            AssertMsgFailed(("RTFileOpen received an invalid RW value, fOpen=%#x\n", fOpen));
+            AssertMsgFailed(("Invalid RW value, fOpen=%#x\n", fOpen));
             return VERR_INVALID_PARAMETER;
     }
@@ -139,19 +139,47 @@
      * Validate                                                                                                                                       .
      */
-    if (    !(fOpen & RTFILE_O_ACCESS_MASK)
+    AssertMsgReturn(fOpen & RTFILE_O_ACCESS_MASK, ("Missing RTFILE_O_READ/WRITE: fOpen=%#x\n", fOpen), VERR_INVALID_PARAMETER);
 #if defined(RT_OS_WINDOWS) || defined(RT_OS_OS2)
-        ||  (fOpen & (~RTFILE_O_VALID_MASK | RTFILE_O_NON_BLOCK))
+    AssertMsgReturn(!(fOpen & (~RTFILE_O_VALID_MASK | RTFILE_O_NON_BLOCK)), ("%#x\n", fOpen), VERR_INVALID_PARAMETER);
 #else
-        ||  (fOpen & ~RTFILE_O_VALID_MASK)
+    AssertMsgReturn(!(fOpen & ~RTFILE_O_VALID_MASK), ("%#x\n", fOpen), VERR_INVALID_PARAMETER);
 #endif
-        ||  (fOpen & (RTFILE_O_TRUNCATE | RTFILE_O_WRITE)) == RTFILE_O_TRUNCATE
-        ||  (   fOpen & RTFILE_O_NOT_CONTENT_INDEXED
-             && !(   (fOpen & RTFILE_O_ACTION_MASK) == RTFILE_O_OPEN_CREATE
-                  || (fOpen & RTFILE_O_ACTION_MASK) == RTFILE_O_CREATE
-                  || (fOpen & RTFILE_O_ACTION_MASK) == RTFILE_O_CREATE_REPLACE))
-       )
-    {
-        AssertMsgFailed(("Invalid parameters! fOpen=%#x\n", fOpen));
-        return VERR_INVALID_PARAMETER;
+    AssertMsgReturn((fOpen & (RTFILE_O_TRUNCATE | RTFILE_O_WRITE)) != RTFILE_O_TRUNCATE, ("%#x\n", fOpen), VERR_INVALID_PARAMETER);
+
+    switch (fOpen & RTFILE_O_ACTION_MASK)
+    {
+        case 0: /* temporarily */
+            AssertMsgFailed(("Missing RTFILE_O_OPEN/CREATE*! (continuable assertion)\n"));
+            fOpen |= RTFILE_O_OPEN;
+            break;
+        case RTFILE_O_OPEN:
+            AssertMsgReturn(!(RTFILE_O_NOT_CONTENT_INDEXED & fOpen), ("%#x\n", fOpen), VERR_INVALID_PARAMETER);
+        case RTFILE_O_OPEN_CREATE:
+        case RTFILE_O_CREATE:
+        case RTFILE_O_CREATE_REPLACE:
+            break;
+        default:
+            AssertMsgFailed(("Invalid action value: fOpen=%#x\n", fOpen));
+            return VERR_INVALID_PARAMETER;
+    }
+
+    switch (fOpen & RTFILE_O_DENY_MASK)
+    {
+        case 0: /* temporarily */
+            AssertMsgFailed(("Missing RTFILE_O_DENY_*! (continuable assertion)\n"));
+            fOpen |= RTFILE_O_DENY_NONE;
+            break;
+        case RTFILE_O_DENY_NONE:
+        case RTFILE_O_DENY_READ:
+        case RTFILE_O_DENY_WRITE:
+        case RTFILE_O_DENY_WRITE | RTFILE_O_DENY_READ:
+        case RTFILE_O_DENY_NOT_DELETE:
+        case RTFILE_O_DENY_NOT_DELETE | RTFILE_O_DENY_READ:
+        case RTFILE_O_DENY_NOT_DELETE | RTFILE_O_DENY_WRITE:
+        case RTFILE_O_DENY_NOT_DELETE | RTFILE_O_DENY_WRITE | RTFILE_O_DENY_READ:
+            break;
+        default:
+            AssertMsgFailed(("Invalid deny value: fOpen=%#x\n", fOpen));
+            return VERR_INVALID_PARAMETER;
     }
 
@@ -288,10 +316,12 @@
     RTFILE FileSrc;
     int rc = RTFileOpen(&FileSrc, pszSrc,
-                        RTFILE_O_READ | (fFlags & RTFILECOPY_FLAGS_NO_SRC_DENY_WRITE ? 0 : RTFILE_O_DENY_WRITE) | RTFILE_O_OPEN);
+                        RTFILE_O_READ | RTFILE_O_OPEN
+                        | (fFlags & RTFILECOPY_FLAGS_NO_SRC_DENY_WRITE ? RTFILE_O_DENY_NONE : RTFILE_O_DENY_WRITE));
     if (RT_SUCCESS(rc))
     {
         RTFILE FileDst;
         rc = RTFileOpen(&FileDst, pszDst,
-                        RTFILE_O_WRITE | (fFlags & RTFILECOPY_FLAGS_NO_DST_DENY_WRITE ? 0 : RTFILE_O_DENY_WRITE) | RTFILE_O_CREATE);
+                        RTFILE_O_WRITE | RTFILE_O_CREATE
+                        | (fFlags & RTFILECOPY_FLAGS_NO_DST_DENY_WRITE ? RTFILE_O_DENY_NONE : RTFILE_O_DENY_WRITE));
         if (RT_SUCCESS(rc))
         {
Index: /trunk/src/VBox/Runtime/r3/posix/fileio-posix.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/posix/fileio-posix.cpp	(revision 23972)
+++ /trunk/src/VBox/Runtime/r3/posix/fileio-posix.cpp	(revision 23973)
@@ -109,20 +109,12 @@
 
 
-RTR3DECL(int)  RTFileOpen(PRTFILE pFile, const char *pszFilename, unsigned fOpen)
+RTR3DECL(int) RTFileOpen(PRTFILE pFile, const char *pszFilename, uint32_t fOpen)
 {
     /*
      * Validate input.
      */
-    if (!VALID_PTR(pFile))
-    {
-        AssertMsgFailed(("Invalid pFile %p\n", pFile));
-        return VERR_INVALID_PARAMETER;
-    }
+    AssertPtrReturn(pFile, VERR_INVALID_POINTER);
     *pFile = NIL_RTFILE;
-    if (!VALID_PTR(pszFilename))
-    {
-        AssertMsgFailed(("Invalid pszFilename %p\n", pszFilename));
-        return VERR_INVALID_PARAMETER;
-    }
+    AssertPtrReturn(pszFilename, VERR_INVALID_POINTER);
 
     /*
Index: /trunk/src/VBox/Runtime/r3/win/fileio-win.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/win/fileio-win.cpp	(revision 23972)
+++ /trunk/src/VBox/Runtime/r3/win/fileio-win.cpp	(revision 23973)
@@ -151,5 +151,5 @@
 
 
-RTR3DECL(int)  RTFileOpen(PRTFILE pFile, const char *pszFilename, unsigned fOpen)
+RTR3DECL(int) RTFileOpen(PRTFILE pFile, const char *pszFilename, uint32_t fOpen)
 {
     /*
Index: /trunk/src/VBox/Runtime/r3/xml.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/xml.cpp	(revision 23972)
+++ /trunk/src/VBox/Runtime/r3/xml.cpp	(revision 23973)
@@ -181,23 +181,24 @@
     m->strFileName = aFileName;
 
-    unsigned flags = 0;
+    uint32_t flags = 0;
     switch (aMode)
     {
+        /** @todo change to RTFILE_O_DENY_WRITE where appropriate. */
         case Mode_Read:
-            flags = RTFILE_O_READ;
+            flags = RTFILE_O_READ      | RTFILE_O_OPEN           | RTFILE_O_DENY_NONE;
             break;
         case Mode_WriteCreate:      // fail if file exists
-            flags = RTFILE_O_WRITE | RTFILE_O_CREATE;
+            flags = RTFILE_O_WRITE     | RTFILE_O_CREATE         | RTFILE_O_DENY_NONE;
             break;
         case Mode_Overwrite:        // overwrite if file exists
-            flags = RTFILE_O_WRITE | RTFILE_O_CREATE_REPLACE;
+            flags = RTFILE_O_WRITE     | RTFILE_O_CREATE_REPLACE | RTFILE_O_DENY_NONE;
             break;
         case Mode_ReadWrite:
-            flags = RTFILE_O_READ | RTFILE_O_WRITE;
-    }
-
-    int vrc = RTFileOpen (&m->handle, aFileName, flags);
-    if (RT_FAILURE (vrc))
-        throw EIPRTFailure (vrc);
+            flags = RTFILE_O_READWRITE | RTFILE_O_OPEN           | RTFILE_O_DENY_NONE;;
+    }
+
+    int vrc = RTFileOpen(&m->handle, aFileName, flags);
+    if (RT_FAILURE(vrc))
+        throw EIPRTFailure(vrc);
 
     m->opened = true;
Index: /trunk/src/VBox/Runtime/testcase/tstFileAio.cpp
===================================================================
--- /trunk/src/VBox/Runtime/testcase/tstFileAio.cpp	(revision 23972)
+++ /trunk/src/VBox/Runtime/testcase/tstFileAio.cpp	(revision 23973)
@@ -274,5 +274,5 @@
     /* Reopen the file. */
     RTFileClose(File);
-    rc = RTFileOpen(&File, "tstFileAio#1.tst", RTFILE_O_READWRITE | RTFILE_O_DENY_NONE | RTFILE_O_ASYNC_IO);
+    rc = RTFileOpen(&File, "tstFileAio#1.tst", RTFILE_O_READWRITE | RTFILE_O_OPEN | RTFILE_O_DENY_NONE | RTFILE_O_ASYNC_IO);
     if (RT_SUCCESS(rc))
     {
Index: /trunk/src/VBox/Runtime/testcase/tstFileAppend-1.cpp
===================================================================
--- /trunk/src/VBox/Runtime/testcase/tstFileAppend-1.cpp	(revision 23972)
+++ /trunk/src/VBox/Runtime/testcase/tstFileAppend-1.cpp	(revision 23973)
@@ -91,9 +91,9 @@
     rc = RTFileOpen(&File,
                     "tstFileAppend-1.tst",
-                    RTFILE_O_OPEN_CREATE |
-                    RTFILE_O_WRITE |
-                    RTFILE_O_APPEND |
-                    RTFILE_O_DENY_NONE |
-                    (0644 << RTFILE_O_CREATE_MODE_SHIFT)
+                      RTFILE_O_WRITE
+                    | RTFILE_O_APPEND
+                    | RTFILE_O_OPEN_CREATE
+                    | RTFILE_O_DENY_NONE
+                    | (0644 << RTFILE_O_CREATE_MODE_SHIFT)
                    );
     if (RT_FAILURE(rc))
@@ -140,8 +140,8 @@
     rc = RTFileOpen(&File,
                     "tstFileAppend-1.tst",
-                    RTFILE_O_OPEN |
-                    RTFILE_O_WRITE |
-                    RTFILE_O_APPEND |
-                    RTFILE_O_DENY_NONE
+                      RTFILE_O_WRITE
+                    | RTFILE_O_APPEND
+                    | RTFILE_O_OPEN
+                    | RTFILE_O_DENY_NONE
                    );
     if (RT_FAILURE(rc))
@@ -180,8 +180,8 @@
     rc = RTFileOpen(&File,
                     "tstFileAppend-1.tst",
-                    RTFILE_O_OPEN |
-                    RTFILE_O_READWRITE |
-                    RTFILE_O_APPEND |
-                    RTFILE_O_DENY_NONE
+                      RTFILE_O_READWRITE
+                    | RTFILE_O_APPEND
+                    | RTFILE_O_OPEN
+                    | RTFILE_O_DENY_NONE
                    );
     if (RT_FAILURE(rc))
@@ -260,8 +260,8 @@
     rc = RTFileOpen(&File,
                     "tstFileAppend-1.tst",
-                    RTFILE_O_OPEN |
-                    RTFILE_O_READ |
-                    RTFILE_O_APPEND |
-                    RTFILE_O_DENY_NONE
+                      RTFILE_O_READ
+                    | RTFILE_O_APPEND
+                    | RTFILE_O_OPEN
+                    | RTFILE_O_DENY_NONE
                    );
     if (RT_FAILURE(rc))
Index: /trunk/src/VBox/Runtime/testcase/tstIoCtl.cpp
===================================================================
--- /trunk/src/VBox/Runtime/testcase/tstIoCtl.cpp	(revision 23972)
+++ /trunk/src/VBox/Runtime/testcase/tstIoCtl.cpp	(revision 23973)
@@ -68,5 +68,6 @@
     RTFILE    File;
 
-    if (RT_FAILURE(err = RTFileOpen(&File, "/dev/dsp", (RTFILE_O_READWRITE) | RTFILE_O_NON_BLOCK))) {
+    err = RTFileOpen(&File, "/dev/dsp", RTFILE_O_READWRITE | RTFILE_O_OPEN | RTFILE_O_DENY_NONE | RTFILE_O_NON_BLOCK);
+    if (RT_FAILURE(err)) {
         printf("Fatal error: failed to open /dev/dsp:\n"
                "VBox error code: %d\n", err);
Index: /trunk/src/VBox/VMM/PDMAsyncCompletionFile.cpp
===================================================================
--- /trunk/src/VBox/VMM/PDMAsyncCompletionFile.cpp	(revision 23972)
+++ /trunk/src/VBox/VMM/PDMAsyncCompletionFile.cpp	(revision 23973)
@@ -578,5 +578,5 @@
         RTFILE File = NIL_RTFILE;
 
-        rc = RTFileOpen(&File, pszUri, RTFILE_O_OPEN | RTFILE_O_READ | RTFILE_O_DENY_NONE);
+        rc = RTFileOpen(&File, pszUri, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
         if (RT_SUCCESS(rc))
         {
Index: /trunk/src/VBox/VMM/testcase/tstPDMAsyncCompletion.cpp
===================================================================
--- /trunk/src/VBox/VMM/testcase/tstPDMAsyncCompletion.cpp	(revision 23972)
+++ /trunk/src/VBox/VMM/testcase/tstPDMAsyncCompletion.cpp	(revision 23973)
@@ -137,5 +137,5 @@
         /* Create the destination as the async completion API can't do this. */
         RTFILE FileTmp;
-        rc = RTFileOpen(&FileTmp, argv[2], RTFILE_O_READWRITE | RTFILE_O_OPEN_CREATE);
+        rc = RTFileOpen(&FileTmp, argv[2], RTFILE_O_READWRITE | RTFILE_O_OPEN_CREATE | RTFILE_O_DENY_NONE);
         if (RT_FAILURE(rc))
         {
Index: /trunk/src/VBox/VMM/testcase/tstPDMAsyncCompletionStress.cpp
===================================================================
--- /trunk/src/VBox/VMM/testcase/tstPDMAsyncCompletionStress.cpp	(revision 23972)
+++ /trunk/src/VBox/VMM/testcase/tstPDMAsyncCompletionStress.cpp	(revision 23973)
@@ -145,5 +145,5 @@
     volatile uint32_t          cTasksActiveCurr;
     /** Pointer to the array of task. */
-    PPDMACTESTFILETASK         paTasks; 
+    PPDMACTESTFILETASK         paTasks;
     /** I/O thread handle. */
     PPDMTHREAD                 hThread;
@@ -167,5 +167,5 @@
     while (cbLeft)
     {
-        size_t cbCompare; 
+        size_t cbCompare;
         unsigned iSeg = off / pTestFile->cbFileSegment;
         PPDMACTESTFILESEG pSeg = &pTestFile->paSegs[iSeg];
@@ -195,5 +195,5 @@
     while (cbLeft)
     {
-        size_t cbFill; 
+        size_t cbFill;
         unsigned iSeg = off / pTestFile->cbFileSegment;
         PPDMACTESTFILESEG pSeg = &pTestFile->paSegs[iSeg];
@@ -251,5 +251,5 @@
     /* Set new file size of required */
     if ((uint64_t)pTestTask->off + pTestTask->DataSeg.cbSeg > pTestFile->cbFileCurr)
-        pTestFile->cbFileCurr = pTestTask->off + pTestTask->DataSeg.cbSeg; 
+        pTestFile->cbFileCurr = pTestTask->off + pTestTask->DataSeg.cbSeg;
 
     AssertMsg(pTestFile->cbFileCurr <= pTestFile->cbFileMax,
@@ -286,5 +286,5 @@
 
     AssertMsg(pTestFile->cbFileCurr >= pTestTask->DataSeg.cbSeg, ("Impossible\n"));
-    pTestTask->off = RTRandU64Ex(0, pTestFile->cbFileCurr - pTestTask->DataSeg.cbSeg); 
+    pTestTask->off = RTRandU64Ex(0, pTestFile->cbFileCurr - pTestTask->DataSeg.cbSeg);
 
     /* Allocate data buffer. */
@@ -329,5 +329,5 @@
     {
         unsigned iTaskCurr = 0;
-        
+
 
         /* Fill all tasks */
@@ -411,5 +411,5 @@
     pTestFile->cbFileMax     = RTRandU64Ex(FILE_SIZE_MIN, FILE_SIZE_MAX) & ~(511UL);
     pTestFile->cbFileCurr    = 0;
-    pTestFile->cbFileSegment = RTRandU32Ex(SEGMENT_SIZE_MIN, RT_MIN(pTestFile->cbFileMax, SEGMENT_SIZE_MAX)) & ~((size_t)511); 
+    pTestFile->cbFileSegment = RTRandU32Ex(SEGMENT_SIZE_MIN, RT_MIN(pTestFile->cbFileMax, SEGMENT_SIZE_MAX)) & ~((size_t)511);
 
     Assert(pTestFile->cbFileMax >= pTestFile->cbFileSegment);
@@ -454,5 +454,5 @@
 
                 RTFILE FileTmp;
-                rc = RTFileOpen(&FileTmp, szFile, RTFILE_O_CREATE | RTFILE_O_READWRITE);
+                rc = RTFileOpen(&FileTmp, szFile, RTFILE_O_READWRITE | RTFILE_O_CREATE | RTFILE_O_DENY_NONE);
                 if (RT_SUCCESS(rc))
                 {
@@ -504,5 +504,5 @@
 }
 
-/** 
+/**
  * Closes a test file.
  *
