blob: 59626122f1c11af5276d426ae8712318738383b5 [file] [log] [blame]
Mike Frysinger51a43b42005-09-24 07:11:16 +00001/*
2 * fsck.h
3 */
4
5#include <time.h>
6
7#define FSCK_ATTR(x) __attribute__(x)
8
9
10#ifndef DEFAULT_FSTYPE
11#define DEFAULT_FSTYPE "ext2"
12#endif
13
14#define MAX_DEVICES 32
15#define MAX_ARGS 32
16
17#define EXIT_OK 0
18#define EXIT_NONDESTRUCT 1
19#define EXIT_DESTRUCT 2
20#define EXIT_UNCORRECTED 4
21#define EXIT_ERROR 8
22#define EXIT_USAGE 16
23#define EXIT_LIBRARY 128
24
25/*
26 * Internal structure for mount tabel entries.
27 */
28
29struct fs_info {
30 char *device;
31 char *mountpt;
32 char *type;
33 char *opts;
34 int freq;
35 int passno;
36 int flags;
37 struct fs_info *next;
38};
39
40#define FLAG_DONE 1
41#define FLAG_PROGRESS 2
42
43/*
44 * Structure to allow exit codes to be stored
45 */
46struct fsck_instance {
47 int pid;
48 int flags;
49 int exit_status;
50 time_t start_time;
51 char * prog;
52 char * type;
53 char * device;
54 char * base_device;
55 struct fsck_instance *next;
56};
57
58extern char *base_device(const char *device);
59extern const char *identify_fs(const char *fs_name, const char *fs_types);