Loading bootloader_message/bootloader_message.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,19 @@ bool write_bootloader_message(const std::vector<std::string>& options, std::stri return write_bootloader_message(boot, err); } bool write_reboot_bootloader(std::string* err) { bootloader_message boot; if (!read_bootloader_message(&boot, err)) { return false; } if (boot.command[0] != '\0') { *err = "Bootloader command pending."; return false; } strlcpy(boot.command, "bootonce-bootloader", sizeof(boot.command)); return write_bootloader_message(boot, err); } bool read_wipe_package(std::string* package_data, size_t size, std::string* err) { package_data->resize(size); return read_misc_partition(&(*package_data)[0], size, WIPE_PACKAGE_OFFSET_IN_MISC, err); Loading @@ -173,6 +186,11 @@ bool write_wipe_package(const std::string& package_data, std::string* err) { WIPE_PACKAGE_OFFSET_IN_MISC, err); } extern "C" bool write_reboot_bootloader(void) { std::string err; return write_reboot_bootloader(&err); } extern "C" bool write_bootloader_message(const char* options) { std::string err; return write_bootloader_message({options}, &err); Loading bootloader_message/include/bootloader_message/bootloader_message.h +4 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,9 @@ bool write_bootloader_message(const bootloader_message& boot, std::string* err); bool write_bootloader_message(const std::vector<std::string>& options, std::string* err); bool clear_bootloader_message(std::string* err); // Writes the reboot-bootloader reboot reason to the bootloader_message. bool write_reboot_bootloader(std::string* err); bool read_wipe_package(std::string* package_data, size_t size, std::string* err); bool write_wipe_package(const std::string& package_data, std::string* err); Loading @@ -192,6 +195,7 @@ bool write_wipe_package(const std::string& package_data, std::string* err); // C Interface. bool write_bootloader_message(const char* options); bool write_reboot_bootloader(void); #endif // ifdef __cplusplus Loading Loading
bootloader_message/bootloader_message.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,19 @@ bool write_bootloader_message(const std::vector<std::string>& options, std::stri return write_bootloader_message(boot, err); } bool write_reboot_bootloader(std::string* err) { bootloader_message boot; if (!read_bootloader_message(&boot, err)) { return false; } if (boot.command[0] != '\0') { *err = "Bootloader command pending."; return false; } strlcpy(boot.command, "bootonce-bootloader", sizeof(boot.command)); return write_bootloader_message(boot, err); } bool read_wipe_package(std::string* package_data, size_t size, std::string* err) { package_data->resize(size); return read_misc_partition(&(*package_data)[0], size, WIPE_PACKAGE_OFFSET_IN_MISC, err); Loading @@ -173,6 +186,11 @@ bool write_wipe_package(const std::string& package_data, std::string* err) { WIPE_PACKAGE_OFFSET_IN_MISC, err); } extern "C" bool write_reboot_bootloader(void) { std::string err; return write_reboot_bootloader(&err); } extern "C" bool write_bootloader_message(const char* options) { std::string err; return write_bootloader_message({options}, &err); Loading
bootloader_message/include/bootloader_message/bootloader_message.h +4 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,9 @@ bool write_bootloader_message(const bootloader_message& boot, std::string* err); bool write_bootloader_message(const std::vector<std::string>& options, std::string* err); bool clear_bootloader_message(std::string* err); // Writes the reboot-bootloader reboot reason to the bootloader_message. bool write_reboot_bootloader(std::string* err); bool read_wipe_package(std::string* package_data, size_t size, std::string* err); bool write_wipe_package(const std::string& package_data, std::string* err); Loading @@ -192,6 +195,7 @@ bool write_wipe_package(const std::string& package_data, std::string* err); // C Interface. bool write_bootloader_message(const char* options); bool write_reboot_bootloader(void); #endif // ifdef __cplusplus Loading