Loading fs_mgr/libdm/include/libdm/dm_target.h +12 −0 Original line number Diff line number Diff line Loading @@ -156,6 +156,18 @@ class DmTargetVerityString final : public DmTarget { std::string target_string_; }; class DmTargetBow final : public DmTarget { public: DmTargetBow(uint64_t start, uint64_t length, const std::string& target_string) : DmTarget(start, length), target_string_(target_string) {} std::string name() const override { return "bow"; } std::string GetParameterString() const override { return target_string_; } private: std::string target_string_; }; } // namespace dm } // namespace android Loading fs_mgr/tools/dmctl.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ using DmTarget = ::android::dm::DmTarget; using DmTargetLinear = ::android::dm::DmTargetLinear; using DmTargetZero = ::android::dm::DmTargetZero; using DmTargetAndroidVerity = ::android::dm::DmTargetAndroidVerity; using DmTargetBow = ::android::dm::DmTargetBow; using DmTargetTypeInfo = ::android::dm::DmTargetTypeInfo; using DmBlockDevice = ::android::dm::DeviceMapper::DmBlockDevice; Loading Loading @@ -108,6 +109,13 @@ class TargetParser final { std::string block_device = NextArg(); return std::make_unique<DmTargetAndroidVerity>(start_sector, num_sectors, keyid, block_device); } else if (target_type == "bow") { if (!HasArgs(1)) { std::cerr << "Expected \"bow\" <block_device>" << std::endl; return nullptr; } std::string block_device = NextArg(); return std::make_unique<DmTargetBow>(start_sector, num_sectors, block_device); } else { std::cerr << "Unrecognized target type: " << target_type << std::endl; return nullptr; Loading Loading
fs_mgr/libdm/include/libdm/dm_target.h +12 −0 Original line number Diff line number Diff line Loading @@ -156,6 +156,18 @@ class DmTargetVerityString final : public DmTarget { std::string target_string_; }; class DmTargetBow final : public DmTarget { public: DmTargetBow(uint64_t start, uint64_t length, const std::string& target_string) : DmTarget(start, length), target_string_(target_string) {} std::string name() const override { return "bow"; } std::string GetParameterString() const override { return target_string_; } private: std::string target_string_; }; } // namespace dm } // namespace android Loading
fs_mgr/tools/dmctl.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ using DmTarget = ::android::dm::DmTarget; using DmTargetLinear = ::android::dm::DmTargetLinear; using DmTargetZero = ::android::dm::DmTargetZero; using DmTargetAndroidVerity = ::android::dm::DmTargetAndroidVerity; using DmTargetBow = ::android::dm::DmTargetBow; using DmTargetTypeInfo = ::android::dm::DmTargetTypeInfo; using DmBlockDevice = ::android::dm::DeviceMapper::DmBlockDevice; Loading Loading @@ -108,6 +109,13 @@ class TargetParser final { std::string block_device = NextArg(); return std::make_unique<DmTargetAndroidVerity>(start_sector, num_sectors, keyid, block_device); } else if (target_type == "bow") { if (!HasArgs(1)) { std::cerr << "Expected \"bow\" <block_device>" << std::endl; return nullptr; } std::string block_device = NextArg(); return std::make_unique<DmTargetBow>(start_sector, num_sectors, block_device); } else { std::cerr << "Unrecognized target type: " << target_type << std::endl; return nullptr; Loading