comparison direct/yaffsfs.c @ 356:7ee0cc4ba753

Rationalise context and parameter handling
author charles <charles>
date Thu, 18 Feb 2010 01:18:04 +0000
parents c640f5d8f33e
children 578449a365d7
comparison
equal deleted inserted replaced
355:a52b8595f22c 356:7ee0cc4ba753
29 /* YAFFSFS_RW_SIZE must be a power of 2 */ 29 /* YAFFSFS_RW_SIZE must be a power of 2 */
30 #define YAFFSFS_RW_SHIFT (13) 30 #define YAFFSFS_RW_SHIFT (13)
31 #define YAFFSFS_RW_SIZE (1<<YAFFSFS_RW_SHIFT) 31 #define YAFFSFS_RW_SIZE (1<<YAFFSFS_RW_SHIFT)
32 32
33 33
34 const char *yaffsfs_c_version="$Id: yaffsfs.c,v 1.33 2010-02-16 23:24:57 charles Exp $"; 34 const char *yaffsfs_c_version="$Id: yaffsfs.c,v 1.34 2010-02-18 01:18:05 charles Exp $";
35 35
36 // configurationList is the list of devices that are supported 36 // configurationList is the list of devices that are supported
37 static yaffsfs_DeviceConfiguration *yaffsfs_configurationList; 37 static yaffsfs_DeviceConfiguration *yaffsfs_configurationList;
38 38
39 39
1074 1074
1075 if(obj) 1075 if(obj)
1076 obj = yaffs_GetEquivalentObject(obj); 1076 obj = yaffs_GetEquivalentObject(obj);
1077 1077
1078 if(obj && buf){ 1078 if(obj && buf){
1079 buf->st_dev = (int)obj->myDev->genericDevice; 1079 buf->st_dev = (int)obj->myDev->context;
1080 buf->st_ino = obj->objectId; 1080 buf->st_ino = obj->objectId;
1081 buf->st_mode = obj->yst_mode & ~S_IFMT; // clear out file type bits 1081 buf->st_mode = obj->yst_mode & ~S_IFMT; // clear out file type bits
1082 1082
1083 if(obj->variantType == YAFFS_OBJECT_TYPE_DIRECTORY) 1083 if(obj->variantType == YAFFS_OBJECT_TYPE_DIRECTORY)
1084 buf->st_mode |= S_IFDIR; 1084 buf->st_mode |= S_IFDIR;
1554 YCHAR *dummy; 1554 YCHAR *dummy;
1555 1555
1556 yaffsfs_Lock(); 1556 yaffsfs_Lock();
1557 dev = yaffsfs_FindDevice(path,&dummy); 1557 dev = yaffsfs_FindDevice(path,&dummy);
1558 if(dev && dev->isMounted){ 1558 if(dev && dev->isMounted){
1559 retVal = (dev->endBlock - dev->startBlock + 1) - dev->nReservedBlocks; 1559 retVal = (dev->param.endBlock - dev->param.startBlock + 1) - dev->param.nReservedBlocks;
1560 retVal *= dev->nChunksPerBlock; 1560 retVal *= dev->param.nChunksPerBlock;
1561 retVal *= dev->nDataBytesPerChunk; 1561 retVal *= dev->nDataBytesPerChunk;
1562 1562
1563 } else 1563 } else
1564 yaffsfs_SetError(-EINVAL); 1564 yaffsfs_SetError(-EINVAL);
1565 1565
1601 1601
1602 cfg = yaffsfs_configurationList; 1602 cfg = yaffsfs_configurationList;
1603 1603
1604 while(cfg && cfg->prefix && cfg->dev){ 1604 while(cfg && cfg->prefix && cfg->dev){
1605 cfg->dev->isMounted = 0; 1605 cfg->dev->isMounted = 0;
1606 cfg->dev->removeObjectCallback = yaffsfs_RemoveObjectCallback; 1606 cfg->dev->param.removeObjectCallback = yaffsfs_RemoveObjectCallback;
1607 cfg++; 1607 cfg++;
1608 } 1608 }
1609 1609
1610 1610
1611 } 1611 }