1890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner// Copyright 2014 The Android Open Source Project
2890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner//
3890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner// This software is licensed under the terms of the GNU General Public
4890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner// License version 2, as published by the Free Software Foundation, and
5890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner// may be copied, distributed, and modified under those terms.
6890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner//
7890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner// This program is distributed in the hope that it will be useful,
8890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner// but WITHOUT ANY WARRANTY; without even the implied warranty of
9890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner// GNU General Public License for more details.
11890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner
12890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner#ifndef ANDROID_FILESYSTEMS_EXT4_UTILS_H
13890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner#define ANDROID_FILESYSTEMS_EXT4_UTILS_H
14890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner
15890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner#include "android/utils/compiler.h"
16890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner
17890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner#include <stdbool.h>
18dddfa6426c2a3385aea685a200a7a4df1932b207David 'Digit' Turner#include <inttypes.h>
19890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner
20890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' TurnerANDROID_BEGIN_HEADER
21890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner
22dddfa6426c2a3385aea685a200a7a4df1932b207David 'Digit' Turner// Create a new empty EXT4 partition image file at |filePath|
23dddfa6426c2a3385aea685a200a7a4df1932b207David 'Digit' Turner// of |size| bytes. |mountPoint| is the name of the corresponding
24dddfa6426c2a3385aea685a200a7a4df1932b207David 'Digit' Turner// mount point, e.g. 'cache' for the cache partition.
25dddfa6426c2a3385aea685a200a7a4df1932b207David 'Digit' Turner// Returns 0 on success, or -errno on failure.
26dddfa6426c2a3385aea685a200a7a4df1932b207David 'Digit' Turnerint android_createEmptyExt4Image(const char *filePath,
27dddfa6426c2a3385aea685a200a7a4df1932b207David 'Digit' Turner                                 uint64_t size,
28dddfa6426c2a3385aea685a200a7a4df1932b207David 'Digit' Turner                                 const char *mountpoint);
29dddfa6426c2a3385aea685a200a7a4df1932b207David 'Digit' Turner
30890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner// Returns true iff the file at |filePath| is an actual EXT4 partition image.
31890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turnerbool android_pathIsExt4PartitionImage(const char* filePath);
32890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner
33890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner
34890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' TurnerANDROID_END_HEADER
35890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner
36890f46464b0a35cbee882a5d62bd86a49879cabcDavid 'Digit' Turner#endif  // ANDROID_FILESYSTEMS_EXT4_UTILS_H
37