678 Not all file systems may support this query. |
678 Not all file systems may support this query. |
679 A boolean value is returned within the buffer defined as TPckgBuf<TBool>. |
679 A boolean value is returned within the buffer defined as TPckgBuf<TBool>. |
680 ETrue value means that the drive is finalised |
680 ETrue value means that the drive is finalised |
681 */ |
681 */ |
682 EIsDriveFinalised, |
682 EIsDriveFinalised, |
|
683 |
|
684 /** |
|
685 Query the volume to ascertain whether File system extensions |
|
686 are supported on this volume. |
|
687 A boolean value is returned within the buffer defined as TPckgBuf<TBool>. |
|
688 ETrue value means that extensions are supported. |
|
689 EFalse means they are not supported. |
|
690 */ |
|
691 EFSysExtensionsSupported, |
683 }; |
692 }; |
684 |
693 |
685 /** |
694 /** |
686 @publishedAll |
695 @publishedAll |
687 @released |
696 @released |
697 */ |
706 */ |
698 class TVolumeIOParamInfo |
707 class TVolumeIOParamInfo |
699 { |
708 { |
700 public: |
709 public: |
701 /** |
710 /** |
702 The size of a block in bytes. |
711 The size of a media block in bytes. This is a physical property of a media and returned by the corresponding media driver. |
703 |
712 This value is usually at least 512 bytes and always a power of 2. For some media types the meaning of this value is |
704 Reads and writes that are aligned on block boundaries are up to twice as fast as when |
713 "the min. size of the aligned data buffer which write onto the media doesn't lead to read-modify-write operation." |
705 mis-aligned. |
714 Therefore, reads and writes that are aligned on block boundaries and with lenght of a multiple block size can be much faster. |
706 |
715 Read and write operations on certain underlying media is done in blocks. A write operation that modifies only part of a block is less efficient, |
707 Read and write operations on certain underlying media is done in blocks. |
716 in general, than one that modifies an entire block. Data throughput degrades linearly for reads and writes in smaller sized units. |
708 A write operation that modifies only part of a block is less efficient, in general, than |
|
709 one that modifies an entire block. Data throughput degrades linearly for reads and writes in smaller |
|
710 sized units. |
|
711 */ |
717 */ |
712 TInt iBlockSize; |
718 TInt iBlockSize; |
713 /** |
719 |
714 The size in bytes of a single disk cluster. |
720 /** |
715 |
721 The size in bytes of a single file system cluster. This is a logical property of the file system. |
716 Read and write operations that are aligned on cluster boundaries are more efficient. |
722 The file system organises and allocates the data on the disk in clusters where each cluster usually consists of one or more blocks. |
717 |
723 Cluster is a minimal unit that the file system allocates on the volume. Thus, a file of 1 byte length occupies 1 cluster. |
718 The file system organises and allocates the file data on the disk in clusters where each cluster is |
724 |
719 one or more blocks. Files that are not zero length occupy at least one cluster of the disk, |
725 Read and write operations that are aligned on cluster boundaries are more efficient from the file system point of view. |
720 so large numbers of very small files use up more disk space than expected. |
726 In some circumstances cluster size can be less than a block size, but it is very inefficient. |
|
727 |
|
728 This value is reported by a file system. The value less than 0 indicates a error. |
721 */ |
729 */ |
722 TInt iClusterSize; |
730 TInt iClusterSize; |
|
731 |
|
732 |
723 /** |
733 /** |
724 The recommended buffer size for optimised reading performance. |
734 The recommended buffer size for optimised reading performance. |
725 |
735 |
726 The given buffer size is based on sensible benchmark testing results produced by the mobile device vendor. |
736 The given buffer size is based on sensible benchmark testing results produced by the mobile device vendor. |
727 The buffer size is then added to the estart.txt file |
737 The buffer size is then added to the estart.txt file |
752 TInt iRecWriteBufSize; |
762 TInt iRecWriteBufSize; |
753 |
763 |
754 |
764 |
755 /** |
765 /** |
756 The maximum file size that is supported by the file system mounted on this volume. |
766 The maximum file size that is supported by the file system mounted on this volume. |
757 Not all file system may provide this parameter; The value KMaxTUint64 (0xffffffffffffffff) means that this particular file system hasn't |
767 Not all file system may report this parameter; The value KMaxTUint64 (0xffffffffffffffff) means that this particular file system hasn't |
758 provided this information. |
768 provided this information. |
759 */ |
769 */ |
760 TUint64 iMaxSupportedFileSize; |
770 TUint64 iMaxSupportedFileSize; |
761 |
771 |
762 private: |
772 private: |
1138 Enables operations on large files. |
1148 Enables operations on large files. |
1139 |
1149 |
1140 @internalTechnology |
1150 @internalTechnology |
1141 |
1151 |
1142 */ |
1152 */ |
1143 EFileBigFile =0x00040000 |
1153 EFileBigFile =0x00040000, |
|
1154 |
|
1155 /** |
|
1156 Using this flag implies that the client is making large sequential reads and/or writes |
|
1157 and it is interested in maximising the performance of the large reads and/or writes. |
|
1158 |
|
1159 The flag gives a hint to the file server and filesystem to adjust to a streaming |
|
1160 data pattern and try their best to make it optimal. |
|
1161 |
|
1162 Some conditions apply: |
|
1163 - This does not guarantee that the performance of read/write operations will increase. |
|
1164 - Using this flag for other purposes other than data streaming may lead to performance degradation. |
|
1165 - This may sacrifice user data integrity for the sake of performance. |
|
1166 |
|
1167 If a file is opened by Client A with EFileSequential, and the file is then opened |
|
1168 without EFileSequential by Client B, then this file mode will be disabled. |
|
1169 When the file handle is closed by Client B, then the EFileSequential file mode |
|
1170 will be enabled again. |
|
1171 Therefore, this mode will only be enabled if all clients set the file as such, |
|
1172 otherwise the file mode will be disabled. |
|
1173 |
|
1174 FAT file system specific information: |
|
1175 This flag improves write and file expansion performance whilst decreasing robustness |
|
1176 on a "Rugged-FAT" file system, which is applicable to internal non-removable drives. |
|
1177 */ |
|
1178 EFileSequential =0x00080000 |
1144 |
1179 |
1145 }; |
1180 }; |
1146 |
1181 |
1147 |
1182 |
1148 |
1183 |