Mercurial > yaffs-ecoscentric-gpl
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 } |
