| /* |
| * Copyright (C) 2007 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #ifndef RECOVERY_COMMON_H |
| #define RECOVERY_COMMON_H |
| |
| #include <stdio.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| static long tmplog_offset = 0; |
| |
| #define ui_print(...) gui_print(__VA_ARGS__) |
| #define ui_print_overwrite(...) gui_print_overwrite(__VA_ARGS__) |
| |
| #include "gui/gui.h" |
| // TODO: restore ui_print for LOGE |
| #define LOGE(...) gui_print("E:" __VA_ARGS__) |
| #define LOGW(...) fprintf(stdout, "W:" __VA_ARGS__) |
| #define LOGI(...) fprintf(stdout, "I:" __VA_ARGS__) |
| |
| #if 0 |
| #define LOGV(...) fprintf(stdout, "V:" __VA_ARGS__) |
| #define LOGD(...) fprintf(stdout, "D:" __VA_ARGS__) |
| #else |
| #define LOGV(...) do {} while (0) |
| #define LOGD(...) do {} while (0) |
| #endif |
| |
| #define STRINGIFY(x) #x |
| #define EXPAND(x) STRINGIFY(x) |
| |
| typedef struct { |
| const char* mount_point; // eg. "/cache". must live in the root directory. |
| |
| const char* fs_type; // "yaffs2" or "ext4" or "vfat" |
| |
| const char* device; // MTD partition name if fs_type == "yaffs" |
| // block device if fs_type == "ext4" or "vfat" |
| |
| const char* device2; // alternative device to try if fs_type |
| // == "ext4" or "vfat" and mounting |
| // 'device' fails |
| |
| long long length; // (ext4 partition only) when |
| // formatting, size to use for the |
| // partition. 0 or negative number |
| // means to format all but the last |
| // (that much). |
| } Volume; |
| |
| // fopen a file, mounting volumes and making parent dirs as necessary. |
| FILE* fopen_path(const char *path, const char *mode); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // RECOVERY_COMMON_H |