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