VirtualBox

Changeset 94209 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Mar 13, 2022 8:16:15 PM (3 years ago)
Author:
vboxsync
Message:

doc/manual,FE/VBoxManage: Convert guestcontrol command to refentry documentation, ​bugref:9186

Location:
trunk/src/VBox/Frontends/VBoxManage
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManage.cpp

    r94208 r94209  
    235235#endif
    236236#ifdef VBOX_WITH_GUEST_CONTROL
    237     { "guestcontrol",       USAGE_GUESTCONTROL,     VBMG_CMD_TODO, handleGuestControl,         0 },
     237    { "guestcontrol",       USAGE_S_NEWCMD, HELP_CMD_GUESTCONTROL, handleGuestControl,         0 },
    238238#endif
    239239    { "metrics",            USAGE_METRICS,          VBMG_CMD_TODO, handleMetrics,              0 },
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManage.h

    r94208 r94209  
    115115    USAGE_I_DUMPHDINFO,
    116116    USAGE_STORAGEATTACH,
    117 #ifdef VBOX_WITH_GUEST_CONTROL
    118     USAGE_GUESTCONTROL,
    119 #endif  /* VBOX_WITH_GUEST_CONTROL defined */
    120117    USAGE_I_DEBUGLOG,
    121118    USAGE_I_SETHDPARENTUUID,
     
    135132
    136133
    137 #ifdef VBOX_WITH_GUEST_CONTROL
    138 # define HELP_SCOPE_GSTCTRL_RUN             RT_BIT(0)
    139 # define HELP_SCOPE_GSTCTRL_START           RT_BIT(1)
    140 # define HELP_SCOPE_GSTCTRL_COPYFROM        RT_BIT(2)
    141 # define HELP_SCOPE_GSTCTRL_COPYTO          RT_BIT(3)
    142 # define HELP_SCOPE_GSTCTRL_MKDIR           RT_BIT(4)
    143 # define HELP_SCOPE_GSTCTRL_RMDIR           RT_BIT(5)
    144 # define HELP_SCOPE_GSTCTRL_RM              RT_BIT(6)
    145 # define HELP_SCOPE_GSTCTRL_MV              RT_BIT(7)
    146 # define HELP_SCOPE_GSTCTRL_MKTEMP          RT_BIT(8)
    147 # define HELP_SCOPE_GSTCTRL_LIST            RT_BIT(9)
    148 # define HELP_SCOPE_GSTCTRL_CLOSEPROCESS    RT_BIT(10)
    149 # define HELP_SCOPE_GSTCTRL_CLOSESESSION    RT_BIT(11)
    150 # define HELP_SCOPE_GSTCTRL_STAT            RT_BIT(12)
    151 # define HELP_SCOPE_GSTCTRL_UPDATEGA        RT_BIT(13)
    152 # define HELP_SCOPE_GSTCTRL_WATCH           RT_BIT(14)
    153 # define HELP_SCOPE_GSTCTRL_WAITRUNLEVEL    RT_BIT(15)
    154 #endif
    155 
    156134/** command handler argument */
    157135struct HandlerArg
     
    251229/* VBoxManageDebugVM.cpp */
    252230RTEXITCODE handleDebugVM(HandlerArg *a);
    253 
    254 /* VBoxManageGuestCtrl.cpp */
    255 extern void usageGuestControl(PRTSTREAM pStrm, const char *pcszSep1, const char *pcszSep2, uint64_t fSubcommandScope);
    256231
    257232#ifndef VBOX_ONLY_DOCS
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp

    r93720 r94209  
    220220
    221221DECLARE_TRANSLATION_CONTEXT(GuestCtrl);
    222 
    223 void usageGuestControl(PRTSTREAM pStrm, const char *pcszSep1, const char *pcszSep2, uint64_t fSubcommandScope)
    224 {
    225     const uint64_t fAnonSubCmds = HELP_SCOPE_GSTCTRL_CLOSESESSION
    226                                 | HELP_SCOPE_GSTCTRL_LIST
    227                                 | HELP_SCOPE_GSTCTRL_CLOSEPROCESS
    228                                 | HELP_SCOPE_GSTCTRL_CLOSESESSION
    229                                 | HELP_SCOPE_GSTCTRL_UPDATEGA
    230                                 | HELP_SCOPE_GSTCTRL_WATCH
    231                                 | HELP_SCOPE_GSTCTRL_WAITRUNLEVEL;
    232 
    233     /*                0         1         2         3         4         5         6         7         8XXXXXXXXXX */
    234     /*                0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 */
    235     if (~fAnonSubCmds & fSubcommandScope)
    236         RTStrmPrintf(pStrm,
    237                              "%s guestcontrol %s    <uuid|vmname> [--verbose|-v] [--quiet|-q]\n"
    238                      "                              [--user[name] <name>] [--domain <domain>]\n"
    239                      "                              [--passwordfile <file> | --password <password>]\n%s",
    240                      pcszSep1, pcszSep2, (fSubcommandScope & RTMSGREFENTRYSTR_SCOPE_MASK) == RTMSGREFENTRYSTR_SCOPE_GLOBAL ? "\n" : "");
    241     if (fSubcommandScope & HELP_SCOPE_GSTCTRL_RUN)
    242         RTStrmPrintf(pStrm,
    243                      "                              run [common-options]\n"
    244                      "                              [--exe <path to executable>] [--timeout <msec>]\n"
    245                      "                              [-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]\n"
    246                      "                              [--ignore-operhaned-processes] [--profile]\n"
    247                      "                              [--no-wait-stdout|--wait-stdout]\n"
    248                      "                              [--no-wait-stderr|--wait-stderr]\n"
    249                      "                              [--dos2unix] [--unix2dos]\n"
    250                      "                              -- <program/arg0> [argument1] ... [argumentN]]\n"
    251                      "\n");
    252     if (fSubcommandScope & HELP_SCOPE_GSTCTRL_START)
    253         RTStrmPrintf(pStrm,
    254                      "                              start [common-options]\n"
    255                      "                              [--exe <path to executable>] [--timeout <msec>]\n"
    256                      "                              [-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]\n"
    257                      "                              [--ignore-operhaned-processes] [--profile]\n"
    258                      "                              -- <program/arg0> [argument1] ... [argumentN]]\n"
    259                      "\n");
    260     if (fSubcommandScope & HELP_SCOPE_GSTCTRL_COPYFROM)
    261         RTStrmPrintf(pStrm,
    262                      "                              copyfrom [common-options]\n"
    263                      "                              [-L|--dereference] [-R|--recursive]\n"
    264                      "                              <guest-src0> [guest-src1 [...]] <host-dst>\n"
    265                      "\n"
    266                      "                              copyfrom [common-options]\n"
    267                      "                              [-L|--dereference] [-R|--recursive]\n"
    268                      "                              [-t|--target-directory <host-dst-dir>]\n"
    269                      "                              <guest-src0> [guest-src1 [...]]\n"
    270                      "\n");
    271     if (fSubcommandScope & HELP_SCOPE_GSTCTRL_COPYTO)
    272         RTStrmPrintf(pStrm,
    273                      "                              copyto [common-options]\n"
    274                      "                              [-L|--dereference] [-R|--recursive]\n"
    275                      "                              <host-src0> [host-src1 [...]] <guest-dst>\n"
    276                      "\n"
    277                      "                              copyto [common-options]\n"
    278                      "                              [-L|--dereference] [-R|--recursive]\n"
    279                      "                              [-t|--target-directory <guest-dst>]\n"
    280                      "                              <host-src0> [host-src1 [...]]\n"
    281                      "\n");
    282     if (fSubcommandScope & HELP_SCOPE_GSTCTRL_MKDIR)
    283         RTStrmPrintf(pStrm,
    284                      "                              mkdir|createdir[ectory] [common-options]\n"
    285                      "                              [--parents] [--mode <mode>]\n"
    286                      "                              <guest directory> [...]\n"
    287                      "\n");
    288     if (fSubcommandScope & HELP_SCOPE_GSTCTRL_RMDIR)
    289         RTStrmPrintf(pStrm,
    290                      "                              rmdir|removedir[ectory] [common-options]\n"
    291                      "                              [-R|--recursive]\n"
    292                      "                              <guest directory> [...]\n"
    293                      "\n");
    294     if (fSubcommandScope & HELP_SCOPE_GSTCTRL_RM)
    295         RTStrmPrintf(pStrm,
    296                      "                              removefile|rm [common-options] [-f|--force]\n"
    297                      "                              <guest file> [...]\n"
    298                      "\n");
    299     if (fSubcommandScope & HELP_SCOPE_GSTCTRL_MV)
    300         RTStrmPrintf(pStrm,
    301                      "                              mv|move|ren[ame] [common-options]\n"
    302                      "                              <source> [source1 [...]] <dest>\n"
    303                      "\n");
    304     if (fSubcommandScope & HELP_SCOPE_GSTCTRL_MKTEMP)
    305         RTStrmPrintf(pStrm,
    306                      "                              mktemp|createtemp[orary] [common-options]\n"
    307                      "                              [--secure] [--mode <mode>] [--tmpdir <directory>]\n"
    308                      "                              <template>\n"
    309                      "\n");
    310     if (fSubcommandScope & HELP_SCOPE_GSTCTRL_STAT)
    311         RTStrmPrintf(pStrm,
    312                      "                              stat [common-options]\n"
    313                      "                              <file> [...]\n"
    314                      "\n");
    315 
    316     /*
    317      * Command not requiring authentication.
    318      */
    319     if (fAnonSubCmds & fSubcommandScope)
    320     {
    321         /*                0         1         2         3         4         5         6         7         8XXXXXXXXXX */
    322         /*                0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 */
    323         RTStrmPrintf(pStrm,
    324                      "%s guestcontrol %s    <uuid|vmname> [--verbose|-v] [--quiet|-q]\n%s",
    325                      pcszSep1, pcszSep2, (fSubcommandScope & RTMSGREFENTRYSTR_SCOPE_MASK) == RTMSGREFENTRYSTR_SCOPE_GLOBAL ? "\n" : "");
    326         if (fSubcommandScope & HELP_SCOPE_GSTCTRL_LIST)
    327             RTStrmPrintf(pStrm,
    328                          "                              list <all|sessions|processes|files> [common-opts]\n"
    329                          "\n");
    330         if (fSubcommandScope & HELP_SCOPE_GSTCTRL_CLOSEPROCESS)
    331             RTStrmPrintf(pStrm,
    332                          "                              closeprocess [common-options]\n"
    333                          "                              <   --session-id <ID>\n"
    334                          "                                | --session-name <name or pattern>\n"
    335                          "                              <PID1> [PID1 [...]]\n"
    336                          "\n");
    337         if (fSubcommandScope & HELP_SCOPE_GSTCTRL_CLOSESESSION)
    338             RTStrmPrintf(pStrm,
    339                          "                              closesession [common-options]\n"
    340                          "                              <  --all | --session-id <ID>\n"
    341                          "                                | --session-name <name or pattern> >\n"
    342                          "\n");
    343         if (fSubcommandScope & HELP_SCOPE_GSTCTRL_UPDATEGA)
    344             RTStrmPrintf(pStrm,
    345                          "                              updatega|updateguestadditions|updateadditions\n"
    346                          "                              [--source <guest additions .ISO>]\n"
    347                          "                              [--wait-start] [common-options]\n"
    348                          "                              [-- [<argument1>] ... [<argumentN>]]\n"
    349                          "\n");
    350         if (fSubcommandScope & HELP_SCOPE_GSTCTRL_WATCH)
    351             RTStrmPrintf(pStrm,
    352                          "                              watch [--timeout <msec>] [common-options]\n"
    353                          "\n");
    354         if (fSubcommandScope & HELP_SCOPE_GSTCTRL_WAITRUNLEVEL)
    355             RTStrmPrintf(pStrm,
    356                          "                              waitrunlevel [--timeout <msec>] [common-options]\n"
    357                          "                              <system|userland|desktop>\n"
    358                          "\n");
    359     }
    360 }
    361222
    362223#ifndef VBOX_ONLY_DOCS
     
    992853    }
    993854    else
    994         rcExit = errorSyntaxEx(USAGE_GUESTCONTROL, pCtx->pCmdDef->fSubcommandScope, GuestCtrl::tr("No user name specified!"));
     855        rcExit = errorSyntax(GuestCtrl::tr("No user name specified!"));
    995856
    996857    pCtx->fPostOptionParsingInited = rcExit == RTEXITCODE_SUCCESS;
     
    12801141 * @param   argv        The argument vector for this command.
    12811142 * @param   fRunCmd     Set if it's 'run' clear if 'start'.
    1282  * @param   fHelp       The help flag for the command.
    12831143 */
    1284 static RTEXITCODE gctlHandleRunCommon(PGCTLCMDCTX pCtx, int argc, char **argv, bool fRunCmd, uint32_t fHelp)
    1285 {
    1286     RT_NOREF(fHelp);
     1144static RTEXITCODE gctlHandleRunCommon(PGCTLCMDCTX pCtx, int argc, char **argv, bool fRunCmd)
     1145{
    12871146    AssertPtrReturn(pCtx, RTEXITCODE_FAILURE);
    12881147
     
    13591218                    if (   ValueUnion.psz[0] == '\0'
    13601219                        || ValueUnion.psz[0] == '=')
    1361                         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_RUN,
    1362                                              GuestCtrl::tr("Invalid argument variable[=value]: '%s'"), ValueUnion.psz);
     1220                        return errorSyntax(GuestCtrl::tr("Invalid argument variable[=value]: '%s'"), ValueUnion.psz);
    13631221                    aEnv.push_back(Bstr(ValueUnion.psz).raw());
    13641222                    break;
     
    14291287
    14301288                default:
    1431                     return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_RUN, ch, &ValueUnion);
     1289                    return errorGetOpt(ch, &ValueUnion);
    14321290
    14331291            } /* switch */
     
    14361294        /* Must have something to execute. */
    14371295        if (!pszImage || !*pszImage)
    1438             return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_RUN, GuestCtrl::tr("No executable specified!"));
     1296            return errorSyntax(GuestCtrl::tr("No executable specified!"));
    14391297
    14401298        /*
     
    17141572static DECLCALLBACK(RTEXITCODE) gctlHandleRun(PGCTLCMDCTX pCtx, int argc, char **argv)
    17151573{
    1716     return gctlHandleRunCommon(pCtx, argc, argv, true /*fRunCmd*/, HELP_SCOPE_GSTCTRL_RUN);
     1574    return gctlHandleRunCommon(pCtx, argc, argv, true /*fRunCmd*/);
    17171575}
    17181576
     
    17201578static DECLCALLBACK(RTEXITCODE) gctlHandleStart(PGCTLCMDCTX pCtx, int argc, char **argv)
    17211579{
    1722     return gctlHandleRunCommon(pCtx, argc, argv, false /*fRunCmd*/, HELP_SCOPE_GSTCTRL_START);
     1580    return gctlHandleRunCommon(pCtx, argc, argv, false /*fRunCmd*/);
    17231581}
    17241582
     
    17511609    bool fFollow = false;
    17521610    bool fRecursive = false;
    1753     uint64_t uUsage = fHostToGuest ? HELP_SCOPE_GSTCTRL_COPYTO : HELP_SCOPE_GSTCTRL_COPYFROM;
    17541611
    17551612    int vrc = VINF_SUCCESS;
     
    17781635
    17791636            default:
    1780                 return errorGetOptEx(USAGE_GUESTCONTROL, uUsage, ch, &ValueUnion);
     1637                return errorGetOpt(ch, &ValueUnion);
    17811638        }
    17821639    }
     
    17861643
    17871644    if (!cSources)
    1788         return errorSyntaxEx(USAGE_GUESTCONTROL, uUsage, GuestCtrl::tr("No sources specified!"));
     1645        return errorSyntax(GuestCtrl::tr("No sources specified!"));
    17891646
    17901647    /* Unless a --target-directory is given, the last argument is the destination, so
     
    17941651
    17951652    if (pszDst == NULL)
    1796         return errorSyntaxEx(USAGE_GUESTCONTROL, uUsage, GuestCtrl::tr("No destination specified!"));
     1653        return errorSyntax(GuestCtrl::tr("No destination specified!"));
    17971654
    17981655    char szAbsDst[RTPATH_MAX];
     
    20721929
    20731930            default:
    2074                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_MKDIR, ch, &ValueUnion);
     1931                return errorGetOpt(ch, &ValueUnion);
    20751932        }
    20761933    }
    20771934
    20781935    if (!cDirsCreated)
    2079         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_MKDIR, GuestCtrl::tr("No directory to create specified!"));
     1936        return errorSyntax(GuestCtrl::tr("No directory to create specified!"));
    20801937    return rcExit;
    20811938}
     
    22002057
    22012058            default:
    2202                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_RMDIR, ch, &ValueUnion);
     2059                return errorGetOpt(ch, &ValueUnion);
    22032060        }
    22042061    }
    22052062
    22062063    if (!cDirRemoved)
    2207         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_RMDIR, GuestCtrl::tr("No directory to remove specified!"));
     2064        return errorSyntax(GuestCtrl::tr("No directory to remove specified!"));
    22082065    return rcExit;
    22092066}
     
    22772134
    22782135            default:
    2279                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_RM, ch, &ValueUnion);
     2136                return errorGetOpt(ch, &ValueUnion);
    22802137        }
    22812138    }
    22822139
    22832140    if (!cFilesDeleted && !fForce)
    2284         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_RM, GuestCtrl::tr("No file to remove specified!"));
     2141        return errorSyntax(GuestCtrl::tr("No file to remove specified!"));
    22852142    return rcExit;
    22862143}
     
    23302187
    23312188                default:
    2332                     return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_MV, ch, &ValueUnion);
     2189                    return errorGetOpt(ch, &ValueUnion);
    23332190            }
    23342191        }
     
    23442201    size_t cSources = vecSources.size();
    23452202    if (!cSources)
    2346         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_MV,
    2347                              GuestCtrl::tr("No source(s) to move specified!"));
     2203        return errorSyntax(GuestCtrl::tr("No source(s) to move specified!"));
    23482204    if (cSources < 2)
    2349         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_MV,
    2350                              GuestCtrl::tr("No destination specified!"));
     2205        return errorSyntax(GuestCtrl::tr("No destination specified!"));
    23512206
    23522207    RTEXITCODE rcExit = gctlCtxPostOptionParsingInit(pCtx);
     
    25022357                    strTemplate = ValueUnion.psz;
    25032358                else
    2504                     return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_MKTEMP,
    2505                                          GuestCtrl::tr("More than one template specified!\n"));
     2359                    return errorSyntax(GuestCtrl::tr("More than one template specified!\n"));
    25062360                break;
    25072361
    25082362            default:
    2509                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_MKTEMP, ch, &ValueUnion);
     2363                return errorGetOpt(ch, &ValueUnion);
    25102364        }
    25112365    }
    25122366
    25132367    if (strTemplate.isEmpty())
    2514         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_MKTEMP,
    2515                              GuestCtrl::tr("No template specified!"));
     2368        return errorSyntax(GuestCtrl::tr("No template specified!"));
    25162369
    25172370    if (!fDirectory)
    2518         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_MKTEMP,
    2519                              GuestCtrl::tr("Creating temporary files is currently not supported!"));
     2371        return errorSyntax(GuestCtrl::tr("Creating temporary files is currently not supported!"));
    25202372
    25212373    RTEXITCODE rcExit = gctlCtxPostOptionParsingInit(pCtx);
     
    25942446            case 'c': /* Format */
    25952447            case 't': /* Terse */
    2596                 return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_STAT,
    2597                                      GuestCtrl::tr("Command \"%s\" not implemented yet!"), ValueUnion.psz);
     2448                return errorSyntax(GuestCtrl::tr("Command \"%s\" not implemented yet!"), ValueUnion.psz);
    25982449
    25992450            default:
    2600                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_STAT, ch, &ValueUnion);
     2451                return errorGetOpt(ch, &ValueUnion);
    26012452        }
    26022453    }
    26032454
    26042455    if (ch != VINF_GETOPT_NOT_OPTION)
    2605         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_STAT, GuestCtrl::tr("Nothing to stat!"));
     2456        return errorSyntax(GuestCtrl::tr("Nothing to stat!"));
    26062457
    26072458    RTEXITCODE rcExit = gctlCtxPostOptionParsingInit(pCtx);
     
    28912742
    28922743            default:
    2893                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_UPDATEGA, ch, &ValueUnion);
     2744                return errorGetOpt(ch, &ValueUnion);
    28942745        }
    28952746    }
     
    31563007                enmRunLevel = gctlGetRunLevelFromStr(ValueUnion.psz);
    31573008                if (enmRunLevel == AdditionsRunLevelType_None)
    3158                     return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_WAITRUNLEVEL,
    3159                                          GuestCtrl::tr("Invalid run level specified. Valid values are: system, userland, desktop"));
     3009                    return errorSyntax(GuestCtrl::tr("Invalid run level specified. Valid values are: system, userland, desktop"));
    31603010                break;
    31613011            }
    31623012
    31633013            default:
    3164                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_WAITRUNLEVEL, ch, &ValueUnion);
     3014                return errorGetOpt(ch, &ValueUnion);
    31653015        }
    31663016    }
     
    31713021
    31723022    if (enmRunLevel == AdditionsRunLevelType_None)
    3173         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_WAITRUNLEVEL, GuestCtrl::tr("Missing run level to wait for"));
     3023        return errorSyntax(GuestCtrl::tr("Missing run level to wait for"));
    31743024
    31753025    vrc = gctlWaitForRunLevel(pCtx, enmRunLevel, cMsTimeout);
     
    32183068                    fListAll = true;
    32193069                else
    3220                     return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_LIST,
    3221                                          GuestCtrl::tr("Unknown list: '%s'"), ValueUnion.psz);
     3070                    return errorSyntax(GuestCtrl::tr("Unknown list: '%s'"), ValueUnion.psz);
    32223071                fSeenListArg = true;
    32233072                break;
    32243073
    32253074            default:
    3226                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_UPDATEGA, ch, &ValueUnion);
     3075                return errorGetOpt(ch, &ValueUnion);
    32273076        }
    32283077    }
    32293078
    32303079    if (!fSeenListArg)
    3231         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_LIST, GuestCtrl::tr("Missing list name"));
     3080        return errorSyntax(GuestCtrl::tr("Missing list name"));
    32323081    Assert(fListAll || fListSessions);
    32333082
     
    34043253                    }
    34053254                    else
    3406                         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_CLOSEPROCESS,
    3407                                              GuestCtrl::tr("Invalid PID value: 0"));
     3255                        return errorSyntax(GuestCtrl::tr("Invalid PID value: 0"));
    34083256                }
    34093257                else
    3410                     return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_CLOSEPROCESS,
    3411                                          GuestCtrl::tr("Error parsing PID value: %Rrc"), rc);
     3258                    return errorSyntax(GuestCtrl::tr("Error parsing PID value: %Rrc"), rc);
    34123259                break;
    34133260            }
    34143261
    34153262            default:
    3416                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_CLOSEPROCESS, ch, &ValueUnion);
     3263                return errorGetOpt(ch, &ValueUnion);
    34173264        }
    34183265    }
    34193266
    34203267    if (vecPID.empty())
    3421         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_CLOSEPROCESS,
    3422                              GuestCtrl::tr("At least one PID must be specified to kill!"));
     3268        return errorSyntax(GuestCtrl::tr("At least one PID must be specified to kill!"));
    34233269
    34243270    if (   strSessionName.isEmpty()
    34253271        && idSession == UINT32_MAX)
    3426         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_CLOSEPROCESS, GuestCtrl::tr("No session ID specified!"));
     3272        return errorSyntax(GuestCtrl::tr("No session ID specified!"));
    34273273
    34283274    if (   strSessionName.isNotEmpty()
    34293275        && idSession != UINT32_MAX)
    3430         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_CLOSEPROCESS,
    3431                              GuestCtrl::tr("Either session ID or name (pattern) must be specified"));
     3276        return errorSyntax(GuestCtrl::tr("Either session ID or name (pattern) must be specified"));
    34323277
    34333278    RTEXITCODE rcExit = gctlCtxPostOptionParsingInit(pCtx);
     
    35733418                 *  break; */
    35743419            default:
    3575                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_CLOSESESSION, ch, &ValueUnion);
     3420                return errorGetOpt(ch, &ValueUnion);
    35763421        }
    35773422    }
     
    35793424    if (   strSessionName.isEmpty()
    35803425        && idSession == UINT32_MAX)
    3581         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_CLOSESESSION,
    3582                              GuestCtrl::tr("No session ID specified!"));
     3426        return errorSyntax(GuestCtrl::tr("No session ID specified!"));
    35833427
    35843428    if (   !strSessionName.isEmpty()
    35853429        && idSession != UINT32_MAX)
    3586         return errorSyntaxEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_CLOSESESSION,
    3587                              GuestCtrl::tr("Either session ID or name (pattern) must be specified"));
     3430        return errorSyntax(GuestCtrl::tr("Either session ID or name (pattern) must be specified"));
    35883431
    35893432    RTEXITCODE rcExit = gctlCtxPostOptionParsingInit(pCtx);
     
    36783521            case VINF_GETOPT_NOT_OPTION:
    36793522            default:
    3680                 return errorGetOptEx(USAGE_GUESTCONTROL, HELP_SCOPE_GSTCTRL_WATCH, ch, &ValueUnion);
     3523                return errorGetOpt(ch, &ValueUnion);
    36813524        }
    36823525    }
     
    37733616    static const GCTLCMDDEF s_aCmdDefs[] =
    37743617    {
    3775         { "run",                gctlHandleRun,              HELP_SCOPE_GSTCTRL_RUN,       0 },
    3776         { "start",              gctlHandleStart,            HELP_SCOPE_GSTCTRL_START,     0 },
    3777         { "copyfrom",           gctlHandleCopyFrom,         HELP_SCOPE_GSTCTRL_COPYFROM,  0 },
    3778         { "copyto",             gctlHandleCopyTo,           HELP_SCOPE_GSTCTRL_COPYTO,    0 },
    3779 
    3780         { "mkdir",              gctrlHandleMkDir,           HELP_SCOPE_GSTCTRL_MKDIR,     0 },
    3781         { "md",                 gctrlHandleMkDir,           HELP_SCOPE_GSTCTRL_MKDIR,     0 },
    3782         { "createdirectory",    gctrlHandleMkDir,           HELP_SCOPE_GSTCTRL_MKDIR,     0 },
    3783         { "createdir",          gctrlHandleMkDir,           HELP_SCOPE_GSTCTRL_MKDIR,     0 },
    3784 
    3785         { "rmdir",              gctlHandleRmDir,            HELP_SCOPE_GSTCTRL_RMDIR,     0 },
    3786         { "removedir",          gctlHandleRmDir,            HELP_SCOPE_GSTCTRL_RMDIR,     0 },
    3787         { "removedirectory",    gctlHandleRmDir,            HELP_SCOPE_GSTCTRL_RMDIR,     0 },
    3788 
    3789         { "rm",                 gctlHandleRm,               HELP_SCOPE_GSTCTRL_RM,        0 },
    3790         { "removefile",         gctlHandleRm,               HELP_SCOPE_GSTCTRL_RM,        0 },
    3791         { "erase",              gctlHandleRm,               HELP_SCOPE_GSTCTRL_RM,        0 },
    3792         { "del",                gctlHandleRm,               HELP_SCOPE_GSTCTRL_RM,        0 },
    3793         { "delete",             gctlHandleRm,               HELP_SCOPE_GSTCTRL_RM,        0 },
    3794 
    3795         { "mv",                 gctlHandleMv,               HELP_SCOPE_GSTCTRL_MV,        0 },
    3796         { "move",               gctlHandleMv,               HELP_SCOPE_GSTCTRL_MV,        0 },
    3797         { "ren",                gctlHandleMv,               HELP_SCOPE_GSTCTRL_MV,        0 },
    3798         { "rename",             gctlHandleMv,               HELP_SCOPE_GSTCTRL_MV,        0 },
    3799 
    3800         { "mktemp",             gctlHandleMkTemp,           HELP_SCOPE_GSTCTRL_MKTEMP,    0 },
    3801         { "createtemp",         gctlHandleMkTemp,           HELP_SCOPE_GSTCTRL_MKTEMP,    0 },
    3802         { "createtemporary",    gctlHandleMkTemp,           HELP_SCOPE_GSTCTRL_MKTEMP,    0 },
    3803 
    3804         { "stat",               gctlHandleStat,             HELP_SCOPE_GSTCTRL_STAT,      0 },
    3805 
    3806         { "closeprocess",       gctlHandleCloseProcess,     HELP_SCOPE_GSTCTRL_CLOSEPROCESS, GCTLCMDCTX_F_SESSION_ANONYMOUS | GCTLCMDCTX_F_NO_SIGNAL_HANDLER },
    3807         { "closesession",       gctlHandleCloseSession,     HELP_SCOPE_GSTCTRL_CLOSESESSION, GCTLCMDCTX_F_SESSION_ANONYMOUS | GCTLCMDCTX_F_NO_SIGNAL_HANDLER },
    3808         { "list",               gctlHandleList,             HELP_SCOPE_GSTCTRL_LIST,         GCTLCMDCTX_F_SESSION_ANONYMOUS | GCTLCMDCTX_F_NO_SIGNAL_HANDLER },
    3809         { "watch",              gctlHandleWatch,            HELP_SCOPE_GSTCTRL_WATCH,        GCTLCMDCTX_F_SESSION_ANONYMOUS },
    3810 
    3811         {"updateguestadditions",gctlHandleUpdateAdditions,  HELP_SCOPE_GSTCTRL_UPDATEGA,     GCTLCMDCTX_F_SESSION_ANONYMOUS },
    3812         { "updateadditions",    gctlHandleUpdateAdditions,  HELP_SCOPE_GSTCTRL_UPDATEGA,     GCTLCMDCTX_F_SESSION_ANONYMOUS },
    3813         { "updatega",           gctlHandleUpdateAdditions,  HELP_SCOPE_GSTCTRL_UPDATEGA,     GCTLCMDCTX_F_SESSION_ANONYMOUS },
    3814 
    3815         { "waitrunlevel",       gctlHandleWaitRunLevel,     HELP_SCOPE_GSTCTRL_WAITRUNLEVEL, GCTLCMDCTX_F_SESSION_ANONYMOUS },
    3816         { "waitforrunlevel",    gctlHandleWaitRunLevel,     HELP_SCOPE_GSTCTRL_WAITRUNLEVEL, GCTLCMDCTX_F_SESSION_ANONYMOUS },
     3618        { "run",                gctlHandleRun,              HELP_SCOPE_GUESTCONTROL_RUN,       0 },
     3619        { "start",              gctlHandleStart,            HELP_SCOPE_GUESTCONTROL_START,     0 },
     3620        { "copyfrom",           gctlHandleCopyFrom,         HELP_SCOPE_GUESTCONTROL_COPYFROM_HOSTDEST,  0 },
     3621        { "copyto",             gctlHandleCopyTo,           HELP_SCOPE_GUESTCONTROL_COPYTO_HOSTDEST,    0 },
     3622
     3623        { "mkdir",              gctrlHandleMkDir,           HELP_SCOPE_GUESTCONTROL_MKDIR,     0 },
     3624        { "md",                 gctrlHandleMkDir,           HELP_SCOPE_GUESTCONTROL_MKDIR,     0 },
     3625        { "createdirectory",    gctrlHandleMkDir,           HELP_SCOPE_GUESTCONTROL_MKDIR,     0 },
     3626        { "createdir",          gctrlHandleMkDir,           HELP_SCOPE_GUESTCONTROL_MKDIR,     0 },
     3627
     3628        { "rmdir",              gctlHandleRmDir,            HELP_SCOPE_GUESTCONTROL_RMDIR,     0 },
     3629        { "removedir",          gctlHandleRmDir,            HELP_SCOPE_GUESTCONTROL_RMDIR,     0 },
     3630        { "removedirectory",    gctlHandleRmDir,            HELP_SCOPE_GUESTCONTROL_RMDIR,     0 },
     3631
     3632        { "rm",                 gctlHandleRm,               HELP_SCOPE_GUESTCONTROL_RM,        0 },
     3633        { "removefile",         gctlHandleRm,               HELP_SCOPE_GUESTCONTROL_RM,        0 },
     3634        { "erase",              gctlHandleRm,               HELP_SCOPE_GUESTCONTROL_RM,        0 },
     3635        { "del",                gctlHandleRm,               HELP_SCOPE_GUESTCONTROL_RM,        0 },
     3636        { "delete",             gctlHandleRm,               HELP_SCOPE_GUESTCONTROL_RM,        0 },
     3637
     3638        { "mv",                 gctlHandleMv,               HELP_SCOPE_GUESTCONTROL_MV,        0 },
     3639        { "move",               gctlHandleMv,               HELP_SCOPE_GUESTCONTROL_MV,        0 },
     3640        { "ren",                gctlHandleMv,               HELP_SCOPE_GUESTCONTROL_MV,        0 },
     3641        { "rename",             gctlHandleMv,               HELP_SCOPE_GUESTCONTROL_MV,        0 },
     3642
     3643        { "mktemp",             gctlHandleMkTemp,           HELP_SCOPE_GUESTCONTROL_MKTEMP,    0 },
     3644        { "createtemp",         gctlHandleMkTemp,           HELP_SCOPE_GUESTCONTROL_MKTEMP,    0 },
     3645        { "createtemporary",    gctlHandleMkTemp,           HELP_SCOPE_GUESTCONTROL_MKTEMP,    0 },
     3646
     3647        { "stat",               gctlHandleStat,             HELP_SCOPE_GUESTCONTROL_STAT,      0 },
     3648
     3649        { "closeprocess",       gctlHandleCloseProcess,     HELP_SCOPE_GUESTCONTROL_CLOSEPROCESS, GCTLCMDCTX_F_SESSION_ANONYMOUS | GCTLCMDCTX_F_NO_SIGNAL_HANDLER },
     3650        { "closesession",       gctlHandleCloseSession,     HELP_SCOPE_GUESTCONTROL_CLOSESESSION, GCTLCMDCTX_F_SESSION_ANONYMOUS | GCTLCMDCTX_F_NO_SIGNAL_HANDLER },
     3651        { "list",               gctlHandleList,             HELP_SCOPE_GUESTCONTROL_LIST,         GCTLCMDCTX_F_SESSION_ANONYMOUS | GCTLCMDCTX_F_NO_SIGNAL_HANDLER },
     3652        { "watch",              gctlHandleWatch,            HELP_SCOPE_GUESTCONTROL_WATCH,        GCTLCMDCTX_F_SESSION_ANONYMOUS },
     3653
     3654        {"updateguestadditions",gctlHandleUpdateAdditions,  HELP_SCOPE_GUESTCONTROL_UPDATEGA,     GCTLCMDCTX_F_SESSION_ANONYMOUS },
     3655        { "updateadditions",    gctlHandleUpdateAdditions,  HELP_SCOPE_GUESTCONTROL_UPDATEGA,     GCTLCMDCTX_F_SESSION_ANONYMOUS },
     3656        { "updatega",           gctlHandleUpdateAdditions,  HELP_SCOPE_GUESTCONTROL_UPDATEGA,     GCTLCMDCTX_F_SESSION_ANONYMOUS },
     3657
     3658        { "waitrunlevel",       gctlHandleWaitRunLevel,     HELP_SCOPE_GUESTCONTROL_WAITRUNLEVEL, GCTLCMDCTX_F_SESSION_ANONYMOUS },
     3659        { "waitforrunlevel",    gctlHandleWaitRunLevel,     HELP_SCOPE_GUESTCONTROL_WAITRUNLEVEL, GCTLCMDCTX_F_SESSION_ANONYMOUS },
    38173660    };
    38183661
     
    38613704                                CmdCtx.pCmdDef = &s_aCmdDefs[iCmd];
    38623705
     3706                                setCurrentSubcommand(s_aCmdDefs[iCmd].fSubcommandScope);
    38633707                                rcExit = s_aCmdDefs[iCmd].pfnHandler(&CmdCtx, pArg->argc - GetState.iNext + 1,
    38643708                                                                     &pArg->argv[GetState.iNext - 1]);
     
    38673711                                return rcExit;
    38683712                            }
    3869                         return errorSyntax(USAGE_GUESTCONTROL, GuestCtrl::tr("Unknown sub-command: '%s'"), pszCmd);
     3713                        return errorSyntax(GuestCtrl::tr("Unknown sub-command: '%s'"), pszCmd);
    38703714                    }
    38713715                    break;
    38723716
    38733717                default:
    3874                     return errorGetOpt(USAGE_GUESTCONTROL, ch, &ValueUnion);
     3718                    return errorGetOpt(ch, &ValueUnion);
    38753719            }
    38763720        }
    38773721        if (CmdCtx.pszVmNameOrUuid)
    3878             rcExit = errorSyntax(USAGE_GUESTCONTROL, GuestCtrl::tr("Missing sub-command"));
     3722            rcExit = errorSyntax(GuestCtrl::tr("Missing sub-command"));
    38793723        else
    3880             rcExit = errorSyntax(USAGE_GUESTCONTROL, GuestCtrl::tr("Missing VM name and sub-command"));
     3724            rcExit = errorSyntax(GuestCtrl::tr("Missing VM name and sub-command"));
    38813725    }
    38823726    return rcExit;
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp

    r94208 r94209  
    639639                     "\n", SEP);
    640640
    641 #ifdef VBOX_WITH_GUEST_CONTROL
    642     if (enmCommand == USAGE_GUESTCONTROL || enmCommand == USAGE_S_ALL)
    643         usageGuestControl(pStrm, SEP, fSubcommandScope);
    644 #endif /* VBOX_WITH_GUEST_CONTROL defined */
    645 
    646641    if (enmCommand == USAGE_METRICS || enmCommand == USAGE_S_ALL)
    647642        RTStrmPrintf(pStrm,
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette