/* * Parse OS specific command line options. * return 0 if option handled, -1 otherwise */ int os_parse_cmd_args(int index, const char *optarg) { switch (index) { case QEMU_OPTION_runas: user_pwd = getpwnam(optarg); if (user_pwd) { user_uid = -1; user_gid = -1; } else if (!os_parse_runas_uid_gid(optarg)) { error_report("User \"%s\" doesn't exist" " (and is not <uid>:<gid>)", optarg); exit(1); } break; case QEMU_OPTION_chroot: chroot_dir = optarg; break; case QEMU_OPTION_daemonize: daemonize = 1; break; #if defined(CONFIG_LINUX) case QEMU_OPTION_enablefips: fips_set_state(true); break; #endif default: return -1; } return 0; }
/* * Parse OS specific command line options. * return 0 if option handled, -1 otherwise */ int os_parse_cmd_args(int index, const char *optarg) { switch (index) { #ifdef CONFIG_SLIRP case QEMU_OPTION_smb: error_report("The -smb option is deprecated. " "Please use '-netdev user,smb=...' instead."); if (net_slirp_smb(optarg) < 0) exit(1); break; #endif case QEMU_OPTION_runas: user_pwd = getpwnam(optarg); if (user_pwd) { user_uid = -1; user_gid = -1; } else if (!os_parse_runas_uid_gid(optarg)) { error_report("User \"%s\" doesn't exist" " (and is not <uid>:<gid>)", optarg); exit(1); } break; case QEMU_OPTION_chroot: chroot_dir = optarg; break; case QEMU_OPTION_daemonize: daemonize = 1; break; #if defined(CONFIG_LINUX) case QEMU_OPTION_enablefips: fips_set_state(true); break; #endif default: return -1; } return 0; }