Changeset 8373 in vbox for trunk/src/VBox/Frontends/VBoxManage
- Timestamp:
- Apr 24, 2008 8:17:46 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 30163
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VBoxManage/VBoxManage.cpp
r8371 r8373 260 260 fLinux = true; 261 261 fWin = true; 262 fSolaris = true; 263 fDarwin = true; 262 264 fVRDP = true; 263 265 u64Cmd = USAGE_ALL; … … 2430 2432 /* at least one option: the UUID or name of the VM */ 2431 2433 if (argc < 1) 2432 {2433 2434 return errorSyntax(USAGE_SHOWVMINFO, "Incorrect number of parameters"); 2434 }2435 2435 2436 2436 /* try to find the given machine */ … … 2504 2504 /* exactly one option: the object */ 2505 2505 if (argc != 1) 2506 {2507 2506 return errorSyntax(USAGE_LIST, "Incorrect number of parameters"); 2508 }2509 2507 2510 2508 /* which object? */ … … 2982 2980 } 2983 2981 else 2984 {2985 2982 return errorSyntax(USAGE_LIST, "Invalid parameter '%s'", Utf8Str(argv[0]).raw()); 2986 } 2983 2987 2984 return SUCCEEDED(rc) ? 0 : 1; 2988 2985 } … … 2994 2991 2995 2992 if (argc != 1) 2996 {2997 2993 return errorSyntax(USAGE_REGISTERVM, "Incorrect number of parameters"); 2998 }2999 2994 3000 2995 ComPtr<IMachine> machine; … … 3014 3009 3015 3010 if ((argc != 1) && (argc != 2)) 3016 {3017 3011 return errorSyntax(USAGE_UNREGISTERVM, "Incorrect number of parameters"); 3018 }3019 3012 3020 3013 ComPtr<IMachine> machine; … … 3061 3054 { 3062 3055 if (argc <= i + 1) 3063 {3064 3056 return errorArgument("Missing argument to '%s'", argv[i]); 3065 }3066 3057 i++; 3067 3058 filename = argv[i]; … … 3070 3061 { 3071 3062 if (argc <= i + 1) 3072 {3073 3063 return errorArgument("Missing argument to '%s'", argv[i]); 3074 }3075 3064 i++; 3076 3065 sizeMB = RTStrToUInt64(argv[i]); … … 3083 3072 { 3084 3073 if (argc <= i + 1) 3085 {3086 3074 return errorArgument("Missing argument to '%s'", argv[i]); 3087 }3088 3075 i++; 3089 3076 comment = argv[i]; … … 3096 3083 { 3097 3084 if (argc <= i + 1) 3098 {3099 3085 return errorArgument("Missing argument to '%s'", argv[i]); 3100 }3101 3086 i++; 3102 3087 type = argv[i]; 3103 3088 } 3104 3089 else 3105 {3106 3090 return errorSyntax(USAGE_CREATEVDI, "Invalid parameter '%s'", Utf8Str(argv[i]).raw()); 3107 }3108 3091 } 3109 3092 /* check the outcome */ 3110 3093 if (!filename || (sizeMB == 0)) 3111 {3112 3094 return errorSyntax(USAGE_CREATEVDI, "Parameters -filename and -size are required"); 3113 } 3095 3114 3096 if (strcmp(type, "normal") && strcmp(type, "writethrough")) 3115 {3116 3097 return errorArgument("Invalid VDI type '%s' specified", Utf8Str(type).raw()); 3117 }3118 3098 3119 3099 ComPtr<IHardDisk> hardDisk; … … 3146 3126 com::ProgressErrorInfo info(progress); 3147 3127 if (info.isBasicAvailable()) 3148 {3149 3128 RTPrintf("Error: failed to create disk image. Error message: %lS\n", info.getText().raw()); 3150 }3151 3129 else 3152 {3153 3130 RTPrintf("Error: failed to create disk image. No error message available!\n"); 3154 }3155 3131 } 3156 3132 else … … 3204 3180 /* The uuid/filename and a command */ 3205 3181 if (argc < 2) 3206 {3207 3182 return errorSyntax(USAGE_MODIFYVDI, "Incorrect number of parameters"); 3208 }3209 3183 3210 3184 ComPtr<IHardDisk> hardDisk; … … 3237 3211 3238 3212 if (argc <= 2) 3239 {3240 3213 return errorArgument("Missing argument to for settype"); 3241 } 3214 3242 3215 type = argv[2]; 3243 3216 … … 3267 3240 } 3268 3241 else 3269 {3270 3242 return errorArgument("Hard disk image not registered"); 3271 }3272 3243 } 3273 3244 else if (strcmp(argv[1], "compact") == 0) … … 3280 3251 virtualBox->OpenVirtualDiskImage(Bstr(argv[0]), vdi.asOutParam()); 3281 3252 if (!vdi) 3282 {3283 3253 return errorArgument("Hard disk image not found"); 3284 }3285 3254 } 3286 3255 else … … 3308 3277 } 3309 3278 else 3310 {3311 3279 return errorSyntax(USAGE_MODIFYVDI, "Invalid parameter '%s'", Utf8Str(argv[1]).raw()); 3312 } 3280 3313 3281 return SUCCEEDED(rc) ? 0 : 1; 3314 3282 } … … 3321 3289 /* source VDI and target path */ 3322 3290 if (argc != 2) 3323 {3324 3291 return errorSyntax(USAGE_CLONEVDI, "Incorrect number of parameters"); 3325 }3326 3292 3327 3293 /* first guess is that it's a UUID */ … … 3467 3433 /* at least server and target */ 3468 3434 if (argc < 4) 3469 {3470 3435 return errorSyntax(USAGE_ADDISCSIDISK, "Not enough parameters"); 3471 }3472 3436 3473 3437 /* let's have a closer look at the arguments */ … … 3477 3441 { 3478 3442 if (argc <= i + 1) 3479 {3480 3443 return errorArgument("Missing argument to '%s'", argv[i]); 3481 }3482 3444 i++; 3483 3445 server = argv[i]; … … 3486 3448 { 3487 3449 if (argc <= i + 1) 3488 {3489 3450 return errorArgument("Missing argument to '%s'", argv[i]); 3490 }3491 3451 i++; 3492 3452 target = argv[i]; … … 3495 3455 { 3496 3456 if (argc <= i + 1) 3497 {3498 3457 return errorArgument("Missing argument to '%s'", argv[i]); 3499 }3500 3458 i++; 3501 3459 port = atoi(argv[i]); … … 3505 3463 /** @todo move the LUN encoding algorithm into IISCSIHardDisk, add decoding */ 3506 3464 if (argc <= i + 1) 3507 {3508 3465 return errorArgument("Missing argument to '%s'", argv[i]); 3509 }3510 3466 i++; 3511 3467 char *pszNext; … … 3527 3483 { 3528 3484 if (argc <= i + 1) 3529 {3530 3485 return errorArgument("Missing argument to '%s'", argv[i]); 3531 }3532 3486 i++; 3533 3487 char *pszNext; … … 3539 3493 { 3540 3494 if (argc <= i + 1) 3541 {3542 3495 return errorArgument("Missing argument to '%s'", argv[i]); 3543 }3544 3496 i++; 3545 3497 username = argv[i]; … … 3548 3500 { 3549 3501 if (argc <= i + 1) 3550 {3551 3502 return errorArgument("Missing argument to '%s'", argv[i]); 3552 }3553 3503 i++; 3554 3504 password = argv[i]; … … 3557 3507 { 3558 3508 if (argc <= i + 1) 3559 {3560 3509 return errorArgument("Missing argument to '%s'", argv[i]); 3561 }3562 3510 i++; 3563 3511 comment = argv[i]; 3564 3512 } 3565 3513 else 3566 {3567 3514 return errorSyntax(USAGE_ADDISCSIDISK, "Invalid parameter '%s'", Utf8Str(argv[i]).raw()); 3568 }3569 3515 } 3570 3516 3571 3517 /* check for required options */ 3572 3518 if (!server || !target) 3573 {3574 3519 return errorSyntax(USAGE_ADDISCSIDISK, "Parameters -server and -target are required"); 3575 }3576 3520 3577 3521 ComPtr<IHardDisk> hardDisk; … … 3622 3566 { 3623 3567 if (argc <= i + 1) 3624 {3625 3568 return errorArgument("Missing argument to '%s'", argv[i]); 3626 }3627 3569 i++; 3628 3570 baseFolder = argv[i]; … … 3631 3573 { 3632 3574 if (argc <= i + 1) 3633 {3634 3575 return errorArgument("Missing argument to '%s'", argv[i]); 3635 }3636 3576 i++; 3637 3577 settingsFile = argv[i]; … … 3640 3580 { 3641 3581 if (argc <= i + 1) 3642 {3643 3582 return errorArgument("Missing argument to '%s'", argv[i]); 3644 }3645 3583 i++; 3646 3584 name = argv[i]; … … 3649 3587 { 3650 3588 if (argc <= i + 1) 3651 {3652 3589 return errorArgument("Missing argument to '%s'", argv[i]); 3653 }3654 3590 i++; 3655 3591 if (VBOX_FAILURE(RTUuidFromStr(&id, argv[i]))) 3656 {3657 3592 return errorArgument("Invalid UUID format %s\n", argv[i]); 3658 }3659 3593 } 3660 3594 else if (strcmp(argv[i], "-register") == 0) … … 3663 3597 } 3664 3598 else 3665 {3666 3599 return errorSyntax(USAGE_CREATEVM, "Invalid parameter '%s'", Utf8Str(argv[i]).raw()); 3667 }3668 3600 } 3669 3601 if (!name) 3670 {3671 3602 return errorSyntax(USAGE_CREATEVM, "Parameter -name is required"); 3672 } 3603 3673 3604 if (!!baseFolder && !!settingsFile) 3674 {3675 3605 return errorSyntax(USAGE_CREATEVM, "Either -basefolder or -settingsfile must be specified"); 3676 }3677 3606 3678 3607 do … … 3815 3744 { 3816 3745 if (argc <= i + 1) 3817 {3818 3746 return errorArgument("Missing argument to '%s'", argv[i]); 3819 }3820 3747 i++; 3821 3748 name = argv[i]; … … 3824 3751 { 3825 3752 if (argc <= i + 1) 3826 {3827 3753 return errorArgument("Missing argument to '%s'", argv[i]); 3828 }3829 3754 i++; 3830 3755 ostype = argv[i]; … … 3833 3758 { 3834 3759 if (argc <= i + 1) 3835 {3836 3760 return errorArgument("Missing argument to '%s'", argv[i]); 3837 }3838 3761 i++; 3839 3762 memorySize = atoi(argv[i]); … … 3842 3765 { 3843 3766 if (argc <= i + 1) 3844 {3845 3767 return errorArgument("Missing argument to '%s'", argv[i]); 3846 }3847 3768 i++; 3848 3769 vramSize = atoi(argv[i]); … … 3851 3772 { 3852 3773 if (argc <= i + 1) 3853 {3854 3774 return errorArgument("Missing argument to '%s'", argv[i]); 3855 }3856 3775 i++; 3857 3776 acpi = argv[i]; … … 3860 3779 { 3861 3780 if (argc <= i + 1) 3862 {3863 3781 return errorArgument("Missing argument to '%s'", argv[i]); 3864 }3865 3782 i++; 3866 3783 ioapic = argv[i]; … … 3869 3786 { 3870 3787 if (argc <= i + 1) 3871 {3872 3788 return errorArgument("Missing argument to '%s'", argv[i]); 3873 }3874 3789 i++; 3875 3790 hwvirtex = argv[i]; … … 3878 3793 { 3879 3794 if (argc <= i + 1) 3880 {3881 3795 return errorArgument("Missing argument to '%s'", argv[i]); 3882 }3883 3796 i++; 3884 3797 pae = argv[i]; … … 3887 3800 { 3888 3801 if (argc <= i + 1) 3889 {3890 3802 return errorArgument("Missing argument to '%s'", argv[i]); 3891 }3892 3803 i++; 3893 3804 monitorcount = atoi(argv[i]); … … 3896 3807 { 3897 3808 if (argc <= i + 1) 3898 {3899 3809 return errorArgument("Missing argument to '%s'", argv[i]); 3900 }3901 3810 i++; 3902 3811 bioslogofadein = argv[i]; … … 3905 3814 { 3906 3815 if (argc <= i + 1) 3907 {3908 3816 return errorArgument("Missing argument to '%s'", argv[i]); 3909 }3910 3817 i++; 3911 3818 bioslogofadeout = argv[i]; … … 3914 3821 { 3915 3822 if (argc <= i + 1) 3916 {3917 3823 return errorArgument("Missing argument to '%s'", argv[i]); 3918 }3919 3824 i++; 3920 3825 bioslogodisplaytime = atoi(argv[i]); … … 3923 3828 { 3924 3829 if (argc <= i + 1) 3925 {3926 3830 return errorArgument("Missing argument to '%s'", argv[i]); 3927 }3928 3831 i++; 3929 3832 bioslogoimagepath = argv[i]; … … 3932 3835 { 3933 3836 if (argc <= i + 1) 3934 {3935 3837 return errorArgument("Missing argument to '%s'", argv[i]); 3936 }3937 3838 i++; 3938 3839 biosbootmenumode = argv[i]; … … 3941 3842 { 3942 3843 if (argc <= i + 1) 3943 {3944 3844 return errorArgument("Missing argument to '%s'", argv[i]); 3945 }3946 3845 i++; 3947 3846 biossystemtimeoffset = argv[i]; … … 3950 3849 { 3951 3850 if (argc <= i + 1) 3952 {3953 3851 return errorArgument("Missing argument to '%s'", argv[i]); 3954 }3955 3852 i++; 3956 3853 biospxedebug = argv[i]; … … 3960 3857 ULONG n = 0; 3961 3858 if (!argv[i][5]) 3962 {3963 3859 return errorSyntax(USAGE_MODIFYVM, "Missing boot slot number in '%s'", argv[i]); 3964 }3965 3860 if ((n = strtoul(&argv[i][5], NULL, 10)) < 1) 3966 {3967 3861 return errorSyntax(USAGE_MODIFYVM, "Invalid boot slot number in '%s'", argv[i]); 3968 }3969 3862 if (argc <= i + 1) 3970 {3971 3863 return errorArgument("Missing argument to '%s'", argv[i]); 3972 }3973 3864 i++; 3974 3865 if (strcmp(argv[i], "none") == 0) … … 3993 3884 } 3994 3885 else 3995 {3996 3886 return errorArgument("Invalid boot device '%s'", argv[i]); 3997 } 3887 3998 3888 bootDeviceChanged[n - 1] = true; 3999 3889 } … … 4001 3891 { 4002 3892 if (argc <= i + 1) 4003 {4004 3893 return errorArgument("Missing argument to '%s'", argv[i]); 4005 }4006 3894 i++; 4007 3895 hdds[0] = argv[i]; … … 4010 3898 { 4011 3899 if (argc <= i + 1) 4012 {4013 3900 return errorArgument("Missing argument to '%s'", argv[i]); 4014 }4015 3901 i++; 4016 3902 hdds[1] = argv[i]; … … 4019 3905 { 4020 3906 if (argc <= i + 1) 4021 {4022 3907 return errorArgument("Missing argument to '%s'", argv[i]); 4023 }4024 3908 i++; 4025 3909 hdds[2] = argv[i]; … … 4028 3912 { 4029 3913 if (argc <= i + 1) 4030 {4031 3914 return errorArgument("Missing argument to '%s'", argv[i]); 4032 }4033 3915 i++; 4034 3916 dvd = argv[i]; … … 4037 3919 { 4038 3920 if (argc <= i + 1) 4039 {4040 3921 return errorArgument("Missing argument to '%s'", argv[i]); 4041 }4042 3922 i++; 4043 3923 dvdpassthrough = argv[i]; … … 4046 3926 { 4047 3927 if (argc <= i + 1) 4048 {4049 3928 return errorArgument("Missing argument to '%s'", argv[i]); 4050 }4051 3929 i++; 4052 3930 floppy = argv[i]; … … 4055 3933 { 4056 3934 if (argc <= i + 1) 4057 {4058 3935 return errorArgument("Missing argument to '%s'", argv[i]); 4059 }4060 3936 i++; 4061 3937 audio = argv[i]; … … 4064 3940 { 4065 3941 if (argc <= i + 1) 4066 {4067 3942 return errorArgument("Missing argument to '%s'", argv[i]); 4068 }4069 3943 i++; 4070 3944 audiocontroller = argv[i]; … … 4073 3947 { 4074 3948 if (argc <= i + 1) 4075 {4076 3949 return errorArgument("Missing argument to '%s'", argv[i]); 4077 }4078 3950 i++; 4079 3951 clipboard = argv[i]; … … 4084 3956 if (!n) 4085 3957 return 1; 3958 4086 3959 if (argc <= i + 1) 4087 {4088 3960 return errorArgument("Missing argument to '%s'", argv[i]); 4089 } 3961 4090 3962 cableconnected[n - 1] = argv[i + 1]; 4091 3963 i++; … … 4110 3982 return 1; 4111 3983 if (argc <= i + 1) 4112 {4113 3984 return errorArgument("Missing argument to '%s'", argv[i]); 4114 }4115 3985 nictrace[n - 1] = argv[i + 1]; 4116 3986 i++; … … 4122 3992 return 1; 4123 3993 if (argc <= i + 1) 4124 {4125 3994 return errorArgument("Missing argument to '%s'", argv[i]); 4126 }4127 3995 nictype[n - 1] = argv[i + 1]; 4128 3996 i++; … … 4134 4002 return 1; 4135 4003 if (argc <= i + 1) 4136 {4137 4004 return errorArgument("Missing argument to '%s'", argv[i]); 4138 }4139 4005 nicspeed[n - 1] = argv[i + 1]; 4140 4006 i++; … … 4146 4012 return 1; 4147 4013 if (argc <= i + 1) 4148 {4149 4014 return errorArgument("Missing argument to '%s'", argv[i]); 4150 }4151 4015 nics[n - 1] = argv[i + 1]; 4152 4016 i++; … … 4158 4022 return 1; 4159 4023 if (argc <= i + 1) 4160 {4161 4024 return errorArgument("Missing argument to '%s'", argv[i]); 4162 }4163 4025 hostifdev[n - 1] = argv[i + 1]; 4164 4026 i++; … … 4170 4032 return 1; 4171 4033 if (argc <= i + 1) 4172 {4173 4034 return errorArgument("Missing argument to '%s'", argv[i]); 4174 }4175 4035 intnet[n - 1] = argv[i + 1]; 4176 4036 i++; … … 4182 4042 return 1; 4183 4043 if (argc <= i + 1) 4184 {4185 4044 return errorArgument("Missing argument to '%s'", argv[i]); 4186 } 4045 4187 4046 RTIPV4ADDR Network; 4188 4047 RTIPV4ADDR Netmask; … … 4202 4061 return 1; 4203 4062 if (argc <= i + 1) 4204 {4205 4063 return errorArgument("Missing argument to '%s'", argv[i]); 4206 }4207 4064 tapsetup[n - 1] = argv[i + 1]; 4208 4065 i++; … … 4214 4071 return 1; 4215 4072 if (argc <= i + 1) 4216 {4217 4073 return errorArgument("Missing argument to '%s'", argv[i]); 4218 }4219 4074 tapterm[n - 1] = argv[i + 1]; 4220 4075 i++; … … 4227 4082 return 1; 4228 4083 if (argc <= i + 1) 4229 {4230 4084 return errorArgument("Missing argument to '%s'", argv[i]); 4231 }4232 4085 macs[n - 1] = argv[i + 1]; 4233 4086 i++; … … 4237 4090 { 4238 4091 if (argc <= i + 1) 4239 {4240 4092 return errorArgument("Missing argument to '%s'", argv[i]); 4241 }4242 4093 i++; 4243 4094 vrdp = argv[i]; … … 4246 4097 { 4247 4098 if (argc <= i + 1) 4248 {4249 4099 return errorArgument("Missing argument to '%s'", argv[i]); 4250 }4251 4100 i++; 4252 4101 if (strcmp(argv[i], "default") == 0) … … 4258 4107 { 4259 4108 if (argc <= i + 1) 4260 {4261 4109 return errorArgument("Missing argument to '%s'", argv[i]); 4262 }4263 4110 i++; 4264 4111 vrdpaddress = argv[i]; … … 4267 4114 { 4268 4115 if (argc <= i + 1) 4269 {4270 4116 return errorArgument("Missing argument to '%s'", argv[i]); 4271 }4272 4117 i++; 4273 4118 vrdpauthtype = argv[i]; … … 4276 4121 { 4277 4122 if (argc <= i + 1) 4278 {4279 4123 return errorArgument("Missing argument to '%s'", argv[i]); 4280 }4281 4124 i++; 4282 4125 vrdpmulticon = argv[i]; … … 4286 4129 { 4287 4130 if (argc <= i + 1) 4288 {4289 4131 return errorArgument("Missing argument to '%s'", argv[i]); 4290 }4291 4132 i++; 4292 4133 if (strcmp(argv[i], "on") == 0 || strcmp(argv[i], "enable") == 0) … … 4300 4141 { 4301 4142 if (argc <= i + 1) 4302 {4303 4143 return errorArgument("Missing argument to '%s'", argv[i]); 4304 }4305 4144 i++; 4306 4145 if (strcmp(argv[i], "on") == 0 || strcmp(argv[i], "enable") == 0) … … 4314 4153 { 4315 4154 if (argc <= i + 1) 4316 {4317 4155 return errorArgument("Missing argument to '%s'", argv[i]); 4318 }4319 4156 i++; 4320 4157 snapshotFolder = argv[i]; … … 4346 4183 } 4347 4184 if (argc <= i) 4348 {4349 4185 return errorArgument("Missing argument to -uartmode"); 4350 }4351 4186 uarts_path[n - 1] = argv[i]; 4352 4187 } … … 4358 4193 return 1; 4359 4194 if (argc <= i + 1) 4360 {4361 4195 return errorArgument("Missing argument to '%s'", argv[i]); 4362 }4363 4196 i++; 4364 4197 if (strcmp(argv[i], "off") == 0 || strcmp(argv[i], "disable") == 0) … … 4369 4202 { 4370 4203 if (argc <= i + 1) 4371 {4372 4204 return errorArgument("Missing argument to '%s'", argv[i-1]); 4373 }4374 4205 uint32_t uVal; 4375 4206 int vrc; … … 4414 4245 { 4415 4246 if (argc <= i + 1) 4416 {4417 4247 return errorArgument("Missing argument to '%s'", argv[i]); 4418 }4419 4248 i++; 4420 4249 if (strcmp(argv[i], "on") == 0 || strcmp(argv[i], "enable") == 0) … … 4430 4259 4431 4260 if (argc <= i + 1) 4432 {4433 4261 return errorArgument("Missing arguments to '%s'", argv[i]); 4434 }4435 4262 i++; 4436 4263 … … 4446 4273 return 1; 4447 4274 if (argc <= i + 1) 4448 {4449 4275 return errorArgument("Missing argument to '%s'", argv[i]); 4450 }4451 4276 i++; 4452 4277 hdds[n-1+4] = argv[i]; … … 4463 4288 4464 4289 if (argc <= i + 1) 4465 {4466 4290 return errorArgument("Missing arguments to '%s'", argv[i]); 4467 }4468 4291 i++; 4469 4292 … … 4475 4298 } 4476 4299 else 4477 {4478 4300 return errorSyntax(USAGE_MODIFYVM, "Invalid parameter '%s'", Utf8Str(argv[i]).raw()); 4479 }4480 4301 } 4481 4302 … … 5572 5393 5573 5394 if (argc < 1) 5574 {5575 5395 return errorSyntax(USAGE_STARTVM, "Not enough parameters"); 5576 }5577 5396 5578 5397 ComPtr<IMachine> machine; … … 5607 5426 } 5608 5427 else 5609 {5610 5428 return errorArgument("Invalid session type argument '%s'", argv[2]); 5611 }5612 5429 } 5613 5430 … … 5658 5475 5659 5476 if (argc < 2) 5660 {5661 5477 return errorSyntax(USAGE_CONTROLVM, "Not enough parameters"); 5662 }5663 5478 5664 5479 /* try to find the given machine */ … … 6071 5886 6072 5887 if (argc != 1) 6073 {6074 5888 return errorSyntax(USAGE_DISCARDSTATE, "Incorrect number of parameters"); 6075 }6076 5889 6077 5890 ComPtr<IMachine> machine; … … 6112 5925 6113 5926 if (argc != 2) 6114 {6115 5927 return errorSyntax(USAGE_ADOPTSTATE, "Incorrect number of parameters"); 6116 }6117 5928 6118 5929 ComPtr<IMachine> machine; … … 6154 5965 /* we need at least a VM and a command */ 6155 5966 if (argc < 2) 6156 {6157 5967 return errorSyntax(USAGE_SNAPSHOT, "Not enough parameters"); 6158 }6159 5968 6160 5969 /* the first argument must be the VM */ … … 6210 6019 com::ProgressErrorInfo info(progress); 6211 6020 if (info.isBasicAvailable()) 6212 {6213 6021 RTPrintf("Error: failed to take snapshot. Error message: %lS\n", info.getText().raw()); 6214 }6215 6022 else 6216 {6217 6023 RTPrintf("Error: failed to take snapshot. No error message available!\n"); 6218 }6219 6024 } 6220 6025 } … … 6254 6059 com::ProgressErrorInfo info(progress); 6255 6060 if (info.isBasicAvailable()) 6256 {6257 6061 RTPrintf("Error: failed to discard snapshot. Error message: %lS\n", info.getText().raw()); 6258 }6259 6062 else 6260 {6261 6063 RTPrintf("Error: failed to discard snapshot. No error message available!\n"); 6262 }6263 6064 } 6264 6065 } … … 6294 6095 com::ProgressErrorInfo info(progress); 6295 6096 if (info.isBasicAvailable()) 6296 {6297 6097 RTPrintf("Error: failed to discard. Error message: %lS\n", info.getText().raw()); 6298 }6299 6098 else 6300 {6301 6099 RTPrintf("Error: failed to discard. No error message available!\n"); 6302 }6303 6100 } 6304 6101 … … 6415 6212 6416 6213 if (argc != 1) 6417 {6418 6214 return errorSyntax(USAGE_SHOWVDIINFO, "Incorrect number of parameters"); 6419 }6420 6215 6421 6216 ComPtr<IHardDisk> hardDisk; … … 6542 6337 6543 6338 if (argc < 2) 6544 {6545 6339 return errorSyntax(USAGE_REGISTERIMAGE, "Not enough parameters"); 6546 }6547 6340 6548 6341 Bstr filepath(argv[1]); … … 6553 6346 /* there can be a type parameter */ 6554 6347 if ((argc > 2) && (argc != 4)) 6555 {6556 6348 return errorSyntax(USAGE_REGISTERIMAGE, "Incorrect number of parameters"); 6557 }6558 6349 if (argc == 4) 6559 6350 { 6560 6351 if (strcmp(argv[2], "-type") != 0) 6561 {6562 6352 return errorSyntax(USAGE_REGISTERIMAGE, "Invalid parameter '%s'", Utf8Str(argv[2]).raw()); 6563 }6564 6353 if ( (strcmp(argv[3], "normal") != 0) 6565 6354 && (strcmp(argv[3], "immutable") != 0) 6566 6355 && (strcmp(argv[3], "writethrough") != 0)) 6567 {6568 6356 return errorArgument("Invalid VDI type '%s' specified", Utf8Str(argv[3]).raw()); 6569 }6570 6357 type = argv[3]; 6571 6358 } … … 6608 6395 } 6609 6396 else 6610 {6611 6397 return errorSyntax(USAGE_REGISTERIMAGE, "Invalid parameter '%s'", Utf8Str(argv[1]).raw()); 6612 } 6398 6613 6399 return SUCCEEDED(rc) ? 0 : 1; 6614 6400 } … … 6620 6406 6621 6407 if (argc != 2) 6622 {6623 6408 return errorSyntax(USAGE_UNREGISTERIMAGE, "Incorrect number of parameters"); 6624 }6625 6409 6626 6410 /* first guess is that it's a UUID */ … … 6681 6465 } 6682 6466 else 6683 {6684 6467 return errorSyntax(USAGE_UNREGISTERIMAGE, "Invalid parameter '%s'", Utf8Str(argv[1]).raw()); 6685 } 6468 6686 6469 return SUCCEEDED(rc) ? 0 : 1; 6687 6470 } … … 6692 6475 { 6693 6476 if (argc != 1) 6694 {6695 6477 return errorSyntax(USAGE_CREATEHOSTIF, "Incorrect number of parameters"); 6696 }6697 6478 6698 6479 HRESULT rc = S_OK; … … 6729 6510 { 6730 6511 if (argc != 1) 6731 {6732 6512 return errorSyntax(USAGE_REMOVEHOSTIF, "Incorrect number of parameters"); 6733 }6734 6513 6735 6514 HRESULT rc = S_OK; … … 6781 6560 6782 6561 if (argc != 2) 6783 {6784 6562 return errorSyntax(USAGE_GETEXTRADATA, "Incorrect number of parameters"); 6785 } 6563 6786 6564 /* global data? */ 6787 6565 if (strcmp(argv[0], "global") == 0) … … 6801 6579 6802 6580 if (SUCCEEDED(rcEnum) && extraDataKey) 6803 {6804 6581 RTPrintf("Key: %lS, Value: %lS\n", nextExtraDataKey.raw(), nextExtraDataValue.raw()); 6805 }6806 6582 } while (extraDataKey); 6807 6583 } … … 6867 6643 6868 6644 if (argc < 2) 6869 {6870 6645 return errorSyntax(USAGE_SETEXTRADATA, "Not enough parameters"); 6871 } 6646 6872 6647 /* global data? */ 6873 6648 if (strcmp(argv[0], "global") == 0) … … 6910 6685 /* there must be two arguments: property name and value */ 6911 6686 if (argc != 2) 6912 {6913 6687 return errorSyntax(USAGE_SETPROPERTY, "Incorrect number of parameters"); 6914 } 6688 6915 6689 ComPtr<ISystemProperties> systemProperties; 6916 6690 virtualBox->COMGETTER(SystemProperties)(systemProperties.asOutParam()); … … 6980 6754 /* at least: 0: command, 1: index, 2: -target, 3: <target value> */ 6981 6755 if (argc < 4) 6982 {6983 6756 return errorSyntax(USAGE_USBFILTER, "Not enough parameters"); 6984 }6985 6757 6986 6758 /* which command? */ … … 6991 6763 6992 6764 if (cmd.mAction == USBFilterCmd::Invalid) 6993 {6994 6765 return errorSyntax(USAGE_USBFILTER, "Invalid parameter '%s'", argv[0]); 6995 }6996 6766 6997 6767 /* which index? */ … … 6999 6769 cmd.mIndex = strtoul (argv[1], &endptr, 10); 7000 6770 if (!endptr || *endptr) 7001 {7002 6771 return errorSyntax(USAGE_USBFILTER, "Invalid index '%s'", argv[1]); 7003 }7004 6772 7005 6773 switch (cmd.mAction) … … 7012 6780 { 7013 6781 if (cmd.mAction == USBFilterCmd::Add) 7014 {7015 6782 return errorSyntax(USAGE_USBFILTER_ADD, "Not enough parameters"); 7016 } 6783 7017 6784 return errorSyntax(USAGE_USBFILTER_MODIFY, "Not enough parameters"); 7018 6785 } … … 7029 6796 { 7030 6797 if (argc <= i + 1 || !*argv[i+1]) 7031 {7032 6798 return errorArgument("Missing argument to '%s'", argv[i]); 7033 }7034 6799 i++; 7035 6800 if (strcmp (argv [i], "global") == 0) … … 7049 6814 { 7050 6815 if (argc <= i + 1 || !*argv[i+1]) 7051 {7052 6816 return errorArgument("Missing argument to '%s'", argv[i]); 7053 }7054 6817 i++; 7055 6818 cmd.mFilter.mName = argv [i]; … … 7058 6821 { 7059 6822 if (argc <= i + 1) 7060 {7061 6823 return errorArgument("Missing argument to '%s'", argv[i]); 7062 }7063 6824 i++; 7064 6825 if (strcmp (argv [i], "yes") == 0) … … 7067 6828 cmd.mFilter.mActive = false; 7068 6829 else 7069 {7070 6830 return errorArgument("Invalid -active argument '%s'", argv[i]); 7071 }7072 6831 } 7073 6832 else if (strcmp(argv [i], "-vendorid") == 0) 7074 6833 { 7075 6834 if (argc <= i + 1) 7076 {7077 6835 return errorArgument("Missing argument to '%s'", argv[i]); 7078 }7079 6836 i++; 7080 6837 cmd.mFilter.mVendorId = argv [i]; … … 7083 6840 { 7084 6841 if (argc <= i + 1) 7085 {7086 6842 return errorArgument("Missing argument to '%s'", argv[i]); 7087 }7088 6843 i++; 7089 6844 cmd.mFilter.mProductId = argv [i]; … … 7092 6847 { 7093 6848 if (argc <= i + 1) 7094 {7095 6849 return errorArgument("Missing argument to '%s'", argv[i]); 7096 }7097 6850 i++; 7098 6851 cmd.mFilter.mRevision = argv [i]; … … 7101 6854 { 7102 6855 if (argc <= i + 1) 7103 {7104 6856 return errorArgument("Missing argument to '%s'", argv[i]); 7105 }7106 6857 i++; 7107 6858 cmd.mFilter.mManufacturer = argv [i]; … … 7110 6861 { 7111 6862 if (argc <= i + 1) 7112 {7113 6863 return errorArgument("Missing argument to '%s'", argv[i]); 7114 }7115 6864 i++; 7116 6865 cmd.mFilter.mProduct = argv [i]; … … 7119 6868 { 7120 6869 if (argc <= i + 1) 7121 {7122 6870 return errorArgument("Missing argument to '%s'", argv[i]); 7123 }7124 6871 i++; 7125 6872 cmd.mFilter.mRemote = argv[i]; … … 7128 6875 { 7129 6876 if (argc <= i + 1) 7130 {7131 6877 return errorArgument("Missing argument to '%s'", argv[i]); 7132 }7133 6878 i++; 7134 6879 cmd.mFilter.mSerialNumber = argv [i]; … … 7137 6882 { 7138 6883 if (argc <= i + 1) 7139 {7140 6884 return errorArgument("Missing argument to '%s'", argv[i]); 7141 }7142 6885 i++; 7143 6886 uint32_t u32; 7144 6887 rc = RTStrToUInt32Full(argv[i], 0, &u32); 7145 6888 if (RT_FAILURE(rc)) 7146 {7147 6889 return errorArgument("Failed to convert the -maskedinterfaces value '%s' to a number, rc=%Rrc", argv[i], rc); 7148 }7149 6890 cmd.mFilter.mMaskedInterfaces = u32; 7150 6891 } … … 7152 6893 { 7153 6894 if (argc <= i + 1) 7154 {7155 6895 return errorArgument("Missing argument to '%s'", argv[i]); 7156 }7157 6896 i++; 7158 6897 if (strcmp (argv [i], "ignore") == 0) … … 7161 6900 cmd.mFilter.mAction = USBDeviceFilterAction_Hold; 7162 6901 else 7163 {7164 6902 return errorArgument("Invalid USB filter action '%s'", argv[i]); 7165 }7166 6903 } 7167 6904 else 7168 {7169 6905 return errorSyntax(cmd.mAction == USBFilterCmd::Add ? USAGE_USBFILTER_ADD : USAGE_USBFILTER_MODIFY, 7170 6906 "Unknown option '%s'", argv[i]); 7171 }7172 6907 } 7173 6908 … … 7196 6931 /* at least: 0: command, 1: index, 2: -target, 3: <target value> */ 7197 6932 if (argc < 4) 7198 {7199 6933 return errorSyntax(USAGE_USBFILTER_REMOVE, "Not enough parameters"); 7200 }7201 6934 7202 6935 for (int i = 2; i < argc; i++) … … 7205 6938 { 7206 6939 if (argc <= i + 1 || !*argv[i+1]) 7207 {7208 6940 return errorArgument("Missing argument to '%s'", argv[i]); 7209 }7210 6941 i++; 7211 6942 if (strcmp (argv [i], "global") == 0) … … 7226 6957 // mandatory options 7227 6958 if (!cmd.mGlobal && !cmd.mMachine) 7228 {7229 6959 return errorSyntax(USAGE_USBFILTER_REMOVE, "Mandatory options not supplied"); 7230 }7231 6960 7232 6961 break; … … 7402 7131 /* we need at least a command and target */ 7403 7132 if (argc < 2) 7404 {7405 7133 return errorSyntax(USAGE_SHAREDFOLDER, "Not enough parameters"); 7406 }7407 7134 7408 7135 ComPtr<IMachine> machine; … … 7423 7150 /* we need at least four more parameters */ 7424 7151 if (argc < 5) 7425 {7426 7152 return errorSyntax(USAGE_SHAREDFOLDER_ADD, "Not enough parameters"); 7427 }7428 7153 7429 7154 char *name = NULL; … … 7437 7162 { 7438 7163 if (argc <= i + 1 || !*argv[i+1]) 7439 {7440 7164 return errorArgument("Missing argument to '%s'", argv[i]); 7441 }7442 7165 i++; 7443 7166 name = argv[i]; … … 7446 7169 { 7447 7170 if (argc <= i + 1 || !*argv[i+1]) 7448 {7449 7171 return errorArgument("Missing argument to '%s'", argv[i]); 7450 }7451 7172 i++; 7452 7173 hostpath = argv[i]; … … 7461 7182 } 7462 7183 else 7463 {7464 7184 return errorSyntax(USAGE_SHAREDFOLDER_ADD, "Invalid parameter '%s'", Utf8Str(argv[i]).raw()); 7465 }7466 7185 } 7467 7186 … … 7508 7227 /* we need at least two more parameters */ 7509 7228 if (argc < 3) 7510 {7511 7229 return errorSyntax(USAGE_SHAREDFOLDER_REMOVE, "Not enough parameters"); 7512 }7513 7230 7514 7231 char *name = NULL; … … 7520 7237 { 7521 7238 if (argc <= i + 1 || !*argv[i+1]) 7522 {7523 7239 return errorArgument("Missing argument to '%s'", argv[i]); 7524 }7525 7240 i++; 7526 7241 name = argv[i]; … … 7531 7246 } 7532 7247 else 7533 {7534 7248 return errorSyntax(USAGE_SHAREDFOLDER_REMOVE, "Invalid parameter '%s'", Utf8Str(argv[i]).raw()); 7535 }7536 7249 } 7537 7250 7538 7251 /* required arguments */ 7539 7252 if (!name) 7540 {7541 7253 return errorSyntax(USAGE_SHAREDFOLDER_REMOVE, "Parameter -name is required"); 7542 }7543 7254 7544 7255 if (fTransient) … … 7574 7285 } 7575 7286 else 7576 {7577 7287 return errorSyntax(USAGE_SETPROPERTY, "Invalid parameter '%s'", Utf8Str(argv[0]).raw()); 7578 } 7288 7579 7289 return 0; 7580 7290 }
Note:
See TracChangeset
for help on using the changeset viewer.