blob: 496464081b23215a9b3ab1b37c71c1e60dac1b30 [file] [log] [blame]
hanliang.xiongcd3ad4c2024-12-23 11:07:00 +08001// SPDX-License-Identifier: Apache2.0
2/*
3 * Copyright (C) 2024 Amlogic Inc.
4 */
Zhigangb9bd0222018-07-20 17:56:38 +08005#include <stdio.h>
6#include <stdlib.h>
7
8#include "bootloader_message.h"
9
10void usage() {
11 printf("eg:urlmisc write http://xx.28.xx.53:8080/otaupdate/swupdate/software.swu\n");
12 printf(" urlmisc read\n");
13 printf(" urlmisc clean\n");
kirk.wang31f70c92021-12-20 19:19:14 +080014 printf(" urlmisc local\n");
feijiang.lib67e3092024-08-15 06:09:02 +000015 printf(" urlmisc setstatus\n");
16 printf(" urlmisc clearstatus\n");
17 printf(" urlmisc readstatus\n");
18 printf(" urlmisc readrecovery\n");
Zhigangb9bd0222018-07-20 17:56:38 +080019}
20
21int main(int argc, char **argv) {
22
23 int ret = 0;
24 char path_buf[256] = {0};
25 if ((argc != 2) && (argc != 3)) {
26 usage();
27 return -1;
28 }
29
30 mtd_scan_partitions();
31
32 if (argc == 3) {
33 if (!strcmp(argv[1], "write")) {
34 ret = set_recovery_otapath(argv[2]);
35 if (ret != 0) {
36 printf("set otapath : %s failed!\n", argv[1]);
37 return -1;
38 }
39 } else {
40 usage();
41 return -1;
42 }
43 } else {
44 if (!strcmp(argv[1], "read")) {
45 ret = get_recovery_otapath(path_buf);
46 if (ret != 0) {
47 printf("get otapath failed!\n");
48 return -1;
49 }
50 } else if (!strcmp(argv[1], "clean")) {
51 ret = clean_recovery_otapath();
52 if (ret != 0) {
53 printf("clean otapath failed!\n");
54 return -1;
kirk.wang31f70c92021-12-20 19:19:14 +080055 }
56 } else if (!strcmp(argv[1], "local")) {
57 ret = set_recovery();
58 if (ret != 0) {
59 printf("set local failed!\n");
60 return -1;
Zhigangb9bd0222018-07-20 17:56:38 +080061 }
feijiang.lib67e3092024-08-15 06:09:02 +000062 } else if (!strcmp(argv[1], "setstatus")) {
63 ret = set_status();
64 if (ret != 0) {
65 printf("set status failed!\n");
66 return -1;
67 }
68 } else if (!strcmp(argv[1], "clearstatus")) {
69 ret = clear_status();
70 if (ret != 0) {
71 printf("clean status failed!\n");
72 return -1;
73 }
74 } else if (!strcmp(argv[1], "readstatus")) {
75 ret = read_status();
76 if (ret == -1) {
77 printf("read status failed!\n");
78 return -1;
79 }
80 return ret;
81 } else if (!strcmp(argv[1], "readrecovery")) {
82 ret = read_recovery();
83 if (ret == -1) {
84 printf("read status failed!\n");
85 return -1;
86 }
87 return ret;
Zhigangb9bd0222018-07-20 17:56:38 +080088 } else {
89 usage();
90 return -1;
91 }
92 }
93
94 return 0;
95}