| // 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; |
| } |