⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xfsck.h

📁 在Linux内核从2.4升级到2.6时需要升级的软件包
💻 H
📖 第 1 页 / 共 2 页
字号:
/* *   Copyright (c) International Business Machines Corp., 2000-2002 * *   This program is free software;  you can redistribute it and/or modify *   it under the terms of the GNU General Public License as published by *   the Free Software Foundation; either version 2 of the License, or *   (at your option) any later version. * *   This program is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY;  without even the implied warranty of *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See *   the GNU General Public License for more details. * *   You should have received a copy of the GNU General Public License *   along with this program;  if not, write to the Free Software *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#ifndef H_XFSCK#define H_XFSCK#include "jfs_types.h"#include "jfs_dmap.h"/* Stuff for handling extended attributes. */#ifndef OS2struct FEA {			/* fea */	uint8_t fEA;		/* flags                              */	uint8_t cbName;		/* name length not including NULL */	uint16_t cbValue;	/* value length */};/* flags for FEA.fEA */#define FEA_NEEDEA         0x80	/* need EA bit */struct FEALIST {		/* feal */	uint32_t cbList;	/* total bytes of structure including full list */	struct FEA list[1];	/* variable length FEA structures */};#define ERROR_EA_LIST_INCONSISTENT  255#endifextern int jfs_ValidateFEAList(struct FEALIST *, int, unsigned long *);/* ***** IMPORTANT ***** IMPORTANT ***** IMPORTANT ***** IMPORTANT ***** * * fsck_first_msgid * 	MUST be set to the first message id for fsck, according *	to jfs.txt.  Will be used to locate the text for any *	message which is displayed in the local language. * * fsck_highest_msgid_defined *	MUST be maintained in synch with the * 	message id constants (defined in fsckmsgc.h) since the * 	message text array and the message attributes array (declared * 	in fsckmsgp.h) are both dimensioned using it. * * ***** IMPORTANT ***** IMPORTANT ***** IMPORTANT ***** IMPORTANT ***** */#define fsck_msgid_offset           50#define fsck_highest_msgid_defined 599#define MAXPARMLEN 64#define fscklog_var_text 1#define fscklog_literal  2 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  *  * The following are used to access the columns of  * MsgProtocol[][], which is defined in fsckmsgp.h  *  */#define MP_MSGLVL     0#define MP_MSGFILE    1 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  *  * The following are the possible values effective fsck  * messaging level and for implied response level.  *  *//* * special cases (must not match any other constants in the table) */#define fsck_hrtbt     130#define fsck_txtins    131/* * The lowest messaging level (dictated by input parms) at which * the message is displayed. */#define fsck_quiet       2#define fsck_verbose     8#define fsck_debug      32/* * The message file to use for local language lookup * *   These are determined by the array message_file_name[] *   in messages.c */#define no_msgfile      -1#define jfs_msgfile      1 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +    * The following are used for reporting storage allocation    * failures.  */void report_dynstg_error(void);#define  dynstg_unknown          0/* the actions */#define dynstg_allocation        1#define dynstg_initialization    2/* the objects */#define dynstg_unknown_object    0#define dynstg_blkmap            1#define dynstg_blkmap_buf        2#define dynstg_blkmap_hdr        3#define dynstg_inomap            4#define dynstg_fer               5#define dynstg_wspext            6#define dynstg_pathbuffer        7#define dynstg_inoextrec         8#define dynstg_inorec            9#define dynstg_dtreeQ_elem      10#define dynstg_treeQ_elem       11#define dynstg_ait_map          12#define dynstg_fsit_map         13#define dynstg_dupall_blkrec    14#define dynstg_dupall_inorec    15#define dynstg_agg_agtbl        16#define dynstg_agg_iagtbl       17#define dynstg_fs_agtbl         18#define dynstg_fs_iagtbl        19#define dynstg_iobufs           20#define dynstg_eaiobuf          21#define dynstg_tmpinoiobuf      22#define dynstg_recondnodebuf    23#define dynstg_xtreebuf         24#define dynstg_xtreepagebuf     25#define dynstg_treeStack_elem   26#define dynstg_fsckcbblbuf1     27#define dynstg_fsckcbblbuf2     28#define dynstg_inotbl           29#define dynstg_inoexttbl        30#define dynstg_fsit_iagtbl      31#define dynstg_fsit_inoexttbl   32#define dynstg_fsit_inotbl      33#define dynstg_ait_inotbl       34/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * * used during blockmap verify/rebuild * */struct fsck_bmap_record {	char eyecatcher[8];	int64_t total_blocks;	int64_t free_blocks;	int8_t ctl_fctl_error;	int8_t ctl_other_error;	char rsvd0[2];	char bmpctlinf_eyecatcher[8];	struct dbmap *bmpctl_bufptr;	int64_t bmpctl_agg_fsblk_offset;	char rsvd1[4];	char AGinf_eyecatcher[8];	int64_t *AGFree_tbl;	int8_t AGActive[MAXAG];	char dmapinf_eyecatcher[8];	uint32_t dmappg_count;	uint32_t dmappg_ordno;	uint32_t dmappg_idx;	int8_t *dmap_wsp_stree;	int8_t *dmap_wsp_sleafs;	struct dmap *dmap_bufptr;	int64_t dmap_agg_offset;	int64_t dmap_1stblk;	int8_t dmap_pmap_error;	int8_t dmap_slfv_error;	int8_t dmap_slnv_error;	int8_t dmap_other_error;	char rsvd2[4];	char L0inf_eyecatcher[8];	uint32_t L0pg_count;	uint32_t L0pg_ordno;	uint32_t L0pg_idx;	int8_t *L0_wsp_stree;	int8_t *L0_wsp_sleafs;	struct dmapctl *L0_bufptr;	int64_t L0pg_agg_offset;	int64_t L0pg_1stblk;	int8_t L0_rsvd;	int8_t L0pg_slfv_error;	int8_t L0pg_slnv_error;	int8_t L0pg_other_error;	char rsvd3[4];	char L1inf_eyecatcher[8];	uint32_t L1pg_count;	uint32_t L1pg_ordno;	uint32_t L1pg_idx;	int8_t *L1_wsp_stree;	int8_t *L1_wsp_sleafs;	struct dmapctl *L1_bufptr;	int64_t L1pg_agg_offset;	int64_t L1pg_1stblk;	int8_t L1_rsvd;	int8_t L1pg_slfv_error;	int8_t L1pg_slnv_error;	int8_t L1pg_other_error;	char rsvd4[4];	char L2inf_eyecatcher[8];	uint32_t L2pg_count;	int8_t *L2_wsp_stree;	int8_t *L2_wsp_sleafs;	struct dmapctl *L2_bufptr;	int64_t L2pg_agg_offset;	int64_t L2pg_1stblk;	int8_t L2pg_slfv_error;	int8_t L2pg_slnv_error;	int8_t L2pg_other_error;	char rsvd5[5];};/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * * unicharacter name structure */struct uniname {	uint32_t len_in_UniChars;	UniChar name_in_UniChars[256];};/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * * used to pass message inserts from one routine to another economically */struct fsck_ino_msg_info {	uint32_t msg_inonum;	int msg_inopfx;	int msg_inotyp;	int msg_dxdtyp;};struct fsck_imap_msg_info {	int32_t msg_iagnum;	int32_t msg_agnum;	int msg_mapowner;};/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * * used to specify what action should be performed by routing * process_extent */#define FSCK_RECORD                 1#define FSCK_RECORD_DUPCHECK        2#define FSCK_UNRECORD               3#define FSCK_QUERY                  4#define FSCK_GET_OBJNAME            5#define FSCK_FSIM_RECORD_DUPCHECK   6#define FSCK_FSIM_UNRECORD          7#define FSCK_FSIM_QUERY             8 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  *  * The following are the values which may be displayed in  * message fsck_INOINLINECONFLICT  *  */#define fsck_longdata_and_otherinline  1/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + * * The following define exit codes passed back by fsck.jfs * and return codes passed internally in fsck.jfs. * *//* exit codes */#define FSCK_OK                    0#define FSCK_CORRECTED             1#define FSCK_REBOOT                2#define FSCK_ERRORS_UNCORRECTED    4#define FSCK_OP_ERROR              8#define FSCK_USAGE_ERROR          16/* informational return codes */#define FSCK_FAILED              -00001

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -