Index: /trunk/src/VBox/ImageMounter/vboximg-mount/vboximg-mount.cpp
===================================================================
--- /trunk/src/VBox/ImageMounter/vboximg-mount/vboximg-mount.cpp	(revision 76042)
+++ /trunk/src/VBox/ImageMounter/vboximg-mount/vboximg-mount.cpp	(revision 76043)
@@ -175,6 +175,6 @@
      int32_t       size;                    /** Size of accessible disk region, starting at offset, default = offset 0 */
      uint32_t      cHddImageDiffMax;        /** Max number of differencing images (snapshots) to apply to image */
-     uint32_t      fListMedia;              /** Flag to list virtual disks of all known VMs */
-     uint32_t      fListMediaBrief;         /** Flag to list virtual disks of all known VMs */
+     uint32_t      fListMediaLong;          /** Flag to list virtual disks of all known VMs */
+     uint32_t      fList;                   /** Flag to list virtual disks of all known VMs */
      uint32_t      fListParts;              /** Flag to summarily list partitions associated with pszImage */
      uint32_t      fAllowRoot;              /** Flag to allow root to access this FUSE FS */
@@ -187,7 +187,6 @@
 
 static struct fuse_opt vboximgOptDefs[] = {
-    OPTION("-l",              fListMediaBrief,   1),
-    OPTION("-L",              fListMedia,        1),
-    OPTION("-t",              fListParts,        1),
+    OPTION("-l",              fList,             1),
+    OPTION("--list",          fList,             1),
     OPTION("--root",          fAllowRoot,        1),
     OPTION("--vm=%s",         pszVm,             0),
@@ -215,7 +214,11 @@
     RTPrintf("usage: vboximg-mount [options] <mountpoint>\n\n"
         "vboximg-mount options:\n\n"
-        "    [ -l ]                                     List virtual disk media (brief version)\n"
-        "    [ -L ]                                     List virtual disk media (long version)\n"
-        "    [ -t ]                                     List partition table (requires -i or --image option)\n"
+        "    [ { -l | --list } ]                        If a disk image is specified [-i, --image], list partition table\n"
+        "                                               for the specified disk image.\n"
+        "\n"
+        "                                               If no image is specified on the command line, list registered VMs\n"
+        "                                               and their disk media.  If a verbose flag is specified,\n"
+        "                                               VM and media list will be long format, including snapshot images\n"
+        "                                               and component locations (e.g. paths).\n"
         "\n"
         "    [ { -i | --image= } <UUID | name | path> ] Virtual Box disk image to use\n"
@@ -226,5 +229,5 @@
         "                                               (Can't use with -p or --partition options)\n"
         "\n"
-        "    [ -s | --size=<bytes>]                     Sets size of mounted disk from disk start or from\n"
+        "    [ -s | --size=<bytes> ]                    Sets size of mounted disk from disk start or from\n"
         "                                               offset, if specified. (Can't use with\n"
         "                                               -p or --partition options)\n"
@@ -235,6 +238,6 @@
         "                                               (0 = Apply no diffs, default = Apply all diffs)\n"
         "\n"
-        "    [ --rw]                                    Make image writeable (default = readonly)\n"
-        "    [ --root]                                  Same as -o allow_root\n"
+        "    [ --rw ]                                   Make image writeable (default = readonly)\n"
+        "    [ --root ]                                 Same as -o allow_root\n"
         "\n"
         "    [ --vm < Path | UUID >]                    VM UUID (limit media list to specific VM)\n"
@@ -243,4 +246,5 @@
         "    -o opt[,opt...]                            FUSE mount options\n"
         "    -h                                         Display short usage info showing only the above\n"
+        "    -?                                         Display short usage info showing only the above\n"
         "    --help                                     Display long usage info (including FUSE opts)\n\n"
     );
@@ -696,5 +700,4 @@
 
 {
-
     (void) offset;
     (void) pInfo;
@@ -794,5 +797,5 @@
                 if (ancestorNumber == 0)
                 {
-                    if (!g_vboximgOpts.fListMediaBrief)
+                    if (g_vboximgOpts.fVerbose)
                     {
                         RTPrintf("   -----------------------\n");
@@ -812,5 +815,5 @@
                 else
                 {
-                    if (!g_vboximgOpts.fListMediaBrief)
+                    if (g_vboximgOpts.fVerbose)
                     {
                         RTPrintf("     Diff %d:\n", ancestorNumber);
@@ -861,5 +864,5 @@
                     || RTStrNCmp((const char *)pMachineName.raw(), g_vboximgOpts.pszVm, MAX_UUID_LEN) == 0)
                 {
-                    if (!g_vboximgOpts.fListMediaBrief)
+                    if (g_vboximgOpts.fVerbose)
                     {
                         RTPrintf("------------------------------------------------------\n");
@@ -1262,5 +1265,6 @@
     if (rc == -1)
         return RTMsgErrorExitFailure("Couldn't parse fuse options, rc=%Rrc\n", rc);
-    if (g_vboximgOpts.fBriefUsage)
+
+    if (argc < 2 || RTStrCmp(argv[1], "-?" ) == 0 || g_vboximgOpts.fBriefUsage)
     {
         briefUsage();
@@ -1302,5 +1306,5 @@
         RTPrintf("vboximg: VirtualBox XPCOM object created\n");
 
-    if (g_vboximgOpts.fListMedia || g_vboximgOpts.fListMediaBrief)
+    if (g_vboximgOpts.fList && g_vboximgOpts.pszImage == NULL)
     {
         listVMs(pVirtualBox);
@@ -1308,10 +1312,4 @@
     }
 
-
-    if (g_vboximgOpts.pszImage == NULL)
-    {
-        RTMsgErrorExitFailure("To list partitions, must also specify --i or --image option\n");
-        return 0;
-    }
     ComPtr<IMedium> pBaseImageMedium = NULL;
     char    *pszFormat;
@@ -1486,5 +1484,5 @@
     g_cbEntireVDisk  = VDGetSize(g_pVDisk, 0 /* base */);
 
-    if (g_vboximgOpts.fListParts)
+    if (g_vboximgOpts.fList)
     {
         if (g_pVDisk == NULL)
