Home | History | Annotate | Download | only in misc
      1 /*
      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 
     40 struct 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  */
     57 struct 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 
     69 extern char *base_device(const char *device);
     70 extern const char *identify_fs(const char *fs_name, const char *fs_types);
     71