X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=yaffs_guts.h;h=84b53aacf05403fd2c9a927cbdf0b13b10fa8e13;hb=5ea7d7c7d87b076ac176282bff6eeddf329da2c4;hp=8c0b782492af595dcaf7afe7f0c7284293e7459c;hpb=c565b5da13774bc9d5f661d93a127ba86a8769e7;p=yaffs2.git diff --git a/yaffs_guts.h b/yaffs_guts.h index 8c0b782..84b53aa 100644 --- a/yaffs_guts.h +++ b/yaffs_guts.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. * - * Copyright (C) 2002-2007 Aleph One Ltd. + * Copyright (C) 2002-2010 Aleph One Ltd. * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning @@ -564,6 +564,8 @@ struct yaffs_DeviceParamStruct { __u8 skipCheckpointRead; __u8 skipCheckpointWrite; + int enableXattr; /* Enable xattribs */ + /* NAND access functions (Must be set before calling YAFFS)*/ int (*writeChunkToNAND) (struct yaffs_DeviceStruct *dev, @@ -763,8 +765,10 @@ struct yaffs_DeviceStruct { __u32 nBlockErasures; __u32 nErasureFailures; __u32 nGCCopies; - __u32 garbageCollections; - __u32 passiveGarbageCollections; + __u32 allGCs; + __u32 passiveGCs; + __u32 oldestDirtyGCs; + __u32 backgroundGCs; __u32 nRetriedWrites; __u32 nRetiredBlocks; __u32 eccFixed; @@ -884,6 +888,12 @@ YCHAR *yaffs_GetSymlinkAlias(yaffs_Object *obj); yaffs_Object *yaffs_MknodSpecial(yaffs_Object *parent, const YCHAR *name, __u32 mode, __u32 uid, __u32 gid, __u32 rdev); + +int yaffs_SetXAttribute(yaffs_Object *obj, const char *name, const void * value, int size, int flags); +int yaffs_GetXAttribute(yaffs_Object *obj, const char *name, void *value, int size); +int yaffs_ListXAttributes(yaffs_Object *obj, char *buffer, int size); +int yaffs_RemoveXAttribute(yaffs_Object *obj, const char *name); + /* Special directories */ yaffs_Object *yaffs_Root(yaffs_Device *dev); yaffs_Object *yaffs_LostNFound(yaffs_Device *dev); @@ -897,7 +907,7 @@ void yaffs_HandleDeferedFree(yaffs_Object *obj); void yaffs_UpdateDirtyDirectories(yaffs_Device *dev); -int yaffs_BackgroundGarbageCollect(yaffs_Device *dev); +int yaffs_BackgroundGarbageCollect(yaffs_Device *dev, unsigned urgency); /* Debug dump */ int yaffs_DumpObject(yaffs_Object *obj);