亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? swapfs.c

?? 制作Linux下的文件系統必用的工具
?? C
字號:
/* vi: set sw=4 ts=4: *//* * swapfs.c --- swap ext2 filesystem data structures * * Copyright (C) 1995, 1996, 2002 Theodore Ts'o. * * %Begin-Header% * This file may be redistributed under the terms of the GNU Public * License. * %End-Header% */#include <stdio.h>#include <unistd.h>#include <string.h>#include <time.h>#include "ext2_fs.h"#include "ext2fs.h"#include "ext2_ext_attr.h"#if BB_BIG_ENDIANvoid ext2fs_swap_super(struct ext2_super_block * sb){	int i;	sb->s_inodes_count = ext2fs_swab32(sb->s_inodes_count);	sb->s_blocks_count = ext2fs_swab32(sb->s_blocks_count);	sb->s_r_blocks_count = ext2fs_swab32(sb->s_r_blocks_count);	sb->s_free_blocks_count = ext2fs_swab32(sb->s_free_blocks_count);	sb->s_free_inodes_count = ext2fs_swab32(sb->s_free_inodes_count);	sb->s_first_data_block = ext2fs_swab32(sb->s_first_data_block);	sb->s_log_block_size = ext2fs_swab32(sb->s_log_block_size);	sb->s_log_frag_size = ext2fs_swab32(sb->s_log_frag_size);	sb->s_blocks_per_group = ext2fs_swab32(sb->s_blocks_per_group);	sb->s_frags_per_group = ext2fs_swab32(sb->s_frags_per_group);	sb->s_inodes_per_group = ext2fs_swab32(sb->s_inodes_per_group);	sb->s_mtime = ext2fs_swab32(sb->s_mtime);	sb->s_wtime = ext2fs_swab32(sb->s_wtime);	sb->s_mnt_count = ext2fs_swab16(sb->s_mnt_count);	sb->s_max_mnt_count = ext2fs_swab16(sb->s_max_mnt_count);	sb->s_magic = ext2fs_swab16(sb->s_magic);	sb->s_state = ext2fs_swab16(sb->s_state);	sb->s_errors = ext2fs_swab16(sb->s_errors);	sb->s_minor_rev_level = ext2fs_swab16(sb->s_minor_rev_level);	sb->s_lastcheck = ext2fs_swab32(sb->s_lastcheck);	sb->s_checkinterval = ext2fs_swab32(sb->s_checkinterval);	sb->s_creator_os = ext2fs_swab32(sb->s_creator_os);	sb->s_rev_level = ext2fs_swab32(sb->s_rev_level);	sb->s_def_resuid = ext2fs_swab16(sb->s_def_resuid);	sb->s_def_resgid = ext2fs_swab16(sb->s_def_resgid);	sb->s_first_ino = ext2fs_swab32(sb->s_first_ino);	sb->s_inode_size = ext2fs_swab16(sb->s_inode_size);	sb->s_block_group_nr = ext2fs_swab16(sb->s_block_group_nr);	sb->s_feature_compat = ext2fs_swab32(sb->s_feature_compat);	sb->s_feature_incompat = ext2fs_swab32(sb->s_feature_incompat);	sb->s_feature_ro_compat = ext2fs_swab32(sb->s_feature_ro_compat);	sb->s_algorithm_usage_bitmap = ext2fs_swab32(sb->s_algorithm_usage_bitmap);	sb->s_reserved_gdt_blocks = ext2fs_swab16(sb->s_reserved_gdt_blocks);	sb->s_journal_inum = ext2fs_swab32(sb->s_journal_inum);	sb->s_journal_dev = ext2fs_swab32(sb->s_journal_dev);	sb->s_last_orphan = ext2fs_swab32(sb->s_last_orphan);	sb->s_default_mount_opts = ext2fs_swab32(sb->s_default_mount_opts);	sb->s_first_meta_bg = ext2fs_swab32(sb->s_first_meta_bg);	sb->s_mkfs_time = ext2fs_swab32(sb->s_mkfs_time);	for (i=0; i < 4; i++)		sb->s_hash_seed[i] = ext2fs_swab32(sb->s_hash_seed[i]);	for (i=0; i < 17; i++)		sb->s_jnl_blocks[i] = ext2fs_swab32(sb->s_jnl_blocks[i]);}void ext2fs_swap_group_desc(struct ext2_group_desc *gdp){	gdp->bg_block_bitmap = ext2fs_swab32(gdp->bg_block_bitmap);	gdp->bg_inode_bitmap = ext2fs_swab32(gdp->bg_inode_bitmap);	gdp->bg_inode_table = ext2fs_swab32(gdp->bg_inode_table);	gdp->bg_free_blocks_count = ext2fs_swab16(gdp->bg_free_blocks_count);	gdp->bg_free_inodes_count = ext2fs_swab16(gdp->bg_free_inodes_count);	gdp->bg_used_dirs_count = ext2fs_swab16(gdp->bg_used_dirs_count);}void ext2fs_swap_ext_attr(char *to, char *from, int bufsize, int has_header){	struct ext2_ext_attr_header *from_header =		(struct ext2_ext_attr_header *)from;	struct ext2_ext_attr_header *to_header =		(struct ext2_ext_attr_header *)to;	struct ext2_ext_attr_entry *from_entry, *to_entry;	char *from_end = (char *)from_header + bufsize;	int n;	if (to_header != from_header)		memcpy(to_header, from_header, bufsize);	from_entry = (struct ext2_ext_attr_entry *)from_header;	to_entry   = (struct ext2_ext_attr_entry *)to_header;	if (has_header) {		to_header->h_magic    = ext2fs_swab32(from_header->h_magic);		to_header->h_blocks   = ext2fs_swab32(from_header->h_blocks);		to_header->h_refcount = ext2fs_swab32(from_header->h_refcount);		for (n=0; n<4; n++)			to_header->h_reserved[n] =				ext2fs_swab32(from_header->h_reserved[n]);		from_entry = (struct ext2_ext_attr_entry *)(from_header+1);		to_entry   = (struct ext2_ext_attr_entry *)(to_header+1);	}	while ((char *)from_entry < from_end && *(__u32 *)from_entry) {		to_entry->e_value_offs  =			ext2fs_swab16(from_entry->e_value_offs);		to_entry->e_value_block =			ext2fs_swab32(from_entry->e_value_block);		to_entry->e_value_size  =			ext2fs_swab32(from_entry->e_value_size);		from_entry = EXT2_EXT_ATTR_NEXT(from_entry);		to_entry   = EXT2_EXT_ATTR_NEXT(to_entry);	}}void ext2fs_swap_inode_full(ext2_filsys fs, struct ext2_inode_large *t,			    struct ext2_inode_large *f, int hostorder,			    int bufsize){	unsigned i;	int islnk = 0;	__u32 *eaf, *eat;	if (hostorder && LINUX_S_ISLNK(f->i_mode))		islnk = 1;	t->i_mode = ext2fs_swab16(f->i_mode);	if (!hostorder && LINUX_S_ISLNK(t->i_mode))		islnk = 1;	t->i_uid = ext2fs_swab16(f->i_uid);	t->i_size = ext2fs_swab32(f->i_size);	t->i_atime = ext2fs_swab32(f->i_atime);	t->i_ctime = ext2fs_swab32(f->i_ctime);	t->i_mtime = ext2fs_swab32(f->i_mtime);	t->i_dtime = ext2fs_swab32(f->i_dtime);	t->i_gid = ext2fs_swab16(f->i_gid);	t->i_links_count = ext2fs_swab16(f->i_links_count);	t->i_blocks = ext2fs_swab32(f->i_blocks);	t->i_flags = ext2fs_swab32(f->i_flags);	t->i_file_acl = ext2fs_swab32(f->i_file_acl);	t->i_dir_acl = ext2fs_swab32(f->i_dir_acl);	if (!islnk || ext2fs_inode_data_blocks(fs, (struct ext2_inode *)t)) {		for (i = 0; i < EXT2_N_BLOCKS; i++)			t->i_block[i] = ext2fs_swab32(f->i_block[i]);	} else if (t != f) {		for (i = 0; i < EXT2_N_BLOCKS; i++)			t->i_block[i] = f->i_block[i];	}	t->i_generation = ext2fs_swab32(f->i_generation);	t->i_faddr = ext2fs_swab32(f->i_faddr);	switch (fs->super->s_creator_os) {	case EXT2_OS_LINUX:		t->osd1.linux1.l_i_reserved1 =			ext2fs_swab32(f->osd1.linux1.l_i_reserved1);		t->osd2.linux2.l_i_frag = f->osd2.linux2.l_i_frag;		t->osd2.linux2.l_i_fsize = f->osd2.linux2.l_i_fsize;		t->osd2.linux2.i_pad1 = ext2fs_swab16(f->osd2.linux2.i_pad1);		t->osd2.linux2.l_i_uid_high =		  ext2fs_swab16 (f->osd2.linux2.l_i_uid_high);		t->osd2.linux2.l_i_gid_high =		  ext2fs_swab16 (f->osd2.linux2.l_i_gid_high);		t->osd2.linux2.l_i_reserved2 =			ext2fs_swab32(f->osd2.linux2.l_i_reserved2);		break;	case EXT2_OS_HURD:		t->osd1.hurd1.h_i_translator =		  ext2fs_swab32 (f->osd1.hurd1.h_i_translator);		t->osd2.hurd2.h_i_frag = f->osd2.hurd2.h_i_frag;		t->osd2.hurd2.h_i_fsize = f->osd2.hurd2.h_i_fsize;		t->osd2.hurd2.h_i_mode_high =		  ext2fs_swab16 (f->osd2.hurd2.h_i_mode_high);		t->osd2.hurd2.h_i_uid_high =		  ext2fs_swab16 (f->osd2.hurd2.h_i_uid_high);		t->osd2.hurd2.h_i_gid_high =		  ext2fs_swab16 (f->osd2.hurd2.h_i_gid_high);		t->osd2.hurd2.h_i_author =		  ext2fs_swab32 (f->osd2.hurd2.h_i_author);		break;	case EXT2_OS_MASIX:		t->osd1.masix1.m_i_reserved1 =			ext2fs_swab32(f->osd1.masix1.m_i_reserved1);		t->osd2.masix2.m_i_frag = f->osd2.masix2.m_i_frag;		t->osd2.masix2.m_i_fsize = f->osd2.masix2.m_i_fsize;		t->osd2.masix2.m_pad1 = ext2fs_swab16(f->osd2.masix2.m_pad1);		t->osd2.masix2.m_i_reserved2[0] =			ext2fs_swab32(f->osd2.masix2.m_i_reserved2[0]);		t->osd2.masix2.m_i_reserved2[1] =			ext2fs_swab32(f->osd2.masix2.m_i_reserved2[1]);		break;	}	if (bufsize < (int) (sizeof(struct ext2_inode) + sizeof(__u16)))		return; /* no i_extra_isize field */	t->i_extra_isize = ext2fs_swab16(f->i_extra_isize);	if (t->i_extra_isize > EXT2_INODE_SIZE(fs->super) -				sizeof(struct ext2_inode)) {		/* this is error case: i_extra_size is too large */		return;	}	i = sizeof(struct ext2_inode) + t->i_extra_isize + sizeof(__u32);	if (bufsize < (int) i)		return; /* no space for EA magic */	eaf = (__u32 *) (((char *) f) + sizeof(struct ext2_inode) +					f->i_extra_isize);	if (ext2fs_swab32(*eaf) != EXT2_EXT_ATTR_MAGIC)		return; /* it seems no magic here */	eat = (__u32 *) (((char *) t) + sizeof(struct ext2_inode) +					f->i_extra_isize);	*eat = ext2fs_swab32(*eaf);	/* convert EA(s) */	ext2fs_swap_ext_attr((char *) (eat + 1), (char *) (eaf + 1),			     bufsize - sizeof(struct ext2_inode) -			     t->i_extra_isize - sizeof(__u32), 0);}void ext2fs_swap_inode(ext2_filsys fs, struct ext2_inode *t,		       struct ext2_inode *f, int hostorder){	ext2fs_swap_inode_full(fs, (struct ext2_inode_large *) t,				(struct ext2_inode_large *) f, hostorder,				sizeof(struct ext2_inode));}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
波多野结衣的一区二区三区| 99久久婷婷国产| 国产精品久久久久久久久免费樱桃| 色婷婷精品大在线视频| 国产一区二区影院| 亚洲资源中文字幕| 久久午夜国产精品| 欧美日韩国产综合一区二区| 高清不卡一区二区在线| 日韩精品午夜视频| 亚洲视频在线一区| 久久久777精品电影网影网 | 天天操天天色综合| 中文字幕一区免费在线观看| 日韩欧美一卡二卡| 国产视频一区二区在线观看| 欧美色倩网站大全免费| 99久久精品免费看国产| 黄色成人免费在线| 麻豆一区二区在线| 亚洲成人精品在线观看| 亚洲婷婷国产精品电影人久久| 精品国产精品网麻豆系列| 欧美日韩电影在线播放| 一本大道久久a久久精二百| 国产白丝网站精品污在线入口| 日本aⅴ免费视频一区二区三区| 亚洲一二三区在线观看| 亚洲色图欧洲色图| 国产日韩欧美精品电影三级在线| 日韩视频免费直播| 91国产精品成人| 狠狠色2019综合网| 免费成人在线播放| 亚洲一区视频在线| 国产日韩欧美精品在线| 精品人伦一区二区色婷婷| 69久久99精品久久久久婷婷| 欧美人妇做爰xxxⅹ性高电影| 91久久精品国产91性色tv| 91麻豆精东视频| 99re6这里只有精品视频在线观看| 国产suv精品一区二区883| 国产成人超碰人人澡人人澡| 国产精品一区二区三区四区| 国产精品538一区二区在线| 精品一区二区三区香蕉蜜桃| 久久 天天综合| 欧美日韩黄色一区二区| 精品视频色一区| 欧美人xxxx| 日韩一区二区在线观看| 日韩欧美电影在线| 久久综合色鬼综合色| 国产拍欧美日韩视频二区| 久久久久久久久免费| 欧美—级在线免费片| 国产精品盗摄一区二区三区| 亚洲欧美日韩在线| 一区二区成人在线| 日韩国产高清影视| 激情文学综合丁香| 成人激情午夜影院| 色久优优欧美色久优优| 欧美另类videos死尸| 日韩欧美一级精品久久| 久久亚洲精精品中文字幕早川悠里| 国产拍欧美日韩视频二区| 亚洲人吸女人奶水| 午夜视黄欧洲亚洲| 国产永久精品大片wwwapp| 成人av网站大全| 欧美亚洲免费在线一区| 欧美岛国在线观看| 国产精品免费视频一区| 亚洲成人在线网站| 国产一区在线不卡| 日本高清不卡视频| 欧美大白屁股肥臀xxxxxx| 国产精品美女久久久久久久久 | 亚洲三级电影网站| 日韩av电影一区| 成人三级在线视频| 欧美日韩黄色影视| 国产蜜臀97一区二区三区| 亚洲成人三级小说| 国产成人免费网站| 欧美日韩精品一区二区在线播放| 日韩黄色片在线观看| 国产不卡免费视频| 3d成人h动漫网站入口| 中文无字幕一区二区三区| 天天综合网天天综合色| 成人三级伦理片| 欧美一二三区在线观看| 亚洲色欲色欲www| 精品在线亚洲视频| 欧美系列亚洲系列| 国产精品麻豆欧美日韩ww| 日本不卡在线视频| 色老头久久综合| 国产欧美日韩视频在线观看| 日韩av电影天堂| 色婷婷综合中文久久一本| 久久久精品免费免费| 视频在线在亚洲| 91蝌蚪porny| 国产三级精品三级在线专区| 偷窥国产亚洲免费视频| 91一区在线观看| 久久理论电影网| 日本vs亚洲vs韩国一区三区二区 | 五月天久久比比资源色| 9久草视频在线视频精品| 久久综合一区二区| 日本伊人午夜精品| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 国产午夜精品久久| 精品亚洲欧美一区| 日韩一区二区三区三四区视频在线观看 | 亚洲青青青在线视频| 国产成人免费xxxxxxxx| 日韩精品专区在线影院观看| 亚洲成人免费电影| 欧美专区日韩专区| 亚洲精品老司机| 91在线观看地址| 亚洲天堂2014| 99久久99久久精品免费看蜜桃| 国产欧美日韩精品一区| 国产最新精品免费| 久久久高清一区二区三区| 久久99精品一区二区三区 | 久久这里只有精品首页| 美女视频黄 久久| 日韩欧美在线一区二区三区| 日韩精品91亚洲二区在线观看| 欧美日韩另类一区| 午夜一区二区三区在线观看| 欧美日韩一本到| 午夜视频久久久久久| 欧美日韩成人在线| 喷水一区二区三区| 欧美岛国在线观看| 国产精品69毛片高清亚洲| 日韩高清不卡一区| 日韩欧美一二区| 韩国三级电影一区二区| 久久精品一区四区| www.在线成人| 亚洲乱码国产乱码精品精98午夜 | 高清不卡一区二区在线| 国产精品电影一区二区三区| 99精品欧美一区二区三区小说| 中文字幕综合网| 欧美天堂亚洲电影院在线播放| 亚洲成人av资源| 日韩三级视频在线看| 国产成人精品影视| 日韩一区中文字幕| 欧美欧美欧美欧美| 激情文学综合网| 18欧美乱大交hd1984| 欧美日韩久久久久久| 久久99久久精品| 国产精品高潮呻吟| 欧美日韩亚洲另类| 蜜桃视频在线观看一区二区| 久久精品免视看| 欧美在线高清视频| 精品综合免费视频观看| 综合在线观看色| 91精品国产欧美一区二区| 国产露脸91国语对白| 亚洲精品中文在线观看| 91精品国产综合久久精品| 岛国精品在线观看| 午夜精品影院在线观看| 精品福利视频一区二区三区| 91看片淫黄大片一级在线观看| 青草国产精品久久久久久| 中文字幕av资源一区| 欧美精品高清视频| 国产成人av影院| 亚洲午夜久久久久久久久电影院| 精品精品国产高清一毛片一天堂| a在线欧美一区| 麻豆视频一区二区| 亚洲手机成人高清视频| 精品国产乱码久久久久久牛牛| 91同城在线观看| 韩国av一区二区三区| 夜夜夜精品看看| 欧美经典一区二区| 欧美一级淫片007| 在线视频国内一区二区| 国产一区 二区 三区一级| 一本一道综合狠狠老| 国产一区二区按摩在线观看| 亚洲成人自拍偷拍|