/*
	BMC固件更新流程
1、	调用prepareDevice(wp), 杀死除goahead以外的所有进程
2、	调用uploadFireware(wp), 开始上传固件到/var/www/goahead/tmp/tmp.uImage
3、	调用updateFlash(wp), updateFlash会新建一个进程来将tmp.uImage写到Flash里面去。
4、	循环调用getUpdateProgre(wp)，来获取Flash的更新进度，返回百分比。
5、	循环调用getVerifyStatus(wp), 当返回Verifying时表示真正校验，当返回Verify OK或Verify Error时表示校验结束。
6、	当校验结束且返回Verify OK时才能调用resetBmc(wp)。如果校验出错，请提醒用户在不掉电的情况下重新更新固件，一定不能调用resetBmc(wp)。

	警告： 固件更新失败，请重新更新，请勿掉电！
*/

#ifndef __FW_UPDATE_H__
#define __FW_UPDATE_H__

#include "goahead.h"

void prepareDevice(Webs *wp);
void uploadFirmware(Webs *wp);
void updateFlash(Webs *wp);
void getUpdateProgress(Webs *wp);
void getVerifyStatus(Webs *wp);
void resetBmc(Webs *wp);

#endif /* __FW_UPDATE_H__ */