Ejemplo n.º 1
0
int main(int argc, char * const argv[])
{
	int err;
	libmtd_t libmtd;
	struct mtd_info mtd_info;

	err = parse_opt(argc, argv);
	if (err)
		return -1;

	libmtd = libmtd_open();
	if (libmtd == NULL) {
		if (errno == 0)
			return errmsg("MTD is not present in the system");
		return sys_errmsg("cannot open libmtd");
	}

	err = mtd_get_info(libmtd, &mtd_info);
	if (err) {
		if (errno == ENODEV)
			return errmsg("MTD is not present");
		return sys_errmsg("cannot get MTD information");
	}

	if (!args.all && args.node) {
		int mtdn;

		/*
		 * A character device was specified, translate this to MTD
		 * device number.
		 */
		mtdn = translate_dev(libmtd, args.node);
		if (mtdn < 0)
			goto out_libmtd;
		err = print_dev_info(libmtd, &mtd_info, mtdn);
	} else
		err = print_general_info(libmtd, &mtd_info, args.all);
	if (err)
		goto out_libmtd;

	libmtd_close(libmtd);
	return 0;

out_libmtd:
	libmtd_close(libmtd);
	return -1;
}
Ejemplo n.º 2
0
int
showUser(const char *name) {
    char user_name[NAME_LEN]{};
    char zone_name[NAME_LEN]{};
    int status = parseUserName(name, user_name, zone_name);
    if (status < 0) {
        printf("Failed parsing input:[%s]\n", name);
        return status;
    }
    if (std::string(zone_name).empty()) {
        snprintf(zone_name, sizeof(zone_name), "%s", myEnv.rodsZone);
    }
    const userinfo_t info{user_name, zone_name};

    if (!print_general_info(info)) {
        printf("User %s#%s does not exist.\n", info.user_name, info.zone_name);
        return 0;
    }
    print_auth_info(info);
    print_group_info(info);

    return 0;
}