// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SRC_LIB_ISOLATED_DEVMGR_V2_COMPONENT_FVM_H_
#define SRC_LIB_ISOLATED_DEVMGR_V2_COMPONENT_FVM_H_

#include <lib/zx/status.h>

#include <string>

namespace isolated_devmgr {

// Format the given block device to be managed by FVM, and start up an FVM instance.
//
// Returns that path to the FVM device.
zx::status<std::string> CreateFvmInstance(const std::string& device_path, int slice_size);

// Format the given block device to be FVM managed, and create a new partition on the device.
//
// Returns the path to the newly created block device.
zx::status<std::string> CreateFvmPartition(const std::string& device_path, int slice_size);

}  // namespace isolated_devmgr

#endif  // SRC_LIB_ISOLATED_DEVMGR_V2_COMPONENT_FVM_H_
