#ifndef _CHECKPOINT_H
#define _CHECKPOINT_H
+#include <binder/Status.h>
#include <string>
namespace android {
namespace vold {
-bool cp_startCheckpoint(int retry);
+android::binder::Status cp_supportsCheckpoint(bool& result);
-bool cp_commitChanges();
+android::binder::Status cp_supportsBlockCheckpoint(bool& result);
-void cp_abortChanges();
+android::binder::Status cp_supportsFileCheckpoint(bool& result);
+
+android::binder::Status cp_startCheckpoint(int retry);
+
+android::binder::Status cp_commitChanges();
+
+void cp_abortChanges(const std::string& message, bool retry);
bool cp_needsRollback();
bool cp_needsCheckpoint();
-bool cp_prepareCheckpoint();
+bool cp_isCheckpointing();
+
+android::binder::Status cp_prepareCheckpoint();
-bool cp_restoreCheckpoint(const std::string& mountPoint);
+android::binder::Status cp_restoreCheckpoint(const std::string& mountPoint, int count = 0);
-bool cp_markBootAttempt();
+android::binder::Status cp_markBootAttempt();
+void cp_resetCheckpoint();
} // namespace vold
} // namespace android