xref: /aosp_15_r20/external/e2fsprogs/e2fsck/problemP.h (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard Worker /*
2*6a54128fSAndroid Build Coastguard Worker  * problemP.h --- Private header file for fix_problem()
3*6a54128fSAndroid Build Coastguard Worker  *
4*6a54128fSAndroid Build Coastguard Worker  * Copyright 1997 by Theodore Ts'o
5*6a54128fSAndroid Build Coastguard Worker  *
6*6a54128fSAndroid Build Coastguard Worker  * %Begin-Header%
7*6a54128fSAndroid Build Coastguard Worker  * This file may be redistributed under the terms of the GNU Public
8*6a54128fSAndroid Build Coastguard Worker  * License.
9*6a54128fSAndroid Build Coastguard Worker  * %End-Header%
10*6a54128fSAndroid Build Coastguard Worker  */
11*6a54128fSAndroid Build Coastguard Worker 
12*6a54128fSAndroid Build Coastguard Worker struct e2fsck_problem {
13*6a54128fSAndroid Build Coastguard Worker 	problem_t	e2p_code;
14*6a54128fSAndroid Build Coastguard Worker 	const char *	e2p_description;
15*6a54128fSAndroid Build Coastguard Worker 	char		prompt;
16*6a54128fSAndroid Build Coastguard Worker 	int		flags;
17*6a54128fSAndroid Build Coastguard Worker 	problem_t	second_code;
18*6a54128fSAndroid Build Coastguard Worker 	int		count;
19*6a54128fSAndroid Build Coastguard Worker 	int		max_count;
20*6a54128fSAndroid Build Coastguard Worker };
21*6a54128fSAndroid Build Coastguard Worker 
22*6a54128fSAndroid Build Coastguard Worker struct latch_descr {
23*6a54128fSAndroid Build Coastguard Worker 	int		latch_code;
24*6a54128fSAndroid Build Coastguard Worker 	problem_t	question;
25*6a54128fSAndroid Build Coastguard Worker 	problem_t	end_message;
26*6a54128fSAndroid Build Coastguard Worker 	int		flags;
27*6a54128fSAndroid Build Coastguard Worker };
28*6a54128fSAndroid Build Coastguard Worker 
29*6a54128fSAndroid Build Coastguard Worker #define PR_PREEN_OK	0x000001 /* Don't need to do preenhalt */
30*6a54128fSAndroid Build Coastguard Worker #define PR_NO_OK	0x000002 /* If user answers no, don't make fs invalid */
31*6a54128fSAndroid Build Coastguard Worker #define PR_NO_DEFAULT	0x000004 /* Default to no */
32*6a54128fSAndroid Build Coastguard Worker #define PR_MSG_ONLY	0x000008 /* Print message only */
33*6a54128fSAndroid Build Coastguard Worker 
34*6a54128fSAndroid Build Coastguard Worker /* Bit positions 0x000ff0 are reserved for the PR_LATCH flags */
35*6a54128fSAndroid Build Coastguard Worker 
36*6a54128fSAndroid Build Coastguard Worker #define PR_FATAL	0x001000 /* Fatal error */
37*6a54128fSAndroid Build Coastguard Worker #define PR_AFTER_CODE	0x002000 /* After asking the first question, */
38*6a54128fSAndroid Build Coastguard Worker 				 /* ask another */
39*6a54128fSAndroid Build Coastguard Worker #define PR_PREEN_NOMSG	0x004000 /* Don't print a message if we're preening */
40*6a54128fSAndroid Build Coastguard Worker #define PR_NOCOLLATE	0x008000 /* Don't collate answers for this latch */
41*6a54128fSAndroid Build Coastguard Worker #define PR_NO_NOMSG	0x010000 /* Don't print a message if e2fsck -n */
42*6a54128fSAndroid Build Coastguard Worker #define PR_PREEN_NO	0x020000 /* Use No as an answer if preening */
43*6a54128fSAndroid Build Coastguard Worker #define PR_PREEN_NOHDR	0x040000 /* Don't print the preen header */
44*6a54128fSAndroid Build Coastguard Worker #define PR_CONFIG	0x080000 /* This problem has been customized
45*6a54128fSAndroid Build Coastguard Worker 				    from the config file */
46*6a54128fSAndroid Build Coastguard Worker #define PR_FORCE_NO	0x100000 /* Force the answer to be no */
47*6a54128fSAndroid Build Coastguard Worker #define PR_NOT_A_FIX	0x200000 /* Yes doesn't mean a problem was fixed */
48*6a54128fSAndroid Build Coastguard Worker #define PR_HEADER	0x400000 /* Problem is a header marker */
49