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

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

?? yaffs_guts.h

?? 嵌入式linux yaffs文件系統源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* * YAFFS: Yet another FFS. A NAND-flash specific file system.  * yaffs_guts.h: Configuration etc for yaffs_guts * * Copyright (C) 2002 Aleph One Ltd. *   for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning <charles@aleph1.co.uk> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 2.1 as * published by the Free Software Foundation. * * * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. * * $Id: yaffs_guts.h,v 1.16 2003/01/31 03:30:33 charles Exp $ */#ifndef __YAFFS_GUTS_H__#define __YAFFS_GUTS_H__#include "devextras.h"#define YAFFS_OK	1#define YAFFS_FAIL  0// Give us a Y=0x59, // Give us an A=0x41, // Give us an FF=0xFF // Give us an S=0x53// And what have we got... #define YAFFS_MAGIC					0x5941FF53#define YAFFS_NTNODES_LEVEL0	  	16#define YAFFS_TNODES_LEVEL0_BITS	4#define YAFFS_TNODES_LEVEL0_MASK	0xf#define YAFFS_NTNODES_INTERNAL 		(YAFFS_NTNODES_LEVEL0 / 2)#define YAFFS_TNODES_INTERNAL_BITS 	(YAFFS_TNODES_LEVEL0_BITS - 1)#define YAFFS_TNODES_INTERNAL_MASK	0x7#define YAFFS_TNODES_MAX_LEVEL		6		#define YAFFS_BYTES_PER_SPARE		16#define YAFFS_BYTES_PER_CHUNK		512//#define YAFFS_CHUNK_SIZE_SHIFT		9#define YAFFS_CHUNKS_PER_BLOCK		32#define YAFFS_BYTES_PER_BLOCK		(YAFFS_CHUNKS_PER_BLOCK*YAFFS_BYTES_PER_CHUNK)#define YAFFS_MAX_CHUNK_ID			0x000FFFFF#define YAFFS_UNUSED_OBJECT_ID		0x0003FFFF#define YAFFS_ALLOCATION_NOBJECTS	100#define YAFFS_ALLOCATION_NTNODES	100#define YAFFS_ALLOCATION_NLINKS		100#define YAFFS_NOBJECT_BUCKETS		256#define YAFFS_OBJECT_SPACE			0x40000#define YAFFS_MAX_NAME_LENGTH		255#define YAFFS_SHORT_NAME_LENGTH		15#define YAFFS_MAX_ALIAS_LENGTH		159#define YAFFS_OBJECTID_ROOT			1#define YAFFS_OBJECTID_LOSTNFOUND	2#define YAFFS_OBJECTID_UNLINKED		3#define YAFFS_MAX_SHORT_OP_CACHES	20// ChunkCache is used for short read/write operations.typedef struct{	struct yaffs_ObjectStruct *object;	int chunkId;	int lastUse;	int dirty;		int nBytes;	// Only valid if the cache is dirty	__u8 data[YAFFS_BYTES_PER_CHUNK];} yaffs_ChunkCache;// Tags structures in RAM// NB This uses bitfield. Bitfields should not straddle a u32 boundary otherwise// the structure size will get blown out.typedef struct{    unsigned chunkId:20;    unsigned serialNumber:2;    unsigned byteCount:10;    unsigned objectId:18;    unsigned ecc:12;    unsigned unusedStuff:2;} yaffs_Tags;typedef union{    yaffs_Tags asTags;    __u8       asBytes[8];} yaffs_TagsUnion;// Spare structuretypedef struct{    __u8  tagByte0;    __u8  tagByte1;    __u8  tagByte2;    __u8  tagByte3;    __u8  pageStatus; 	// set to 0 to delete the chunk    __u8  blockStatus;    __u8  tagByte4;    __u8  tagByte5;    __u8  ecc1[3];    __u8  tagByte6;    __u8  tagByte7;    __u8  ecc2[3];} yaffs_Spare;//Special structure for passing through to mtdstruct yaffs_NANDSpare {	yaffs_Spare	spare;	int		eccres1;	int		eccres2;};// Block data in RAMtypedef enum {	YAFFS_BLOCK_STATE_UNKNOWN	= 0,	YAFFS_BLOCK_STATE_SCANNING,		// Used while the block is being scanned.									// NB Don't erase blocks while they're being scanned		YAFFS_BLOCK_STATE_EMPTY,		// This block is empty		YAFFS_BLOCK_STATE_ALLOCATING,	// This block is partially allocated. 									// This is the one currently being used for page									// allocation. Should never be more than one of these								YAFFS_BLOCK_STATE_FULL,			// All the pages in this block have been allocated.									// At least one page holds valid data.							 	YAFFS_BLOCK_STATE_DIRTY,		// All pages have been allocated and deleted. 									// Erase me, reuse me.								YAFFS_BLOCK_STATE_DEAD 			// This block has failed and is not in use} yaffs_BlockState;typedef struct{#ifndef CONFIG_YAFFS_NO_YAFFS2	__u32 sequenceNumber;	// block sequence number for yaffs2#endif	int   softDeletions:8;  // number of soft deleted pages    int   pagesInUse:8;		// number of pages in use    __u32 blockState:4; 	// One of the above block states    __u32 needsRetiring:1;	// Data has failed on this block, need to get valid data off    						// and retire the block.} yaffs_BlockInfo;//////////////////// Object structure ///////////////////////////// This is the object structure as stored on NANDtypedef enum{	YAFFS_OBJECT_TYPE_UNKNOWN,	YAFFS_OBJECT_TYPE_FILE,	YAFFS_OBJECT_TYPE_SYMLINK,	YAFFS_OBJECT_TYPE_DIRECTORY,	YAFFS_OBJECT_TYPE_HARDLINK,	YAFFS_OBJECT_TYPE_SPECIAL} yaffs_ObjectType;typedef struct{	yaffs_ObjectType type;	// Apply to everything		int   parentObjectId;	__u16 sum__NoLongerUsed;	// checksum of name. Calc this off the name to prevent inconsistencies	char  name[YAFFS_MAX_NAME_LENGTH + 1];	// Thes following apply to directories, files, symlinks - not hard links	__u32 st_mode;  // protection#ifdef CONFIG_YAFFS_WINCE	__u32 notForWinCE[5];#else	__u32 st_uid;   // user ID of owner	__u32 st_gid;    // group ID of owner 	__u32 st_atime; // time of last access	__u32 st_mtime; // time of last modification	__u32 st_ctime; // time of last change#endif	// File size  applies to files only	int fileSize; 			// Equivalent object id applies to hard links only.	int  equivalentObjectId;		// Alias is for symlinks only.	char alias[YAFFS_MAX_ALIAS_LENGTH + 1];		__u32 st_rdev;  // device stuff for block and char devices (maj/min)	#ifdef CONFIG_YAFFS_WINCE	__u32 win_ctime[2];	__u32 win_atime[2];	__u32 win_mtime[2];	__u32 roomToGrow[6];#else	__u32 roomToGrow[12];#endif	} yaffs_ObjectHeader;////////////////////  Tnode ///////////////////////////union yaffs_Tnode_union{#ifdef CONFIG_YAFFS_TNODE_LIST_DEBUG	union yaffs_Tnode_union *internal[YAFFS_NTNODES_INTERNAL+1];#else	union yaffs_Tnode_union *internal[YAFFS_NTNODES_INTERNAL];#endif	__u16 level0[YAFFS_NTNODES_LEVEL0];	};typedef union yaffs_Tnode_union yaffs_Tnode;struct yaffs_TnodeList_struct{	struct yaffs_TnodeList_struct *next;	yaffs_Tnode *tnodes;};typedef struct yaffs_TnodeList_struct yaffs_TnodeList;///////////////////  Object ////////////////////////////////// An object can be one of:// - a directory (no data, has children links// - a regular file (data.... not prunes :->).// - a symlink [symbolic link] (the alias).// - a hard linktypedef struct {	__u32 fileSize;	__u32 scannedFileSize;	int   topLevel;	yaffs_Tnode *top;} yaffs_FileStructure;typedef struct{	struct list_head children; // list of child links} yaffs_DirectoryStructure;typedef struct{	char *alias;} yaffs_SymLinkStructure;typedef struct{	struct yaffs_ObjectStruct *equivalentObject;	__u32	equivalentObjectId;} yaffs_HardLinkStructure;typedef union{	yaffs_FileStructure fileVariant;	yaffs_DirectoryStructure directoryVariant;	yaffs_SymLinkStructure symLinkVariant;	yaffs_HardLinkStructure hardLinkVariant;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久久久| 国产精品久久久久久久浪潮网站| 欧美成人高清电影在线| 日本一区二区视频在线| 亚洲v日本v欧美v久久精品| 国产伦精品一区二区三区在线观看| 色综合网色综合| 亚洲欧美另类在线| 久久99精品久久久久久久久久久久 | 日韩理论电影院| 久久99久久99小草精品免视看| 日本韩国一区二区| 国产精品动漫网站| 国产大陆a不卡| 日韩三级av在线播放| 一个色妞综合视频在线观看| 欧美综合色免费| 中文字幕在线不卡视频| 国产乱码精品一区二区三区av | 蜜桃视频在线观看一区二区| 91网上在线视频| 国产日韩欧美在线一区| 久久99精品国产麻豆不卡| 欧美图片一区二区三区| 一区二区三区欧美久久| 丁香天五香天堂综合| 精品久久久久久久久久久久久久久久久 | 久久亚洲一级片| 久久狠狠亚洲综合| 精品欧美一区二区三区精品久久 | 欧美亚洲愉拍一区二区| 亚洲欧美日韩国产综合在线 | 色婷婷综合久久| 亚洲色图视频免费播放| 99免费精品在线观看| 国产精品久久久久aaaa| 91美女在线视频| 亚洲自拍与偷拍| 欧美日韩不卡在线| 日本人妖一区二区| 精品裸体舞一区二区三区| 国内精品国产三级国产a久久| 一区二区三区在线看| 色婷婷综合视频在线观看| 亚洲乱码一区二区三区在线观看| 91丨九色porny丨蝌蚪| 亚洲精品日产精品乱码不卡| 在线精品视频一区二区三四| 亚洲成av人影院| 日韩欧美一级二级三级久久久| 久久国产综合精品| 国产欧美视频在线观看| 91视视频在线观看入口直接观看www| 成人欧美一区二区三区| 欧美三级日韩三级| 久久99国产精品免费网站| 欧美国产一区二区| 色婷婷综合久久久久中文 | 国产亚洲综合av| 99久久免费国产| 亚洲第一精品在线| 欧美v国产在线一区二区三区| 国产精品18久久久久| 亚洲欧美一区二区三区孕妇| 欧美无砖砖区免费| 韩国毛片一区二区三区| 亚洲精品视频一区二区| 日韩无一区二区| 97久久精品人人做人人爽50路| 亚洲高清三级视频| 国产成人一区在线| 亚洲成人一二三| 久久久精品综合| 久久久九九九九| 欧美综合一区二区| 国产传媒日韩欧美成人| 亚洲va欧美va人人爽| 国产视频一区二区在线| 精品污污网站免费看| 国产91精品一区二区麻豆亚洲| 亚洲国产一区二区三区| 国产清纯白嫩初高生在线观看91| 色久优优欧美色久优优| 国产揄拍国内精品对白| 亚洲国产精品一区二区www| 久久久久久97三级| 欧美日韩高清一区| 99久久婷婷国产综合精品| 美女高潮久久久| 亚洲图片激情小说| 久久午夜免费电影| 7777精品伊人久久久大香线蕉| 不卡的av电影| 国产一区二区在线观看视频| 日日夜夜精品视频免费| 亚洲精品免费在线观看| 中文字幕不卡一区| 国产丝袜欧美中文另类| 欧美一区二区三区电影| 欧美色中文字幕| 91看片淫黄大片一级在线观看| 国产福利91精品一区二区三区| 蜜臀av性久久久久av蜜臀妖精| 亚洲高清三级视频| 一区二区三区免费看视频| 亚洲视频你懂的| 国产精品久久久久久久久免费樱桃 | 午夜久久久久久| 亚洲精品你懂的| 国产一区二区女| 久久精品理论片| 蜜桃视频一区二区| 美脚の诱脚舐め脚责91| 欧美aaa在线| 蜜桃一区二区三区四区| 免费一级欧美片在线观看| 日韩电影一二三区| 久久精品免费观看| 国内欧美视频一区二区| 韩国v欧美v亚洲v日本v| 国产美女在线观看一区| 国产精品香蕉一区二区三区| 国产成人免费视频网站| 成人国产精品免费观看| 99v久久综合狠狠综合久久| av高清不卡在线| 色哟哟日韩精品| 欧美日韩亚洲综合在线| 337p亚洲精品色噜噜噜| 日韩欧美激情四射| 国产色一区二区| 国产精品美女一区二区| 亚洲猫色日本管| 天天射综合影视| 国产麻豆精品一区二区| 成人av在线影院| 欧美日韩国产精选| 欧美va在线播放| 国产精品成人一区二区艾草 | 亚洲欧美日韩国产另类专区 | 国产日产欧产精品推荐色 | 一区二区三区四区蜜桃| 性欧美大战久久久久久久久| 免费在线观看一区| 豆国产96在线|亚洲| 色94色欧美sute亚洲线路一久| 日韩一区二区中文字幕| 免费人成精品欧美精品 | 日韩女优电影在线观看| 国产视频911| 亚洲一区二区视频在线| 免费观看在线色综合| 国产不卡在线视频| 欧美系列亚洲系列| 国产午夜亚洲精品理论片色戒 | 亚洲成年人影院| 韩国视频一区二区| 欧美自拍偷拍午夜视频| 亚洲精品在线免费播放| 亚洲综合视频在线观看| 激情图片小说一区| 欧美系列在线观看| 欧美激情一二三区| 奇米精品一区二区三区在线观看| 成人黄色小视频在线观看| 欧美一区二区三区四区视频| 国产精品传媒视频| 国产伦精品一区二区三区免费| 欧美影院精品一区| 国产精品美女一区二区三区| 久久精品久久精品| 欧美日韩一区二区三区在线| 国产精品欧美久久久久无广告| 首页综合国产亚洲丝袜| 91视频免费观看| 久久久不卡影院| 美女性感视频久久| 欧美日韩国产在线播放网站| 国产精品电影一区二区三区| 国产专区综合网| 欧美一级一区二区| 午夜在线成人av| 91黄色激情网站| 亚洲欧美综合另类在线卡通| 黄色资源网久久资源365| 在线不卡免费欧美| 亚洲影视资源网| 91老司机福利 在线| 国产精品每日更新| 国产精品一区二区不卡| 欧美不卡在线视频| 蜜乳av一区二区三区| 欧美日韩一区二区三区在线| 一区二区不卡在线播放 | 另类小说色综合网站| 欧美一区二区性放荡片| 日本欧洲一区二区| 91精品国产入口| 麻豆成人av在线| 久久综合九色欧美综合狠狠|