-typedef struct yaffs_DeviceStruct yaffs_Device;
-
-// Function to manipulate block info
-static Y_INLINE yaffs_BlockInfo *yaffs_GetBlockInfo(yaffs_Device * dev, int blk)
-{
- if (blk < dev->internalStartBlock || blk > dev->internalEndBlock) {
- T(YAFFS_TRACE_ERROR,
- (TSTR
- ("**>> yaffs: getBlockInfo block %d is not valid" TENDSTR),
- blk));
- YBUG();
- }
- return &dev->blockInfo[blk - dev->internalStartBlock];
-}
-
-//////////// YAFFS Functions //////////////////
-
-int yaffs_GutsInitialise(yaffs_Device * dev);
-void yaffs_Deinitialise(yaffs_Device * dev);
-
-int yaffs_GetNumberOfFreeChunks(yaffs_Device * dev);
-
-// Rename
-int yaffs_RenameObject(yaffs_Object * oldDir, const YCHAR * oldName,
- yaffs_Object * newDir, const YCHAR * newName);
-
-// generic Object functions
-int yaffs_Unlink(yaffs_Object * dir, const YCHAR * name);
-int yaffs_DeleteFile(yaffs_Object * obj);
-
-// Object access functions.
-int yaffs_GetObjectName(yaffs_Object * obj, YCHAR * name, int buffSize);
-int yaffs_GetObjectFileLength(yaffs_Object * obj);
-int yaffs_GetObjectInode(yaffs_Object * obj);
-unsigned yaffs_GetObjectType(yaffs_Object * obj);
-int yaffs_GetObjectLinkCount(yaffs_Object * obj);
-
-// Change inode attributes
-int yaffs_SetAttributes(yaffs_Object * obj, struct iattr *attr);
-int yaffs_GetAttributes(yaffs_Object * obj, struct iattr *attr);
-
-// File operations
-int yaffs_ReadDataFromFile(yaffs_Object * obj, __u8 * buffer, __u32 offset,
- int nBytes);
-int yaffs_WriteDataToFile(yaffs_Object * obj, const __u8 * buffer, __u32 offset,
- int nBytes, int writeThrough);
-int yaffs_ResizeFile(yaffs_Object * obj, int newSize);
-
-yaffs_Object *yaffs_MknodFile(yaffs_Object * parent, const YCHAR * name,
- __u32 mode, __u32 uid, __u32 gid);
-int yaffs_FlushFile(yaffs_Object * obj, int updateTime);
-
-// Directory operations
-yaffs_Object *yaffs_MknodDirectory(yaffs_Object * parent, const YCHAR * name,
- __u32 mode, __u32 uid, __u32 gid);
-yaffs_Object *yaffs_FindObjectByName(yaffs_Object * theDir, const YCHAR * name);
-int yaffs_ApplyToDirectoryChildren(yaffs_Object * theDir,
- int (*fn) (yaffs_Object *));
-
-yaffs_Object *yaffs_FindObjectByNumber(yaffs_Device * dev, __u32 number);
-
-// Link operations
-yaffs_Object *yaffs_Link(yaffs_Object * parent, const YCHAR * name,
- yaffs_Object * equivalentObject);
-
-yaffs_Object *yaffs_GetEquivalentObject(yaffs_Object * obj);
-
-// Symlink operations
-yaffs_Object *yaffs_MknodSymLink(yaffs_Object * parent, const YCHAR * name,
- __u32 mode, __u32 uid, __u32 gid,
- const YCHAR * alias);
-YCHAR *yaffs_GetSymlinkAlias(yaffs_Object * obj);
-
-// Special inodes (fifos, sockets and devices)
-yaffs_Object *yaffs_MknodSpecial(yaffs_Object * parent, const YCHAR * name,
- __u32 mode, __u32 uid, __u32 gid, __u32 rdev);
-
-// Special directories
-yaffs_Object *yaffs_Root(yaffs_Device * dev);
-yaffs_Object *yaffs_LostNFound(yaffs_Device * dev);