/* NVRAM utility */ int main(int argc, char **argv) { char *name, *value; int ret = 0; /* Skip program name */ --argc; ++argv; if (!*argv) usage(); /* Process the remaining arguments. */ for (; *argv; argv++) { if (!strcmp(*argv, "get")) { if (*++argv) { if ((value = nvram_get(*argv))) puts(value); } } else if (!strcmp(*argv, "settmp")) { if (*++argv) { char buf[1024]; strncpy(value = buf, *argv, sizeof(buf)-1); name = strsep(&value, "="); nvram_set_temp(name, value); } } else if (!strcmp(*argv, "set")) { if (*++argv) { char buf[1024]; strncpy(value = buf, *argv, sizeof(buf)-1); name = strsep(&value, "="); nvram_set(name, value); } } else if (!strcmp(*argv, "unset")) { if (*++argv) nvram_unset(*argv); } else if (!strcmp(*argv, "clear")) { nvram_clear(); } else if (!strcmp(*argv, "commit")) { nvram_commit(); break; } else if (!strcmp(*argv, "save")) { if (*++argv) ret |= nvram_save(*argv); break; } else if (!strcmp(*argv, "restore")) { if (*++argv) ret |= nvram_restore(*argv); break; } else if (!strcmp(*argv, "show")) { ret |= nvram_show(0); break; } else if (!strcmp(*argv, "showall")) { ret |= nvram_show(1); break; } if (!*argv) break; } return ret; }
/* * NVRAM utility */ int main(int argc, char **argv) { char *name, *value, buf[NVRAM_SPACE]; int size; /* * Skip program name */ --argc; ++argv; if (!*argv) usage(); /* * Process the remaining arguments. */ for (; *argv; argv++) { if (!strncmp(*argv, "get", 3)) { if (*++argv) { if ((value = nvram_get(*argv))) puts(value); } } else if (!strncmp(*argv, "set", 3)) { if (*++argv) { strncpy(value = buf, *argv, sizeof(buf)); name = strsep(&value, "="); nvram_set(name, value); } } else if (!strncmp(*argv, "unset", 5)) { if (*++argv) nvram_unset(*argv); } else if (!strncmp(*argv, "commit", 5)) { nvram_commit(); } else if (!strncmp(*argv, "show", 4) || !strncmp(*argv, "getall", 6)) { nvram_getall(buf, sizeof(buf)); for (name = buf; *name; name += strlen(name) + 1) puts(name); size = sizeof(struct nvram_header) + (int)name - (int)buf; fprintf(stderr, "size: %d bytes (%d left)\n", size, NVRAM_SPACE - size); } else if (!strncmp(*argv, "backup", 6)) { if (*++argv) { int ret = nvram_backup(*argv); if (ret < 0) { fprintf(stderr, "can't write %s\n", *argv); } } } else if (!strncmp(*argv, "restore", 7)) { if (*++argv) { int ret = nvram_restore(*argv); if (ret == -1) { fprintf(stderr, "can't write %s\n", *argv); } if (ret == -2) { fprintf(stderr, "file %s broken\n", *argv); } } } if (!*argv) break; } return 0; }