blob: 8a0f70e325b5f7e25178f0cd26b1d94829938be8 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001/*
2 * fsck.h
3 */
4
5#include <time.h>
6
7#ifdef __STDC__
8#define NOARGS void
9#else
10#define NOARGS
11#define const
12#endif
13
14#ifdef __GNUC__
15#define FSCK_ATTR(x) __attribute__(x)
16#else
17#define FSCK_ATTR(x)
18#endif
19
20
21#ifndef DEFAULT_FSTYPE
22#define DEFAULT_FSTYPE "ext2"
23#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
52#define FLAG_PROGRESS 2
53
54/*
55 * Structure to allow exit codes to be stored
56 */
57struct fsck_instance {
58 int pid;
59 int flags;
60 int exit_status;
61 time_t start_time;
62 char * prog;
63 char * type;
64 char * device;
65 char * base_device;
66 struct fsck_instance *next;
67};
68
69extern char *base_device(const char *device);
70extern const char *identify_fs(const char *fs_name, const char *fs_types);
71
72/* ismounted.h */
73extern int is_mounted(const char *file);