2 * Frontend command-line utility for Linux NVRAM layer
4 * Copyright 2004, Broadcom Corporation
7 * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8 * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9 * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10 * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
24 fprintf(stderr
, "usage: nvram [get name] [set name=value] [unset name] [commit] [show]\n");
28 /* hack for some PMON default nvram values which have '\r' appended */
30 puts_trim_cr(char *str
)
33 if (len
&& (str
[len
-1] == '\r')) len
--;
34 printf("%.*s\n", len
, str
);
39 main(int argc
, char **argv
)
41 char *name
, *value
, buf
[NVRAM_SPACE
];
44 /* Skip program name */
51 /* Process the remaining arguments. */
52 for (; *argv
; argv
++) {
53 if (!strncmp(*argv
, "get", 3)) {
55 if ((value
= nvram_get(*argv
))) {
60 else if (!strncmp(*argv
, "set", 3)) {
62 strncpy(value
= buf
, *argv
, sizeof(buf
));
63 name
= strsep(&value
, "=");
64 nvram_set(name
, value
);
67 else if (!strncmp(*argv
, "unset", 5)) {
71 else if (!strncmp(*argv
, "commit", 5)) {
74 else if (!strncmp(*argv
, "show", 4) ||
75 !strncmp(*argv
, "getall", 6)) {
76 nvram_getall(buf
, sizeof(buf
));
77 for (name
= buf
; *name
; name
+= strlen(name
) + 1)
79 size
= sizeof(struct nvram_header
) + (int) name
- (int) buf
;
80 fprintf(stderr
, "size: %d bytes (%d left)\n", size
, NVRAM_SPACE
- size
);
This page took 0.040583 seconds and 5 git commands to generate.