119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* 219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * fsck.h 319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project */ 419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#include <time.h> 619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __STDC__ 819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define NOARGS void 919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else 1019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define NOARGS 1119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define const 1219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif 1319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 1419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __GNUC__ 1519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define FSCK_ATTR(x) __attribute__(x) 1619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else 1719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define FSCK_ATTR(x) 1819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif 1919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifndef DEFAULT_FSTYPE 2219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define DEFAULT_FSTYPE "ext2" 2319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif 2419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define MAX_DEVICES 32 2619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define MAX_ARGS 32 2719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define EXIT_OK 0 2919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define EXIT_NONDESTRUCT 1 3019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define EXIT_DESTRUCT 2 3119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define EXIT_UNCORRECTED 4 3219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define EXIT_ERROR 8 3319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define EXIT_USAGE 16 3419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define EXIT_LIBRARY 128 3519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 3619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* 3719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * Internal structure for mount tabel entries. 3819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project */ 3919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 4019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectstruct fs_info { 4119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project char *device; 4219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project char *mountpt; 4319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project char *type; 4419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project char *opts; 4519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project int freq; 4619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project int passno; 4719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project int flags; 4819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project struct fs_info *next; 4919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project}; 5019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 5119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define FLAG_DONE 1 5219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define FLAG_PROGRESS 2 5319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 5419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* 5519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * Structure to allow exit codes to be stored 5619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project */ 5719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectstruct fsck_instance { 5819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project int pid; 5919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project int flags; 6019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project int exit_status; 6119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project time_t start_time; 6219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project char * prog; 6319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project char * type; 6419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project char * device; 6519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project char * base_device; 6619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project struct fsck_instance *next; 6719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project}; 6819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 6919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern char *base_device(const char *device); 7019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern const char *identify_fs(const char *fs_name, const char *fs_types); 713984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt 723984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt/* ismounted.h */ 733984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidtextern int is_mounted(const char *file); 74