blob: 8a0f70e325b5f7e25178f0cd26b1d94829938be8 [file] [log] [blame]
Theodore Ts'o3839e651997-04-26 13:21:57 +00001/*
2 * fsck.h
3 */
4
Theodore Ts'o8820c792001-01-06 04:20:03 +00005#include <time.h>
6
Theodore Ts'o3839e651997-04-26 13:21:57 +00007#ifdef __STDC__
8#define NOARGS void
9#else
10#define NOARGS
11#define const
12#endif
13
Theodore Ts'o54434922003-12-07 01:28:50 -050014#ifdef __GNUC__
15#define FSCK_ATTR(x) __attribute__(x)
16#else
17#define FSCK_ATTR(x)
18#endif
19
20
Theodore Ts'o3839e651997-04-26 13:21:57 +000021#ifndef DEFAULT_FSTYPE
Theodore Ts'of3db3561997-04-26 13:34:30 +000022#define DEFAULT_FSTYPE "ext2"
Theodore Ts'o3839e651997-04-26 13:21:57 +000023#endif
24
25#define MAX_DEVICES 32
26#define MAX_ARGS 32
27
28#define EXIT_OK 0
29#define EXIT_NONDESTRUCT 1
30#define EXIT_DESTRUCT 2
31#define EXIT_UNCORRECTED 4
32#define EXIT_ERROR 8
33#define EXIT_USAGE 16
34#define EXIT_LIBRARY 128
35
36/*
37 * Internal structure for mount tabel entries.
38 */
39
40struct fs_info {
41 char *device;
42 char *mountpt;
43 char *type;
44 char *opts;
45 int freq;
46 int passno;
47 int flags;
48 struct fs_info *next;
49};
50
51#define FLAG_DONE 1
Theodore Ts'o50787ea1999-07-19 15:30:21 +000052#define FLAG_PROGRESS 2
Theodore Ts'o3839e651997-04-26 13:21:57 +000053
54/*
55 * Structure to allow exit codes to be stored
56 */
57struct fsck_instance {
58 int pid;
59 int flags;
60 int exit_status;
Theodore Ts'o7f4bb6c1999-10-20 18:11:01 +000061 time_t start_time;
Theodore Ts'o3839e651997-04-26 13:21:57 +000062 char * prog;
Theodore Ts'o50787ea1999-07-19 15:30:21 +000063 char * type;
Theodore Ts'o3839e651997-04-26 13:21:57 +000064 char * device;
Theodore Ts'o793e27d2000-12-03 06:33:56 +000065 char * base_device;
Theodore Ts'o3839e651997-04-26 13:21:57 +000066 struct fsck_instance *next;
67};
68
Theodore Ts'oed1b33e2003-03-01 19:29:01 -050069extern char *base_device(const char *device);
Theodore Ts'o5599c2f2002-02-03 00:08:52 -050070extern const char *identify_fs(const char *fs_name, const char *fs_types);
Theodore Ts'o2d328bb2008-03-17 23:17:13 -040071
72/* ismounted.h */
73extern int is_mounted(const char *file);