Lines Matching refs:err
48 std::string get_misc_blk_device(std::string* err) { in get_misc_blk_device() argument
54 *err = "failed to read default fstab"; in get_misc_blk_device()
63 *err = "failed to find /misc partition"; in get_misc_blk_device()
69 static bool wait_for_device(const std::string& blk_device, std::string* err) { in wait_for_device() argument
72 err->clear(); in wait_for_device()
78 *err += android::base::StringPrintf("failed to stat %s try %d: %s\n", in wait_for_device()
85 *err += android::base::StringPrintf("failed to stat %s\n", blk_device.c_str()); in wait_for_device()
91 size_t offset, std::string* err) { in read_misc_partition() argument
92 if (!wait_for_device(misc_blk_device, err)) { in read_misc_partition()
97 *err = android::base::StringPrintf("failed to open %s: %s", misc_blk_device.c_str(), in read_misc_partition()
102 *err = android::base::StringPrintf("failed to lseek %s: %s", misc_blk_device.c_str(), in read_misc_partition()
107 *err = android::base::StringPrintf("failed to read %s: %s", misc_blk_device.c_str(), in read_misc_partition()
115 size_t offset, std::string* err) { in write_misc_partition() argument
118 *err = android::base::StringPrintf("failed to open %s: %s", misc_blk_device.c_str(), in write_misc_partition()
123 *err = android::base::StringPrintf("failed to lseek %s: %s", misc_blk_device.c_str(), in write_misc_partition()
128 *err = android::base::StringPrintf("failed to write %s: %s", misc_blk_device.c_str(), in write_misc_partition()
133 *err = android::base::StringPrintf("failed to fsync %s: %s", misc_blk_device.c_str(), in write_misc_partition()
140 std::string get_bootloader_message_blk_device(std::string* err) { in get_bootloader_message_blk_device() argument
141 std::string misc_blk_device = get_misc_blk_device(err); in get_bootloader_message_blk_device()
143 if (!wait_for_device(misc_blk_device, err)) return ""; in get_bootloader_message_blk_device()
148 std::string* err) { in read_bootloader_message_from() argument
150 BOOTLOADER_MESSAGE_OFFSET_IN_MISC, err); in read_bootloader_message_from()
153 bool read_bootloader_message(bootloader_message* boot, std::string* err) { in read_bootloader_message() argument
154 std::string misc_blk_device = get_misc_blk_device(err); in read_bootloader_message()
158 return read_bootloader_message_from(boot, misc_blk_device, err); in read_bootloader_message()
162 std::string* err) { in write_bootloader_message_to() argument
164 BOOTLOADER_MESSAGE_OFFSET_IN_MISC, err); in write_bootloader_message_to()
167 bool write_bootloader_message(const bootloader_message& boot, std::string* err) { in write_bootloader_message() argument
168 std::string misc_blk_device = get_misc_blk_device(err); in write_bootloader_message()
172 return write_bootloader_message_to(boot, misc_blk_device, err); in write_bootloader_message()
175 bool clear_bootloader_message(std::string* err) { in clear_bootloader_message() argument
177 return write_bootloader_message(boot, err); in clear_bootloader_message()
180 bool write_bootloader_message(const std::vector<std::string>& options, std::string* err) { in write_bootloader_message() argument
184 return write_bootloader_message(boot, err); in write_bootloader_message()
188 const std::string& misc_blk_device, std::string* err) { in write_bootloader_message_to() argument
192 return write_bootloader_message_to(boot, misc_blk_device, err); in write_bootloader_message_to()
195 bool update_bootloader_message(const std::vector<std::string>& options, std::string* err) { in update_bootloader_message() argument
197 if (!read_bootloader_message(&boot, err)) { in update_bootloader_message()
202 return write_bootloader_message(boot, err); in update_bootloader_message()
225 bool write_reboot_bootloader(std::string* err) { in write_reboot_bootloader() argument
227 if (!read_bootloader_message(&boot, err)) { in write_reboot_bootloader()
231 *err = "Bootloader command pending."; in write_reboot_bootloader()
235 return write_bootloader_message(boot, err); in write_reboot_bootloader()
238 bool read_wipe_package(std::string* package_data, size_t size, std::string* err) { in read_wipe_package() argument
239 std::string misc_blk_device = get_misc_blk_device(err); in read_wipe_package()
245 WIPE_PACKAGE_OFFSET_IN_MISC, err); in read_wipe_package()
248 bool write_wipe_package(const std::string& package_data, std::string* err) { in write_wipe_package() argument
249 std::string misc_blk_device = get_misc_blk_device(err); in write_wipe_package()
256 *err = "Wipe package size " + std::to_string(package_data.size()) + " exceeds " + in write_wipe_package()
261 WIPE_PACKAGE_OFFSET_IN_MISC, err); in write_wipe_package()
264 static bool ValidateSystemSpaceRegion(size_t offset, size_t size, std::string* err) { in ValidateSystemSpaceRegion() argument
268 *err = android::base::StringPrintf("Out of bound access (offset %zu size %zu)", offset, size); in ValidateSystemSpaceRegion()
272 static bool ReadMiscPartitionSystemSpace(void* data, size_t size, size_t offset, std::string* err) { in ReadMiscPartitionSystemSpace() argument
273 if (!ValidateSystemSpaceRegion(offset, size, err)) { in ReadMiscPartitionSystemSpace()
276 auto misc_blk_device = get_misc_blk_device(err); in ReadMiscPartitionSystemSpace()
281 err); in ReadMiscPartitionSystemSpace()
285 std::string* err) { in WriteMiscPartitionSystemSpace() argument
286 if (!ValidateSystemSpaceRegion(offset, size, err)) { in WriteMiscPartitionSystemSpace()
289 auto misc_blk_device = get_misc_blk_device(err); in WriteMiscPartitionSystemSpace()
294 err); in WriteMiscPartitionSystemSpace()
297 bool ReadMiscVirtualAbMessage(misc_virtual_ab_message* message, std::string* err) { in ReadMiscVirtualAbMessage() argument
299 offsetof(misc_system_space_layout, virtual_ab_message), err); in ReadMiscVirtualAbMessage()
302 bool WriteMiscVirtualAbMessage(const misc_virtual_ab_message& message, std::string* err) { in WriteMiscVirtualAbMessage() argument
304 offsetof(misc_system_space_layout, virtual_ab_message), err); in WriteMiscVirtualAbMessage()
308 std::string err; in write_reboot_bootloader() local
309 return write_reboot_bootloader(&err); in write_reboot_bootloader()
313 std::string err; in write_bootloader_message() local
314 return write_bootloader_message({options}, &err); in write_bootloader_message()