X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fyaffsfs.c;h=917c202c39a851ef6265bb50d315ffedd3ac9e8e;hp=fffc11eece7b691892c767c5122a04e556374514;hb=8b348464b712730cbc18391924d805c1cab7b9ff;hpb=1a17e3ad0a2adbeaae6855696a16789caf4f8418 diff --git a/direct/yaffsfs.c b/direct/yaffsfs.c index fffc11e..917c202 100644 --- a/direct/yaffsfs.c +++ b/direct/yaffsfs.c @@ -2768,8 +2768,27 @@ void yaffs_remove_device(struct yaffs_dev *dev) list_del_init(&dev->dev_list); } +/* Functions to iterate through devices. NB Use with extreme care! */ +static struct list_head *dev_iterator; +void yaffs_dev_rewind(void) +{ + dev_iterator = yaffsfs_deviceList.next; +} +struct yaffs_dev *yaffs_next_dev(void) +{ + struct yaffs_dev *retval; + + if(!dev_iterator) + return NULL; + if(dev_iterator == &yaffsfs_deviceList) + return NULL; + + retval = list_entry(dev_iterator, struct yaffs_dev, dev_list); + dev_iterator = dev_iterator->next; + return retval; +} /* Directory search stuff. */