summaryrefslogtreecommitdiff
path: root/yaffs_guts.h
diff options
context:
space:
mode:
authorCharles Manning <cdhmanning@gmail.com>2010-07-21 15:23:56 +1200
committerCharles Manning <cdhmanning@gmail.com>2010-07-21 15:23:56 +1200
commit4a700fe570d217c2c5df87070db7c2652bc0eaaf (patch)
treeaae6bbaf2904b651fd7603d1a29821c1f32c4df1 /yaffs_guts.h
parent25f6e492e7010f585367a4f6abf4d2e17c5c0e1a (diff)
yaffs Refactor yaffs direct device list management, add nand abstraction, divide up test code
This all makes for a far cleaner layout of test code. The new yaffs direct list management allows partitions to be added synamically rather than statically. This is better for OSs that install partitions at runtime (eg. WInCE). The nand abstraction makes it tidier to add a new nand driver to yaffs direct and test code. The test code has been repartitioned to make porting and file management cleaner. Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Diffstat (limited to 'yaffs_guts.h')
-rw-r--r--yaffs_guts.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/yaffs_guts.h b/yaffs_guts.h
index c6e49c4..b7e2f4b 100644
--- a/yaffs_guts.h
+++ b/yaffs_guts.h
@@ -16,8 +16,9 @@
#ifndef __YAFFS_GUTS_H__
#define __YAFFS_GUTS_H__
-#include "devextras.h"
#include "yportenv.h"
+#include "devextras.h"
+#include "yaffs_list.h"
#define YAFFS_OK 1
#define YAFFS_FAIL 0
@@ -598,6 +599,10 @@ struct yaffs_DeviceParamStruct {
int disableSoftDelete; /* yaffs 1 only: Set to disable the use of softdeletion. */
int deferDirectoryUpdate; /* Set to defer directory updates */
+
+#ifdef CONFIG_YAFFS_AUTO_UNICODE
+ int autoUnicode;
+#endif
};
@@ -608,7 +613,10 @@ struct yaffs_DeviceStruct {
/* Context storage. Holds extra OS specific data for this device */
- void *context;
+ void *osContext;
+ void *driverContext;
+
+ struct ylist_head devList;
/* Runtime parameters. Set up by YAFFS. */
int nDataBytesPerChunk;
@@ -928,6 +936,7 @@ yaffs_Object *yaffs_FindOrCreateObjectByNumber(yaffs_Device *dev,
int yaffs_PutChunkIntoFile(yaffs_Object *in, int chunkInInode,
int chunkInNAND, int inScan);
void yaffs_SetObjectName(yaffs_Object *obj, const YCHAR *name);
+void yaffs_SetObjectNameFromOH(yaffs_Object *obj, const yaffs_ObjectHeader *oh);
void yaffs_AddObjectToDirectory(yaffs_Object *directory,
yaffs_Object *obj);
YCHAR *yaffs_CloneString(const YCHAR *str);