VirtualBox

Changeset 459 in vbox for trunk/src


Ignore:
Timestamp:
Jan 31, 2007 11:04:09 AM (18 years ago)
Author:
vboxsync
Message:

Fixed encoded LUN parsing for iSCSI config and added human-readable
LUN config option (old behavior of -lun has moved to -encodedlun).

File:
1 edited

Legend:

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

    r425 r459  
    432432                 "                            [-port <port>]\n"
    433433                 "                            [-lun <lun>]\n"
     434                 "                            [-encodedlun <lun>]\n"
    434435                 "                            [-username <username>]\n"
    435436                 "                            [-password <password>]\n"
     
    658659    CHECK_ERROR (machine, COMGETTER(Accessible) (&accessible));
    659660    CheckComRCReturnRC (rc);
    660    
     661
    661662    if (!accessible)
    662663    {
     
    676677        return S_OK;
    677678    }
    678    
     679
    679680    Bstr machineName;
    680681    rc = machine->COMGETTER(Name)(machineName.asOutParam());
     
    23292330            }
    23302331            i++;
    2331             lun = atoi(argv[i]);
     2332            char *pszNext;
     2333            int rc = RTStrToUInt64Ex(argv[i], &pszNext, 0, &lun);
     2334            if (VBOX_FAILURE(rc) || *pszNext != '\0' || lun >= 16384)
     2335                return errorArgument("Invalid LUN number '%s'", argv[i]);
     2336            if (lun <= 255)
     2337            {
     2338                /* Assume bus identifier = 0. */
     2339                lun = (lun << 48); /* uses peripheral device addressing method */
     2340            }
     2341            else
     2342            {
     2343                /* Check above already limited the LUN to 14 bits. */
     2344                lun = (lun << 48) | (1 << 62); /* uses flat space addressing method */
     2345            }
     2346        }
     2347        else if (strcmp(argv[i], "-encodedlun") == 0)
     2348        {
     2349            if (argc <= i + 1)
     2350            {
     2351                return errorArgument("Missing argument to '%s'", argv[i]);
     2352            }
     2353            i++;
     2354            char *pszNext;
     2355            int rc = RTStrToUInt64Ex(argv[i], &pszNext, 0, &lun);
     2356            if (VBOX_FAILURE(rc) || *pszNext != '\0')
     2357                return errorArgument("Invalid encoded LUN number '%s'", argv[i]);
    23322358        }
    23332359        else if (strcmp(argv[i], "-username") == 0)
     
    47084734        ComPtr<IHost> host;
    47094735        CHECK_ERROR_BREAK(virtualBox, COMGETTER(Host)(host.asOutParam()));
    4710    
     4736
    47114737        ComPtr<IHostNetworkInterface> hostif;
    47124738        ComPtr<IProgress> progress;
     
    47154741                                       hostif.asOutParam(),
    47164742                                       progress.asOutParam()));
    4717    
     4743
    47184744        showProgress(progress);
    47194745        HRESULT result;
     
    47474773
    47484774        ComPtr<IHostNetworkInterface> hostif;
    4749    
     4775
    47504776        /* first guess is that it's a UUID */
    47514777        Guid uuid(argv[0]);
     
    47584784            CHECK_ERROR_BREAK(hostif, COMGETTER(Id)(uuid.asOutParam()));
    47594785        }
    4760    
     4786
    47614787        ComPtr<IProgress> progress;
    47624788        CHECK_ERROR_BREAK(host,
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