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

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

?? fs.h

?? FSD file system driver
?? H
?? 第 1 頁 / 共 2 頁
字號:
#define fs_old_csshift	fs_spare1[1]

#define FS_42POSTBLFMT		-1	/* 4.2BSD rotational table format */
#define FS_DYNAMICPOSTBLFMT	1	/* dynamic rotational table format */

#define	old_fs_postbl(fs_, cylno, opostblsave) \
    ((((fs_)->fs_old_postblformat == FS_42POSTBLFMT) || \
     ((fs_)->fs_old_postbloff == offsetof(struct fs, fs_old_postbl_start))) \
    ? ((int16_t *)(opostblsave) + (cylno) * (fs_)->fs_old_nrpos) \
    : ((int16_t *)((uint8_t *)(fs_) + \
	(fs_)->fs_old_postbloff) + (cylno) * (fs_)->fs_old_nrpos))
#define	old_fs_rotbl(fs) \
    (((fs)->fs_old_postblformat == FS_42POSTBLFMT) \
    ? ((uint8_t *)(&(fs)->fs_magic+1)) \
    : ((uint8_t *)((uint8_t *)(fs) + (fs)->fs_old_rotbloff)))

/*
 * File system identification
 */
#define	FS_UFS1_MAGIC	0x011954	/* UFS1 fast file system magic number */
#define	FS_UFS2_MAGIC	0x19540119	/* UFS2 fast file system magic number */
#define FS_UFS1_MAGIC_SWAPPED	0x54190100
#define FS_UFS2_MAGIC_SWAPPED	0x19015419
#define	FS_OKAY		0x7c269d38	/* superblock checksum */
#define	FS_42INODEFMT	-1		/* 4.2BSD inode format */
#define	FS_44INODEFMT	2		/* 4.4BSD inode format */

/*
 * File system clean flags
 */
#define	FS_ISCLEAN	0x01
#define	FS_WASCLEAN	0x02

/*
 * Preference for optimization.
 */
#define	FS_OPTTIME	0	/* minimize allocation time */
#define	FS_OPTSPACE	1	/* minimize disk fragmentation */

/*
 * File system flags
 */
#define	FS_UNCLEAN	0x01	/* file system not clean at mount (unused) */
#define	FS_DOSOFTDEP	0x02	/* file system using soft dependencies */
#define FS_NEEDSFSCK	0x04	/* needs sync fsck (FreeBSD compat, unused) */
#define FS_INDEXDIRS	0x08	/* kernel supports indexed directories */
#define FS_ACLS		0x10	/* file system has ACLs enabled */
#define FS_MULTILABEL	0x20	/* file system is MAC multi-label */
#define FS_FLAGS_UPDATED 0x80	/* flags have been moved to new location */

/*
 * File system internal flags, also in fs_flags.
 * (Pick highest number to avoid conflicts with others)
 */
#define	FS_SWAPPED	0x80000000	/* file system is endian swapped */
#define	FS_INTERNAL	0x80000000	/* mask for internal flags */

/*
 * The size of a cylinder group is calculated by CGSIZE. The maximum size
 * is limited by the fact that cylinder groups are at most one block.
 * Its size is derived from the size of the maps maintained in the
 * cylinder group and the (struct cg) size.
 */
#define	CGSIZE_IF(fs, ipg, fpg) \
    /* base cg */	(sizeof(struct cg) + sizeof(int32_t) + \
    /* old btotoff */	(fs)->fs_old_cpg * sizeof(int32_t) + \
    /* old boff */	(fs)->fs_old_cpg * sizeof(u_int16_t) + \
    /* inode map */	howmany((ipg), NBBY) + \
    /* block map */	howmany((fpg), NBBY) +\
    /* if present */	((fs)->fs_contigsumsize <= 0 ? 0 : \
    /* cluster sum */	(fs)->fs_contigsumsize * sizeof(int32_t) + \
    /* cluster map */	howmany(fragstoblks(fs, (fpg)), NBBY)))

#define	CGSIZE(fs) CGSIZE_IF((fs), (fs)->fs_ipg, (fs)->fs_fpg)

/*
 * The minimal number of cylinder groups that should be created.
 */
#define MINCYLGRPS	4


/*
 * Convert cylinder group to base address of its global summary info.
 */
#define	fs_cs(fs, indx)	fs_csp[indx]

/*
 * Cylinder group block for a file system.
 */
#define	CG_MAGIC	0x090255
struct cg {
	int32_t	 cg_firstfield;		/* historic cyl groups linked list */
	int32_t	 cg_magic;		/* magic number */
	int32_t	 cg_old_time;		/* time last written */
	int32_t	 cg_cgx;		/* we are the cgx'th cylinder group */
	int16_t	 cg_old_ncyl;		/* number of cyl's this cg */
	int16_t	 cg_old_niblk;		/* number of inode blocks this cg */
	int32_t	 cg_ndblk;		/* number of data blocks this cg */
	struct	csum cg_cs;		/* cylinder summary information */
	int32_t	 cg_rotor;		/* position of last used block */
	int32_t	 cg_frotor;		/* position of last used frag */
	int32_t	 cg_irotor;		/* position of last used inode */
	int32_t	 cg_frsum[MAXFRAG];	/* counts of available frags */
	int32_t	 cg_old_btotoff;	/* (int32) block totals per cylinder */
	int32_t	 cg_old_boff;		/* (u_int16) free block positions */
	int32_t	 cg_iusedoff;		/* (u_int8) used inode map */
	int32_t	 cg_freeoff;		/* (u_int8) free block map */
	int32_t	 cg_nextfreeoff;	/* (u_int8) next available space */
	int32_t	 cg_clustersumoff;	/* (u_int32) counts of avail clusters */
	int32_t	 cg_clusteroff;		/* (u_int8) free cluster map */
	int32_t	 cg_nclusterblks;	/* number of clusters this cg */
	int32_t  cg_niblk;		/* number of inode blocks this cg */
	int32_t  cg_initediblk;		/* last initialized inode */
	int32_t	 cg_sparecon32[3];	/* reserved for future use */
	int64_t  cg_time;		/* time last written */
	int64_t  cg_sparecon64[3];	/* reserved for future use */
	u_int8_t cg_space[1];		/* space for cylinder group maps */
/* actually longer */
};

/*
 * The following structure is defined
 * for compatibility with old file systems.
 */
struct ocg {
	int32_t  cg_firstfield;		/* historic linked list of cyl groups */
	int32_t  cg_unused_1;		/*     used for incore cyl groups */
	int32_t  cg_time;		/* time last written */
	int32_t  cg_cgx;		/* we are the cgx'th cylinder group */
	int16_t  cg_ncyl;		/* number of cyl's this cg */
	int16_t  cg_niblk;		/* number of inode blocks this cg */
	int32_t  cg_ndblk;		/* number of data blocks this cg */
	struct  csum cg_cs;		/* cylinder summary information */
	int32_t  cg_rotor;		/* position of last used block */
	int32_t  cg_frotor;		/* position of last used frag */
	int32_t  cg_irotor;		/* position of last used inode */
	int32_t  cg_frsum[8];		/* counts of available frags */
	int32_t  cg_btot[32];		/* block totals per cylinder */
	int16_t  cg_b[32][8];		/* positions of free blocks */
	u_int8_t cg_iused[256];		/* used inode map */
	int32_t  cg_magic;		/* magic number */
	u_int8_t cg_free[1];		/* free block map */
/* actually longer */
};


/*
 * Macros for access to cylinder group array structures.
 */
#define old_cg_blktot_old(cgp, ns) \
    (((struct ocg *)(cgp))->cg_btot)
#define old_cg_blks_old(fs, cgp, cylno, ns) \
    (((struct ocg *)(cgp))->cg_b[cylno])

#define old_cg_blktot_new(cgp, ns) \
    ((int32_t *)((u_int8_t *)(cgp) + \
	ufs_rw32((cgp)->cg_old_btotoff, (ns))))
#define old_cg_blks_new(fs, cgp, cylno, ns) \
    ((int16_t *)((u_int8_t *)(cgp) + \
	ufs_rw32((cgp)->cg_old_boff, (ns))) + (cylno) * (fs)->fs_old_nrpos)

#define old_cg_blktot(cgp, ns) \
    ((ufs_rw32((cgp)->cg_magic, (ns)) != CG_MAGIC) ? \
      old_cg_blktot_old(cgp, ns) : old_cg_blktot_new(cgp, ns))
#define old_cg_blks(fs, cgp, cylno, ns) \
    ((ufs_rw32((cgp)->cg_magic, (ns)) != CG_MAGIC) ? \
      old_cg_blks_old(fs, cgp, cylno, ns) : old_cg_blks_new(fs, cgp, cylno, ns))

#define	cg_inosused_new(cgp, ns) \
    ((u_int8_t *)((u_int8_t *)(cgp) + \
	ufs_rw32((cgp)->cg_iusedoff, (ns))))
#define	cg_blksfree_new(cgp, ns) \
    ((u_int8_t *)((u_int8_t *)(cgp) + \
	ufs_rw32((cgp)->cg_freeoff, (ns))))
#define	cg_chkmagic_new(cgp, ns) \
    (ufs_rw32((cgp)->cg_magic, (ns)) == CG_MAGIC)

#define cg_inosused_old(cgp, ns) \
    (((struct ocg *)(cgp))->cg_iused)
#define cg_blksfree_old(cgp, ns) \
    (((struct ocg *)(cgp))->cg_free)
#define cg_chkmagic_old(cgp, ns) \
    (ufs_rw32(((struct ocg *)(cgp))->cg_magic, (ns)) == CG_MAGIC)

#define cg_inosused(cgp, ns) \
    ((ufs_rw32((cgp)->cg_magic, (ns)) != CG_MAGIC) ? \
      cg_inosused_old(cgp, ns) : cg_inosused_new(cgp, ns))
#define cg_blksfree(cgp, ns) \
    ((ufs_rw32((cgp)->cg_magic, (ns)) != CG_MAGIC) ? \
      cg_blksfree_old(cgp, ns) : cg_blksfree_new(cgp, ns))
#define cg_chkmagic(cgp, ns) \
    (cg_chkmagic_new(cgp, ns) || cg_chkmagic_old(cgp, ns))

#define	cg_clustersfree(cgp, ns) \
    ((u_int8_t *)((u_int8_t *)(cgp) + \
	ufs_rw32((cgp)->cg_clusteroff, (ns))))
#define	cg_clustersum(cgp, ns) \
    ((int32_t *)((u_int8_t *)(cgp) + \
	ufs_rw32((cgp)->cg_clustersumoff, (ns))))
    

/*
 * Turn file system block numbers into disk block addresses.
 * This maps file system blocks to device size blocks.
 */
#define	fsbtodb(fs, b)	((b) << (fs)->fs_fsbtodb)
#define	dbtofsb(fs, b)	((b) >> (fs)->fs_fsbtodb)

/*
 * Cylinder group macros to locate things in cylinder groups.
 * They calc file system addresses of cylinder group data structures.
 */
#define	cgbase(fs, c)	(((daddr_t)(fs)->fs_fpg) * (c))
#define	cgstart_ufs1(fs, c) \
    (cgbase(fs, c) + (fs)->fs_old_cgoffset * ((c) & ~((fs)->fs_old_cgmask)))
#define	cgstart_ufs2(fs, c) cgbase((fs), (c))
#define	cgstart(fs, c) ((fs)->fs_magic == FS_UFS2_MAGIC \
			    ? cgstart_ufs2((fs), (c)) : cgstart_ufs1((fs), (c)))
#define	cgdmin(fs, c)	(cgstart(fs, c) + (fs)->fs_dblkno)	/* 1st data */
#define	cgimin(fs, c)	(cgstart(fs, c) + (fs)->fs_iblkno)	/* inode blk */
#define	cgsblock(fs, c)	(cgstart(fs, c) + (fs)->fs_sblkno)	/* super blk */
#define	cgtod(fs, c)	(cgstart(fs, c) + (fs)->fs_cblkno)	/* cg block */

/*
 * Macros for handling inode numbers:
 *     inode number to file system block offset.
 *     inode number to cylinder group number.
 *     inode number to file system block address.
 */
#define	ino_to_cg(fs, x)	((x) / (fs)->fs_ipg)
#define	ino_to_fsba(fs, x)						\
	((daddr_t)(cgimin(fs, ino_to_cg(fs, x)) +			\
	    (blkstofrags((fs), (((x) % (fs)->fs_ipg) / INOPB(fs))))))
#define	ino_to_fsbo(fs, x)	((x) % INOPB(fs))

/*
 * Give cylinder group number for a file system block.
 * Give cylinder group block number for a file system block.
 */
#define	dtog(fs, d)	((d) / (fs)->fs_fpg)
#define	dtogd(fs, d)	((d) % (fs)->fs_fpg)

/*
 * Extract the bits for a block from a map.
 * Compute the cylinder and rotational position of a cyl block addr.
 */
#define	blkmap(fs, map, loc) \
    (((map)[(loc) / NBBY] >> ((loc) % NBBY)) & (0xff >> (NBBY - (fs)->fs_frag)))
#define	old_cbtocylno(fs, bno) \
    (fsbtodb(fs, bno) / (fs)->fs_old_spc)
#define	old_cbtorpos(fs, bno) \
    ((fs)->fs_old_nrpos <= 1 ? 0 : \
     (fsbtodb(fs, bno) % (fs)->fs_old_spc / (fs)->fs_old_nsect * (fs)->fs_old_trackskew + \
      fsbtodb(fs, bno) % (fs)->fs_old_spc % (fs)->fs_old_nsect * (fs)->fs_old_interleave) % \
     (fs)->fs_old_nsect * (fs)->fs_old_nrpos / (fs)->fs_old_npsect)

/*
 * The following macros optimize certain frequently calculated
 * quantities by using shifts and masks in place of divisions
 * modulos and multiplications.
 */
#define	blkoff(fs, loc)		/* calculates (loc % fs->fs_bsize) */ \
	((loc) & (fs)->fs_qbmask)
#define	fragoff(fs, loc)	/* calculates (loc % fs->fs_fsize) */ \
	((loc) & (fs)->fs_qfmask)
#define lfragtosize(fs, frag)	/* calculates ((off_t)frag * fs->fs_fsize) */ \
	(((off_t)(frag)) << (fs)->fs_fshift)
#define	lblktosize(fs, blk)	/* calculates ((off_t)blk * fs->fs_bsize) */ \
	(((off_t)(blk)) << (fs)->fs_bshift)
#define	lblkno(fs, loc)		/* calculates (loc / fs->fs_bsize) */ \
	((loc) >> (fs)->fs_bshift)
#define	numfrags(fs, loc)	/* calculates (loc / fs->fs_fsize) */ \
	((loc) >> (fs)->fs_fshift)
#define	blkroundup(fs, size)	/* calculates roundup(size, fs->fs_bsize) */ \
	(((size) + (fs)->fs_qbmask) & (fs)->fs_bmask)
#define	fragroundup(fs, size)	/* calculates roundup(size, fs->fs_fsize) */ \
	(((size) + (fs)->fs_qfmask) & (fs)->fs_fmask)
#define	fragstoblks(fs, frags)	/* calculates (frags / fs->fs_frag) */ \
	((frags) >> (fs)->fs_fragshift)
#define	blkstofrags(fs, blks)	/* calculates (blks * fs->fs_frag) */ \
	((blks) << (fs)->fs_fragshift)
#define	fragnum(fs, fsb)	/* calculates (fsb % fs->fs_frag) */ \
	((fsb) & ((fs)->fs_frag - 1))
#define	blknum(fs, fsb)		/* calculates rounddown(fsb, fs->fs_frag) */ \
	((fsb) &~ ((fs)->fs_frag - 1))

/*
 * Determine the number of available frags given a
 * percentage to hold in reserve.
 */
#define	freespace(fs, percentreserved) \
	(blkstofrags((fs), (fs)->fs_cstotal.cs_nbfree) + \
	(fs)->fs_cstotal.cs_nffree - \
	(((off_t)((fs)->fs_dsize)) * (percentreserved) / 100))

/*
 * Determining the size of a file block in the file system.
 */
#define	blksize(fs, ip, lbn) \
	(((lbn) >= NDADDR || (ip)->i_size >= lblktosize(fs, (lbn) + 1)) \
	    ? (fs)->fs_bsize \
	    : (fragroundup(fs, blkoff(fs, (ip)->i_size))))

#define sblksize(fs, size, lbn) \
	(((lbn) >= NDADDR || (size) >= ((lbn) + 1) << (fs)->fs_bshift) \
	  ? (fs)->fs_bsize \
	  : (fragroundup(fs, blkoff(fs, (size)))))


/*
 * Number of inodes in a secondary storage block/fragment.
 */
#define	INOPB(fs)	((fs)->fs_inopb)
#define	INOPF(fs)	((fs)->fs_inopb >> (fs)->fs_fragshift)

/*
 * Number of indirects in a file system block.
 */
#define	NINDIR(fs)	((fs)->fs_nindir)

/*
 * Apple UFS Label:
 *  We check for this to decide to use APPLEUFS_DIRBLKSIZ
 */
#define APPLEUFS_LABEL_MAGIC		0x4c41424c /* LABL */
#define APPLEUFS_LABEL_SIZE		1024
#define APPLEUFS_LABEL_OFFSET	(BBSIZE - APPLEUFS_LABEL_SIZE) /* located at 7k */
#define APPLEUFS_LABEL_VERSION	1
#define APPLEUFS_MAX_LABEL_NAME	512

#if 0
struct appleufslabel {
	u_int32_t	ul_magic;
	u_int16_t	ul_checksum;
	u_int16_t	ul_unused0;
	u_int32_t	ul_version;
	u_int32_t	ul_time;
	u_int16_t	ul_namelen;
	u_char	ul_name[APPLEUFS_MAX_LABEL_NAME]; /* Warning: may not be null terminated */
	u_int16_t	ul_unused1;
	u_int64_t	ul_uuid;	/* Note this is only 4 byte aligned */
	u_char	ul_reserved[24];
	u_char	ul_unused[460];
} __attribute__((__packed__));
#endif


#endif /* !_UFS_FFS_FS_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区免费视频| 欧美精品日韩一区| 日本成人在线电影网| 国产人成亚洲第一网站在线播放| 色av成人天堂桃色av| 国产精品99久久久久久久女警 | 91精品国产色综合久久不卡蜜臀| 国产jizzjizz一区二区| 男人操女人的视频在线观看欧美 | 中文av字幕一区| 欧美成人bangbros| 3d成人动漫网站| 色88888久久久久久影院野外| 成人免费看片app下载| 久久福利视频一区二区| 视频一区视频二区在线观看| 亚洲自拍偷拍麻豆| 亚洲日本电影在线| 亚洲欧洲一区二区在线播放| 国产日韩欧美精品电影三级在线| 日韩精品中文字幕在线一区| 欧美另类变人与禽xxxxx| 欧美色涩在线第一页| 91色|porny| 色综合久久久久久久| 精品国产网站在线观看| 欧美日韩电影在线| 欧美麻豆精品久久久久久| 欧美亚洲高清一区二区三区不卡| 色偷偷一区二区三区| 91亚洲精华国产精华精华液| youjizz久久| 91视频观看免费| 91色.com| 欧美天天综合网| 精品视频1区2区3区| 欧美视频中文字幕| 欧美精品日日鲁夜夜添| 777a∨成人精品桃花网| 日韩午夜电影av| 精品99一区二区| 久久久久久久av麻豆果冻| 久久精品人人爽人人爽| 国产日韩一级二级三级| 国产精品美女久久久久高潮| 国产精品网站导航| 亚洲欧美另类在线| 亚洲成人黄色小说| 麻豆国产一区二区| 国产成人免费视频网站高清观看视频| 国产精品一品二品| 91丨porny丨户外露出| 一本色道综合亚洲| 欧美精品一二三区| 久久伊人中文字幕| 中文在线一区二区| 一区二区三区在线不卡| 手机精品视频在线观看| 久久99久久久久| 国产99精品国产| 99久免费精品视频在线观看| 色欧美乱欧美15图片| 欧美精三区欧美精三区| 久久青草欧美一区二区三区| 国产精品午夜免费| 亚洲成精国产精品女| 蜜臀av一区二区在线观看| 国产 欧美在线| 欧美色综合网站| 久久一二三国产| 亚洲女人****多毛耸耸8| 午夜欧美2019年伦理| 国产乱码精品一区二区三区av| 成人深夜福利app| 欧美久久一二区| 国产精品午夜久久| 视频在线观看一区| 不卡一区在线观看| 在线播放中文一区| 中文字幕一区免费在线观看 | 亚洲一二三四区| 麻豆精品国产91久久久久久| av欧美精品.com| 欧美日韩午夜在线| 日本一区二区视频在线| 首页综合国产亚洲丝袜| 久久精品亚洲国产奇米99| 亚洲国产精品久久一线不卡| 国产传媒欧美日韩成人| 欧美日韩一区二区三区在线看 | 国产精品久久久久aaaa| 日韩福利电影在线| 97久久精品人人澡人人爽| 日韩欧美在线123| 亚洲一二三区视频在线观看| 国产老女人精品毛片久久| 欧美剧情片在线观看| 亚洲色图一区二区| 国产一区二区精品久久| 欧美一区二区三区四区久久| 国产精品白丝在线| 狠狠久久亚洲欧美| 欧美日韩一级片网站| 国产精品高潮呻吟久久| 黄色小说综合网站| 777奇米成人网| 亚洲一区二区在线免费看| 成人免费毛片a| 久久精品亚洲国产奇米99| 毛片一区二区三区| 欧美日韩国产成人在线免费| 亚洲免费在线视频一区 二区| 国产成人在线观看免费网站| 精品国产伦一区二区三区免费| 亚洲 欧美综合在线网络| 色就色 综合激情| 亚洲欧洲中文日韩久久av乱码| 国产成人综合视频| 久久一区二区视频| 精品制服美女丁香| 欧美成人aa大片| 久久99精品国产.久久久久| 欧美一区二区美女| 日韩专区欧美专区| 欧美色涩在线第一页| 亚洲丶国产丶欧美一区二区三区| 91麻豆产精品久久久久久| 亚洲欧洲日本在线| 99久久精品费精品国产一区二区| 国产精品情趣视频| 丁香天五香天堂综合| 国产欧美综合在线| 成人性生交大片免费看视频在线 | 91精品国产综合久久精品麻豆| 一区二区在线观看免费| 91小视频免费观看| 亚洲精选视频免费看| 在线视频你懂得一区二区三区| 一区二区欧美国产| 欧美探花视频资源| 丝瓜av网站精品一区二区| 日韩丝袜情趣美女图片| 久久精品国产网站| 久久久久免费观看| 成人免费视频国产在线观看| 亚洲欧美怡红院| 欧美日韩一二区| 美女脱光内衣内裤视频久久影院| 精品国产髙清在线看国产毛片| 国产精品乡下勾搭老头1| 国产精品九色蝌蚪自拍| 91黄色免费版| 日韩欧美aaaaaa| 国产精品一区二区黑丝| 中文字幕一区二区三区在线播放| 91在线精品一区二区三区| 香蕉成人伊视频在线观看| 日韩亚洲欧美在线| 丁香啪啪综合成人亚洲小说| 亚洲狠狠丁香婷婷综合久久久| 欧美精品久久99| 国产精华液一区二区三区| 亚洲欧美经典视频| 日韩欧美国产三级电影视频| 国产成人精品在线看| 一区二区三区免费看视频| 欧美一级高清大全免费观看| 丁香啪啪综合成人亚洲小说| 亚洲国产精品尤物yw在线观看| 日韩欧美高清一区| 91免费国产在线| 美女视频第一区二区三区免费观看网站 | 亚洲高清不卡在线观看| 欧美大片国产精品| 972aa.com艺术欧美| 捆绑调教美女网站视频一区| 亚洲欧洲另类国产综合| 日韩一区二区不卡| 99国产精品视频免费观看| 日韩高清在线电影| 亚洲特级片在线| 精品久久久久久久人人人人传媒| 99国产精品久久久久久久久久| 蜜乳av一区二区三区| 亚洲男女毛片无遮挡| 久久久久久夜精品精品免费| 欧美性高清videossexo| 国产成a人亚洲精品| 婷婷综合另类小说色区| 国产精品人人做人人爽人人添 | 欧美高清激情brazzers| 成人99免费视频| 黄网站免费久久| 亚洲va中文字幕| 国产精品伦一区二区三级视频| 精品少妇一区二区三区免费观看 | 欧美一区二区国产| 色香蕉久久蜜桃| 高清成人在线观看| 久久99精品视频|