/*
* fsck.h
*/
#include <time.h>
#ifdef __STDC__
#define NOARGS void
#else
#define NOARGS
#define const
#endif
#ifdef __GNUC__
#define FSCK_ATTR(x) __attribute__(x)
#else
#define FSCK_ATTR(x)
#endif
#ifndef DEFAULT_FSTYPE
#define DEFAULT_FSTYPE "ext2"
#endif
#define MAX_DEVICES 32
#define MAX_ARGS 32
#define EXIT_OK 0
#define EXIT_NONDESTRUCT 1
#define EXIT_DESTRUCT 2
#define EXIT_UNCORRECTED 4
#define EXIT_ERROR 8
#define EXIT_USAGE 16
#define EXIT_LIBRARY 128
/*
* Internal structure for mount tabel entries.
*/
struct fs_info {
char *device;
char *mountpt;
char *type;
char *opts;
int freq;
int passno;
int flags;
struct fs_info *next;
};
#define FLAG_DONE 1
#define FLAG_PROGRESS 2
/*
* Structure to allow exit codes to be stored
*/
struct fsck_instance {
int pid;
int flags;
int exit_status;
time_t start_time;
char * prog;
char * type;
char * device;
char * base_device;
struct fsck_instance *next;
};
extern char *base_device(const char *device);
extern const char *identify_fs(const char *fs_name, const char *fs_types);