blob: 681e236bf1ec58e740d951e5958e475b14eb1959 [file] [log] [blame]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libcpnv.h"
#include "flags_api.h"
int main(int argc, char *argv[])
{
unsigned int nvro_flag;
int ret;
if (argc == 1)
{
printf("%s backup\n", argv[0]);
printf("%s restore\n", argv[0]);
printf("%s check\n", argv[0]);
return -1;
}
if (argc > 1 && (strcmp("backup", argv[1])==0))
{
if (cpnv_NvroBackup() == CPNV_OK)
{
printf("cpnv_NvroBackup success\n");
return 0;
}
else
{
printf("cpnv_NvroBackup fail\n");
return -1;
}
}
if (argc > 1 && (strcmp("restore", argv[1])==0))
{
ret = flags_set_nvroflag(NVRO_RESTORING);
if (ret != 0)
{
printf("[error]nvro_tool set NVRO_RESTORING\n");
return -1;
}
else
{
printf("nvro_tool set NVRO_RESTORING success\n");
return 0;
}
}
if (argc > 1 && (strcmp("check", argv[1])==0))
{
nvro_flag = flags_get_nvroflag();
if (nvro_flag != NVRO_RESTORING)
{
printf("nvro_tool restore check and do nothing:%08x\n", nvro_flag);
return 0;
}
if (cpnv_NvroRestore() == CPNV_OK)
{
printf("cpnv_NvroRestore success\n");
return 0;
}
else
{
printf("cpnv_NvroRestore fail\n");
return -1;
}
}
return -1;
}