Annotation of embedtools/src/ube.c, revision 1.1.2.3
1.1.2.1 misho 1: #include "global.h"
2: #include "ub_env.h"
3:
4:
1.1.2.2 misho 5: int Verbose;
6: extern char compiled[], compiledby[], compilehost[];
7:
8:
9: static void
10: Usage()
11: {
12: printf( " -= U-Boot-Env =- Tool for u-boot-env nand map management\n"
13: "=== %s === %s@%s ===\n\n"
14: " Syntax: ube [options] [set_value]\n"
15: "\n"
16: "\t-g <name>\tSet parameter to value\n"
17: "\t-s <name>\tGet parameter value\n"
1.1.2.3 ! misho 18: "\t-q\t\tQuiet mode\n"
1.1.2.2 misho 19: "\t-v\t\tVerbose ...\n"
20: "\n", compiled, compiledby, compilehost);
21: }
22:
23: int
24: main(int argc, char **argv)
25: {
1.1.2.3 ! misho 26: char ch, mode = 0, szName[STRSIZ] = { 0 }, szVal[STRSIZ] = { 0 };
! 27: const char *str;
! 28: int ret;
1.1.2.2 misho 29:
1.1.2.3 ! misho 30: while ((ch = getopt(argc, argv, "hvqg:s:")) != -1)
1.1.2.2 misho 31: switch (ch) {
32: case 'g':
1.1.2.3 ! misho 33: mode |= 1;
1.1.2.2 misho 34: strlcpy(szName, optarg, sizeof szName);
35: break;
36: case 's':
1.1.2.3 ! misho 37: mode |= 2;
1.1.2.2 misho 38: strlcpy(szName, optarg, sizeof szName);
39: break;
40: case 'v':
41: Verbose++;
42: break;
1.1.2.3 ! misho 43: case 'q':
! 44: mode |= 0x80;
! 45: break;
1.1.2.2 misho 46: case 'h':
47: default:
48: Usage();
49: return 1;
50: }
51: argc -= optind;
52: argv += optind;
1.1.2.3 ! misho 53: if ((mode & 0x7f) == 2 && argc)
! 54: strlcpy(szVal, *argv, sizeof szVal);
! 55:
! 56: VERB(1) printf("u-boot-env: mode=0x%hhx name=%s value=%s\n", mode, szName, szVal);
! 57:
! 58: if (!(mode & 0x7f)) {
! 59: VERB(2) printf("u-boot-env: list variables\n");
1.1.2.2 misho 60: }
61:
1.1.2.3 ! misho 62: if ((mode & 0x7f) & 1) {
! 63: VERB(2) printf("u-boot-env: get variable %s\n", szName);
! 64: str = ub_getenv(szName);
! 65: if (!str) {
! 66: printf("Error:: Variable %s not found!\n", szName);
! 67: return 2;
! 68: } else if (mode & 0x80)
! 69: printf("%s\n", str);
! 70: else
! 71: printf("Variable %s=%s\n", szName, str);
! 72: }
! 73:
! 74: if ((mode & 0x7f) & 2) {
! 75: VERB(2) printf("u-boot-env: set variable %s\n", szName);
! 76: ret = ub_setenv(szName, argc ? szVal : NULL);
! 77: if (ret) {
! 78: printf("Error:: Writing variable %s!\n", szName);
! 79: return 3;
! 80: }
! 81: if (!(mode & 0x80))
! 82: printf("Done\n");
! 83: }
1.1.2.2 misho 84:
85: return 0;
86: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>