From: Charles Manning Date: Wed, 3 Nov 2010 03:21:38 +0000 (+1300) Subject: Merge branch 'master' of ssh://www.aleph1.co.uk/home/aleph1/git/yaffs2 X-Git-Tag: linux-mainline-patchset-4~132 X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=5409719091c79983abc45bcc3070bce6786c8278;hp=-c Merge branch 'master' of ssh://aleph1.co.uk/home/aleph1/git/yaffs2 --- 5409719091c79983abc45bcc3070bce6786c8278 diff --combined direct/yaffsfs.c index 5c583b9,64a9491..b187142 --- a/direct/yaffsfs.c +++ b/direct/yaffsfs.c @@@ -31,8 -31,8 +31,8 @@@ #define YAFFSFS_RW_SIZE (1<iObj; @@@ -290,7 -302,7 +302,7 @@@ int yaffsfs_IsPathDivider(YCHAR ch -YLIST_HEAD(yaffsfs_deviceList); +LIST_HEAD(yaffsfs_deviceList); /* * yaffsfs_FindDevice @@@ -299,13 -311,13 +311,13 @@@ * Curveballs: Should match paths that end in '/' too * Curveball2 Might have "/x/ and "/x/y". Need to return the longest match */ -static yaffs_dev_t *yaffsfs_FindDevice(const YCHAR *path, YCHAR **restOfPath) +static struct yaffs_dev *yaffsfs_FindDevice(const YCHAR *path, YCHAR **restOfPath) { - struct ylist_head *cfg; + struct list_head *cfg; const YCHAR *leftOver; const YCHAR *p; - yaffs_dev_t *retval = NULL; - yaffs_dev_t *dev = NULL; + struct yaffs_dev *retval = NULL; + struct yaffs_dev *dev = NULL; int thisMatchLength; int longestMatch = -1; int matching; @@@ -315,8 -327,8 +327,8 @@@ * 1) Actually matches a prefix (ie /a amd /abc will not match * 2) Matches the longest. */ - ylist_for_each(cfg, &yaffsfs_deviceList){ - dev = ylist_entry(cfg, yaffs_dev_t, dev_list); + list_for_each(cfg, &yaffsfs_deviceList){ + dev = list_entry(cfg, struct yaffs_dev, dev_list); leftOver = path; p = dev->param.name; thisMatchLength = 0; @@@ -371,12 -383,12 +383,12 @@@ } #if 0 -static yaffs_dev_t *yaffsfs_FindDevice(const YCHAR *path, YCHAR **restOfPath) +static struct yaffs_dev *yaffsfs_FindDevice(const YCHAR *path, YCHAR **restOfPath) { yaffsfs_DeviceConfiguration *cfg = yaffsfs_configurationList; const YCHAR *leftOver; const YCHAR *p; - yaffs_dev_t *retval = NULL; + struct yaffs_dev *retval = NULL; int thisMatchLength; int longestMatch = -1; @@@ -413,10 -425,10 +425,10 @@@ } #endif -static yaffs_obj_t *yaffsfs_FindRoot(const YCHAR *path, YCHAR **restOfPath) +static struct yaffs_obj *yaffsfs_FindRoot(const YCHAR *path, YCHAR **restOfPath) { - yaffs_dev_t *dev; + struct yaffs_dev *dev; dev= yaffsfs_FindDevice(path,restOfPath); if(dev && dev->is_mounted){ @@@ -425,7 -437,7 +437,7 @@@ return NULL; } -static yaffs_obj_t *yaffsfs_FollowLink(yaffs_obj_t *obj,int symDepth) +static struct yaffs_obj *yaffsfs_FollowLink(struct yaffs_obj *obj,int symDepth) { if(obj) @@@ -451,10 -463,10 +463,10 @@@ * * eg. "/data/xx/ff" --> puts name="ff" and returns the directory "/data/xx" */ -static yaffs_obj_t *yaffsfs_DoFindDirectory(yaffs_obj_t *startDir, +static struct yaffs_obj *yaffsfs_DoFindDirectory(struct yaffs_obj *startDir, const YCHAR *path, YCHAR **name, int symDepth) { - yaffs_obj_t *dir; + struct yaffs_obj *dir; YCHAR *restOfPath; YCHAR str[YAFFS_MAX_NAME_LENGTH+1]; int i; @@@ -514,7 -526,7 +526,7 @@@ return NULL; } -static yaffs_obj_t *yaffsfs_FindDirectory(yaffs_obj_t *relativeDirectory, +static struct yaffs_obj *yaffsfs_FindDirectory(struct yaffs_obj *relativeDirectory, const YCHAR *path,YCHAR **name,int symDepth) { return yaffsfs_DoFindDirectory(relativeDirectory,path,name,symDepth); @@@ -523,10 -535,10 +535,10 @@@ /* * yaffsfs_FindObject turns a path for an existing object into the object */ -static yaffs_obj_t *yaffsfs_FindObject(yaffs_obj_t *relativeDirectory, const YCHAR *path,int symDepth, int getEquiv) +static struct yaffs_obj *yaffsfs_FindObject(struct yaffs_obj *relativeDirectory, const YCHAR *path,int symDepth, int getEquiv) { - yaffs_obj_t *dir; - yaffs_obj_t *obj; + struct yaffs_obj *dir; + struct yaffs_obj *obj; YCHAR *name; dir = yaffsfs_FindDirectory(relativeDirectory,path,&name,symDepth); @@@ -575,8 -587,8 +587,8 @@@ int yaffs_dup(int fd int yaffs_open_sharing(const YCHAR *path, int oflag, int mode, int sharing) { - yaffs_obj_t *obj = NULL; - yaffs_obj_t *dir = NULL; + struct yaffs_obj *obj = NULL; + struct yaffs_obj *dir = NULL; YCHAR *name; int handle = -1; yaffsfs_Handle *yh = NULL; @@@ -584,14 -596,14 +596,14 @@@ int symDepth = 0; int errorReported = 0; int rwflags = oflag & ( O_RDWR | O_RDONLY | O_WRONLY); - __u8 shareRead = (sharing & YAFFS_SHARE_READ) ? 1 : 0; - __u8 shareWrite = (sharing & YAFFS_SHARE_WRITE) ? 1 : 0; - __u8 sharedReadAllowed; - __u8 sharedWriteAllowed; - __u8 alreadyReading; - __u8 alreadyWriting; - __u8 readRequested; - __u8 writeRequested; + u8 shareRead = (sharing & YAFFS_SHARE_READ) ? 1 : 0; + u8 shareWrite = (sharing & YAFFS_SHARE_WRITE) ? 1 : 0; + u8 sharedReadAllowed; + u8 sharedWriteAllowed; + u8 alreadyReading; + u8 alreadyWriting; + u8 readRequested; + u8 writeRequested; /* O_EXCL only has meaning if O_CREAT is specified */ if(!(oflag & O_CREAT)) @@@ -817,14 -829,14 +829,14 @@@ int yaffs_close(int fd int yaffsfs_do_read(int fd, void *vbuf, unsigned int nbyte, int isPread, int offset) { yaffsfs_Handle *h = NULL; - yaffs_obj_t *obj = NULL; + struct yaffs_obj *obj = NULL; int pos = 0; int startPos = 0; int nRead = 0; int nToRead = 0; int totalRead = 0; unsigned int maxRead; - __u8 *buf = (__u8 *)vbuf; + u8 *buf = (u8 *)vbuf; yaffsfs_Lock(); h = yaffsfs_GetHandlePointer(fd); @@@ -913,14 -925,14 +925,14 @@@ int yaffs_pread(int fd, void *buf, unsi int yaffsfs_do_write(int fd, const void *vbuf, unsigned int nbyte, int isPwrite, int offset) { yaffsfs_Handle *h = NULL; - yaffs_obj_t *obj = NULL; + struct yaffs_obj *obj = NULL; int pos = 0; int startPos = 0; int nWritten = 0; int totalWritten = 0; int write_trhrough = 0; int nToWrite = 0; - const __u8 *buf = (const __u8 *)vbuf; + const u8 *buf = (const u8 *)vbuf; yaffsfs_Lock(); h = yaffsfs_GetHandlePointer(fd); @@@ -1000,7 -1012,7 +1012,7 @@@ int yaffs_pwrite(int fd, const void *bu int yaffs_truncate(const YCHAR *path,off_t new_size) { - yaffs_obj_t *obj = NULL; + struct yaffs_obj *obj = NULL; int result = YAFFS_FAIL; yaffsfs_Lock(); @@@ -1025,7 -1037,7 +1037,7 @@@ int yaffs_ftruncate(int fd, off_t new_size) { yaffsfs_Handle *h = NULL; - yaffs_obj_t *obj = NULL; + struct yaffs_obj *obj = NULL; int result = 0; yaffsfs_Lock(); @@@ -1050,7 -1062,7 +1062,7 @@@ off_t yaffs_lseek(int fd, off_t offset, int whence) { yaffsfs_Handle *h = NULL; - yaffs_obj_t *obj = NULL; + struct yaffs_obj *obj = NULL; int pos = -1; int fSize = -1; @@@ -1088,8 -1100,8 +1100,8 @@@ int yaffsfs_DoUnlink(const YCHAR *path,int isDirectory) { - yaffs_obj_t *dir = NULL; - yaffs_obj_t *obj = NULL; + struct yaffs_obj *dir = NULL; + struct yaffs_obj *obj = NULL; YCHAR *name; int result = YAFFS_FAIL; @@@ -1134,9 -1146,9 +1146,9 @@@ int yaffs_unlink(const YCHAR *path int yaffs_rename(const YCHAR *oldPath, const YCHAR *newPath) { - yaffs_obj_t *olddir = NULL; - yaffs_obj_t *newdir = NULL; - yaffs_obj_t *obj = NULL; + struct yaffs_obj *olddir = NULL; + struct yaffs_obj *newdir = NULL; + struct yaffs_obj *obj = NULL; YCHAR *oldname; YCHAR *newname; int result= YAFFS_FAIL; @@@ -1167,7 -1179,7 +1179,7 @@@ * Do this by tracing from the new directory back to the root, checking for obj */ - yaffs_obj_t *xx = newdir; + struct yaffs_obj *xx = newdir; while( rename_allowed && xx){ if(xx == obj) @@@ -1187,7 -1199,7 +1199,7 @@@ } -static int yaffsfs_DoStat(yaffs_obj_t *obj,struct yaffs_stat *buf) +static int yaffsfs_DoStat(struct yaffs_obj *obj,struct yaffs_stat *buf) { int retVal = -1; @@@ -1231,7 -1243,7 +1243,7 @@@ static int yaffsfs_DoStatOrLStat(const YCHAR *path, struct yaffs_stat *buf,int doLStat) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1266,7 -1278,7 +1278,7 @@@ int yaffs_lstat(const YCHAR *path, stru int yaffs_fstat(int fd, struct yaffs_stat *buf) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1290,7 -1302,7 +1302,7 @@@ static int yaffs_do_setxattr(const YCHAR *path, const char *name, const void *data, int size, int flags, int follow) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1331,7 -1343,7 +1343,7 @@@ int yaffs_lsetxattr(const YCHAR *path, int yaffs_fsetxattr(int fd, const char *name, const void *data, int size, int flags) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1355,7 -1367,7 +1367,7 @@@ static int yaffs_do_getxattr(const YCHAR *path, const char *name, void *data, int size, int follow) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1395,7 -1407,7 +1407,7 @@@ int yaffs_lgetxattr(const YCHAR *path, int yaffs_fgetxattr(int fd, const char *name, void *data, int size) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1419,7 -1431,7 +1431,7 @@@ static int yaffs_do_listxattr(const YCHAR *path, char *data, int size, int follow) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1458,7 -1470,7 +1470,7 @@@ int yaffs_llistxattr(const YCHAR *path int yaffs_flistxattr(int fd, char *data, int size) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1482,7 -1494,7 +1494,7 @@@ static int yaffs_do_removexattr(const YCHAR *path, const char *name, int follow) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1521,7 -1533,7 +1533,7 @@@ int yaffs_lremovexattr(const YCHAR *pat int yaffs_fremovexattr(int fd, const char *name) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1547,7 -1559,7 +1559,7 @@@ #ifdef CONFIG_YAFFS_WINCE int yaffs_get_wince_times(int fd, unsigned *wctime, unsigned *watime, unsigned *wmtime) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1586,7 -1598,7 +1598,7 @@@ int yaffs_set_wince_times(int fd const unsigned *watime, const unsigned *wmtime) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int result; int retVal = -1; @@@ -1623,7 -1635,7 +1635,7 @@@ #endif -static int yaffsfs_DoChMod(yaffs_obj_t *obj,mode_t mode) +static int yaffsfs_DoChMod(struct yaffs_obj *obj,mode_t mode) { int result = -1; @@@ -1642,7 -1654,7 +1654,7 @@@ int yaffs_access(const YCHAR *path, int amode) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retval = 0; @@@ -1679,7 -1691,7 +1691,7 @@@ int yaffs_chmod(const YCHAR *path, mode_t mode) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1703,7 -1715,7 +1715,7 @@@ int yaffs_fchmod(int fd, mode_t mode) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; int retVal = -1; @@@ -1725,8 -1737,8 +1737,8 @@@ int yaffs_mkdir(const YCHAR *path, mode_t mode) { - yaffs_obj_t *parent = NULL; - yaffs_obj_t *dir = NULL; + struct yaffs_obj *parent = NULL; + struct yaffs_obj *dir = NULL; YCHAR *name; YCHAR *use_path = NULL; int path_length = 0; @@@ -1795,7 -1807,7 +1807,7 @@@ void * yaffs_getdev(const YCHAR *path) { - yaffs_dev_t *dev=NULL; + struct yaffs_dev *dev=NULL; YCHAR *dummy; dev = yaffsfs_FindDevice(path,&dummy); return (void *)dev; @@@ -1805,7 -1817,7 +1817,7 @@@ int yaffs_mount2(const YCHAR *path,int { int retVal=-1; int result=YAFFS_FAIL; - yaffs_dev_t *dev=NULL; + struct yaffs_dev *dev=NULL; YCHAR *dummy; T(YAFFS_TRACE_ALWAYS,(TSTR("yaffs: Mounting %s" TENDSTR),path)); @@@ -1845,7 -1857,7 +1857,7 @@@ int yaffs_mount(const YCHAR *path int yaffs_sync(const YCHAR *path) { int retVal=-1; - yaffs_dev_t *dev=NULL; + struct yaffs_dev *dev=NULL; YCHAR *dummy; yaffsfs_Lock(); @@@ -1873,7 -1885,7 +1885,7 @@@ int yaffs_remount(const YCHAR *path, int force, int read_only) { int retVal=-1; - yaffs_dev_t *dev=NULL; + struct yaffs_dev *dev=NULL; YCHAR *dummy; yaffsfs_Lock(); @@@ -1913,7 -1925,7 +1925,7 @@@ int yaffs_unmount2(const YCHAR *path, int force) { int retVal=-1; - yaffs_dev_t *dev=NULL; + struct yaffs_dev *dev=NULL; YCHAR *dummy; yaffsfs_Lock(); @@@ -1961,7 -1973,7 +1973,7 @@@ int yaffs_unmount(const YCHAR *path loff_t yaffs_freespace(const YCHAR *path) { loff_t retVal=-1; - yaffs_dev_t *dev=NULL; + struct yaffs_dev *dev=NULL; YCHAR *dummy; yaffsfs_Lock(); @@@ -1980,7 -1992,7 +1992,7 @@@ loff_t yaffs_totalspace(const YCHAR *path) { loff_t retVal=-1; - yaffs_dev_t *dev=NULL; + struct yaffs_dev *dev=NULL; YCHAR *dummy; yaffsfs_Lock(); @@@ -2000,7 -2012,7 +2012,7 @@@ int yaffs_inodecount(const YCHAR *path) { loff_t retVal= -1; - yaffs_dev_t *dev=NULL; + struct yaffs_dev *dev=NULL; YCHAR *dummy; yaffsfs_Lock(); @@@ -2019,20 -2031,20 +2031,20 @@@ } -void yaffs_add_device(yaffs_dev_t *dev) +void yaffs_add_device(struct yaffs_dev *dev) { dev->is_mounted = 0; dev->param.remove_obj_fn = yaffsfs_RemoveObjectCallback; if(!dev->dev_list.next) - YINIT_LIST_HEAD(&dev->dev_list); + INIT_LIST_HEAD(&dev->dev_list); - ylist_add(&dev->dev_list,&yaffsfs_deviceList); + list_add(&dev->dev_list,&yaffsfs_deviceList); } -void yaffs_remove_device(yaffs_dev_t *dev) +void yaffs_remove_device(struct yaffs_dev *dev) { - ylist_del_init(&dev->dev_list); + list_del_init(&dev->dev_list); } @@@ -2049,18 -2061,18 +2061,18 @@@ typedef struct { - __u32 magic; + u32 magic; yaffs_dirent de; /* directory entry being used by this dsc */ YCHAR name[NAME_MAX+1]; /* name of directory being searched */ - yaffs_obj_t *dirObj; /* ptr to directory being searched */ - yaffs_obj_t *nextReturn; /* obj to be returned by next readddir */ + struct yaffs_obj *dirObj; /* ptr to directory being searched */ + struct yaffs_obj *nextReturn; /* obj to be returned by next readddir */ int offset; - struct ylist_head others; + struct list_head others; } yaffsfs_DirectorySearchContext; -static struct ylist_head search_contexts; +static struct list_head search_contexts; static void yaffsfs_SetDirRewound(yaffsfs_DirectorySearchContext *dsc) @@@ -2071,11 -2083,11 +2083,11 @@@ dsc->offset = 0; - if( ylist_empty(&dsc->dirObj->variant.dir_variant.children)) + if( list_empty(&dsc->dirObj->variant.dir_variant.children)) dsc->nextReturn = NULL; else - dsc->nextReturn = ylist_entry(dsc->dirObj->variant.dir_variant.children.next, - yaffs_obj_t,siblings); + dsc->nextReturn = list_entry(dsc->dirObj->variant.dir_variant.children.next, + struct yaffs_obj,siblings); } else { /* Hey someone isn't playing nice! */ } @@@ -2088,25 -2100,25 +2100,25 @@@ static void yaffsfs_DirAdvance(yaffsfs_ dsc->dirObj->variant_type == YAFFS_OBJECT_TYPE_DIRECTORY){ if( dsc->nextReturn == NULL || - ylist_empty(&dsc->dirObj->variant.dir_variant.children)) + list_empty(&dsc->dirObj->variant.dir_variant.children)) dsc->nextReturn = NULL; else { - struct ylist_head *next = dsc->nextReturn->siblings.next; + struct list_head *next = dsc->nextReturn->siblings.next; if( next == &dsc->dirObj->variant.dir_variant.children) dsc->nextReturn = NULL; /* end of list */ else - dsc->nextReturn = ylist_entry(next,yaffs_obj_t,siblings); + dsc->nextReturn = list_entry(next,struct yaffs_obj,siblings); } } else { /* Hey someone isn't playing nice! */ } } -static void yaffsfs_RemoveObjectCallback(yaffs_obj_t *obj) +static void yaffsfs_RemoveObjectCallback(struct yaffs_obj *obj) { - struct ylist_head *i; + struct list_head *i; yaffsfs_DirectorySearchContext *dsc; /* if search contexts not initilised then skip */ @@@ -2117,9 -2129,9 +2129,9 @@@ * If any are the one being removed, then advance the dsc to * the next one to prevent a hanging ptr. */ - ylist_for_each(i, &search_contexts) { + list_for_each(i, &search_contexts) { if (i) { - dsc = ylist_entry(i, yaffsfs_DirectorySearchContext,others); + dsc = list_entry(i, yaffsfs_DirectorySearchContext,others); if(dsc->nextReturn == obj) yaffsfs_DirAdvance(dsc); } @@@ -2130,7 -2142,7 +2142,7 @@@ yaffs_DIR *yaffs_opendir(const YCHAR *dirname) { yaffs_DIR *dir = NULL; - yaffs_obj_t *obj = NULL; + struct yaffs_obj *obj = NULL; yaffsfs_DirectorySearchContext *dsc = NULL; yaffsfs_Lock(); @@@ -2147,12 -2159,12 +2159,12 @@@ dsc->magic = YAFFS_MAGIC; dsc->dirObj = obj; yaffs_strncpy(dsc->name,dirname,NAME_MAX); - YINIT_LIST_HEAD(&dsc->others); + INIT_LIST_HEAD(&dsc->others); if(!search_contexts.next) - YINIT_LIST_HEAD(&search_contexts); + INIT_LIST_HEAD(&search_contexts); - ylist_add(&dsc->others,&search_contexts); + list_add(&dsc->others,&search_contexts); yaffsfs_SetDirRewound(dsc); } @@@ -2215,7 -2227,7 +2227,7 @@@ int yaffs_closedir(yaffs_DIR *dirp yaffsfs_Lock(); dsc->magic = 0; - ylist_del(&dsc->others); /* unhook from list */ + list_del(&dsc->others); /* unhook from list */ YFREE(dsc); yaffsfs_Unlock(); return 0; @@@ -2226,8 -2238,8 +2238,8 @@@ int yaffs_symlink(const YCHAR *oldpath, const YCHAR *newpath) { - yaffs_obj_t *parent = NULL; - yaffs_obj_t *obj; + struct yaffs_obj *parent = NULL; + struct yaffs_obj *obj; YCHAR *name; int retVal= -1; int mode = 0; /* ignore for now */ @@@ -2257,7 -2269,7 +2269,7 @@@ int yaffs_readlink(const YCHAR *path, YCHAR *buf, int bufsiz) { - yaffs_obj_t *obj = NULL; + struct yaffs_obj *obj = NULL; int retVal; @@@ -2284,8 -2296,8 +2296,8 @@@ int yaffs_link(const YCHAR *oldpath, const YCHAR *newpath) { /* Creates a link called newpath to existing oldpath */ - yaffs_obj_t *obj = NULL; - yaffs_obj_t *target = NULL; + struct yaffs_obj *obj = NULL; + struct yaffs_obj *target = NULL; int retVal = 0; int new_nameLength = 0; @@@ -2305,8 -2317,8 +2317,8 @@@ yaffsfs_SetError(-EEXIST); retVal = -1; } else { - yaffs_obj_t *newdir = NULL; - yaffs_obj_t *link = NULL; + struct yaffs_obj *newdir = NULL; + struct yaffs_obj *link = NULL; YCHAR *newname; @@@ -2359,7 -2371,7 +2371,7 @@@ int yaffs_mknod(const YCHAR *pathname, */ int yaffs_n_handles(const YCHAR *path) { - yaffs_obj_t *obj; + struct yaffs_obj *obj; obj = yaffsfs_FindObject(NULL,path,0,1); @@@ -2376,10 -2388,10 +2388,10 @@@ int yaffs_dump_dev(const YCHAR *path #if 0 YCHAR *rest; - yaffs_obj_t *obj = yaffsfs_FindRoot(path,&rest); + struct yaffs_obj *obj = yaffsfs_FindRoot(path,&rest); if(obj){ - yaffs_dev_t *dev = obj->my_dev; + struct yaffs_dev *dev = obj->my_dev; printf("\n" "n_page_writes.......... %d\n" diff --combined direct/yaffsfs.h index d8a4d0f,a269ed2..50b5cbc --- a/direct/yaffsfs.h +++ b/direct/yaffsfs.h @@@ -166,8 -166,8 +166,8 @@@ int yaffs_n_handles(const YCHAR *path) int yaffs_open_sharing(const YCHAR *path, int oflag, int mode, int shareMode) ; -struct yaffs_dev_s; -void yaffs_add_device(struct yaffs_dev_s *dev); +struct yaffs_dev; +void yaffs_add_device(struct yaffs_dev *dev); int yaffs_start_up(void); int yaffsfs_GetLastError(void); @@@ -178,7 -178,9 +178,9 @@@ int yaffs_get_error(void) void * yaffs_getdev(const YCHAR *path); int yaffs_dump_dev(const YCHAR *path); - + /* Trace control functions */ + int yaffs_set_trace(unsigned int tm); + unsigned int yaffs_get_trace(void); #endif