upgrade.c

来自「一个在Linux下开发的IP摄像头的驱动程序及控制软件」· C语言 代码 · 共 68 行

C
68
字号
#ifdef _WIN32
#include <windows.h>
#endif  //_WIN32
#include "Utility.h"

int		g_nUpgradeTimes = 1;
char	g_acFileName[256];

int HandleUpgradeArgument(int argc, char* argv[]);

int main(int argc, char* argv[])
{	
	TSERVER_INFO	tServerInfo;
	int				iCnt;
	int				iUpgradeLoopWait = 5000;
	SCODE			scRet;

    if (HandleBasicArgument(argc, argv, &tServerInfo) < 0)
		return -1;
	if (HandleUpgradeArgument(argc, argv) < 0)
		return -1;
	
	for (iCnt = 0; iCnt < g_nUpgradeTimes; iCnt++)
	{
		if (g_nUpgradeTimes > 1)
			printf("\n\nLoop Number = %d\n", iCnt + 1);

		scRet = UpgradeFirmware(tServerInfo, g_acFileName);
		if (scRet != S_OK)
		{
			printf("upgrade fail with error %X\n", scRet);
			return scRet;
		}
#ifdef _WIN32
		Sleep(iUpgradeLoopWait);
#else
		sleep(iUpgradeLoopWait / 1000);
#endif // _WIN32
	}
	
	return 0;
}

int HandleUpgradeArgument(int argc, char* argv[])
{
	int nCnt;

	for (nCnt = 1; nCnt < argc; nCnt++)
	{
		if (strncmp(argv[nCnt], "-R", 2) == 0)
		{
			strcpy(g_acFileName, &argv[nCnt][2]);
		}
		else if (strncmp(argv[nCnt], "-L", 2) == 0)
		{
			g_nUpgradeTimes = atoi(&argv[nCnt][2]);
		}
	}

	if (g_acFileName[0] == 0)
	{
		printf("firmware upgrade needs file path\n");
		return -1;
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?