#ifndef __MM_MANAGER_H__
#define __MM_MANAGER_H__

#include "main.h"
#include "mm-config.h"
#include "mm-filelock.h"
#include "mm-log.h"
#include <dirent.h>
#include <errno.h>
#include <gio/gio.h>
#include <glib.h>
#include <inttypes.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>

extern gboolean mm_shutdown_action;
extern gboolean mm_shutdown_sync;

#define ENTER_MM_MODE_SUCCESS 1
#define ENTER_MM_MODE_FAILED 2
#define ENTER_NORMAL_MODE_SUCCESS_CLEAR 3
#define ENTER_NORMAL_MODE_FAILED 4
#define MM_MODE_STATUS 5
#define NM_MODE_STATUS 6
#define ENTER_NORMAL_MODE_SUCCESS_SAVE 7

#define SAVE_DATA_MODE_NONE "none"
#define SAVE_DATA_MODE_ALL "all"
#define SAVE_DATA_MODE_PART "part"

gboolean mm_enter_maintain_mode();
gboolean mm_exit_maintain_mode(char *SaveDataMode);
gchar *mm_get_boot_mode();
gboolean mm_delete_tmp_layer_data();
gboolean mm_move_pkgs_data_to_layer();

#endif
