blob: 496464081b23215a9b3ab1b37c71c1e60dac1b30 [file] [log] [blame]
// SPDX-License-Identifier: Apache2.0
/*
* Copyright (C) 2024 Amlogic Inc.
*/
#include <stdio.h>
#include <stdlib.h>
#include "bootloader_message.h"
void usage() {
printf("eg:urlmisc write http://xx.28.xx.53:8080/otaupdate/swupdate/software.swu\n");
printf(" urlmisc read\n");
printf(" urlmisc clean\n");
printf(" urlmisc local\n");
printf(" urlmisc setstatus\n");
printf(" urlmisc clearstatus\n");
printf(" urlmisc readstatus\n");
printf(" urlmisc readrecovery\n");
}
int main(int argc, char **argv) {
int ret = 0;
char path_buf[256] = {0};
if ((argc != 2) && (argc != 3)) {
usage();
return -1;
}
mtd_scan_partitions();
if (argc == 3) {
if (!strcmp(argv[1], "write")) {
ret = set_recovery_otapath(argv[2]);
if (ret != 0) {
printf("set otapath : %s failed!\n", argv[1]);
return -1;
}
} else {
usage();
return -1;
}
} else {
if (!strcmp(argv[1], "read")) {
ret = get_recovery_otapath(path_buf);
if (ret != 0) {
printf("get otapath failed!\n");
return -1;
}
} else if (!strcmp(argv[1], "clean")) {
ret = clean_recovery_otapath();
if (ret != 0) {
printf("clean otapath failed!\n");
return -1;
}
} else if (!strcmp(argv[1], "local")) {
ret = set_recovery();
if (ret != 0) {
printf("set local failed!\n");
return -1;
}
} else if (!strcmp(argv[1], "setstatus")) {
ret = set_status();
if (ret != 0) {
printf("set status failed!\n");
return -1;
}
} else if (!strcmp(argv[1], "clearstatus")) {
ret = clear_status();
if (ret != 0) {
printf("clean status failed!\n");
return -1;
}
} else if (!strcmp(argv[1], "readstatus")) {
ret = read_status();
if (ret == -1) {
printf("read status failed!\n");
return -1;
}
return ret;
} else if (!strcmp(argv[1], "readrecovery")) {
ret = read_recovery();
if (ret == -1) {
printf("read status failed!\n");
return -1;
}
return ret;
} else {
usage();
return -1;
}
}
return 0;
}