Update contrib.
1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
15 // WARNING: This file contains some APIs which are internal and are subject
16 // to change without notice. Such APIs should therefore not be used
17 // outside the Kernel and Hardware Services package.
32 const TUint16 KRofsFormatVersion = 0x200;
41 TUint16 iStructSize; // Total size of entry, header + name + any padding
42 TUint8 iUids[sizeof(TCheckedUid)]; // A copy of all the UID info
43 TUint8 iNameOffset; // offset of iName from start of entry
44 TUint8 iAtt; // standard file attributes
45 TUint32 iFileSize; // real size of file in bytes (may be different from size in image)
46 // for subdirectories this is the total size of the directory
47 // block entry excluding padding
48 TUint32 iFileAddress; // address in image of file start
49 TUint8 iAttExtra; // extra ROFS attributes (these are inverted so 0 = enabled)
50 TUint8 iNameLength; // length of iName
58 const TUint KRofsEntryNameOffset = _FOFF( TRofsEntry, iName );
63 const TUint KRofsEntryHeaderSize = KRofsEntryNameOffset;
72 TUint16 iStructSize; // Total size of this directory block including padding
74 TUint8 iFirstEntryOffset; // offset to first entry
75 TUint32 iFileBlockAddress; // address of associated file block
76 TUint32 iFileBlockSize; // size of associated file block
77 TRofsEntry iSubDir; // first subdir entry (not present if no subdirs)
84 const TUint KRofsDirFirstEntryOffset = _FOFF( TRofsDir, iSubDir );
89 const TUint KRofsDirHeaderSize = KRofsDirFirstEntryOffset;
98 TUint8 iIdentifier[4]; // ROFS identifier
101 TUint16 iRofsFormatVersion;
102 TUint iDirTreeOffset; // offset to start of directory structure
103 TUint iDirTreeSize; // size in bytes of directory
104 TUint iDirFileEntriesOffset; // offset to start of file entries
105 TUint iDirFileEntriesSize; // size in bytes of file entry block
107 TVersion iImageVersion; // licensee image version
110 TUint32 iMaxImageSize;
117 class TExtensionRofsHeader
120 TUint8 iIdentifier[4]; // ROFS Extension identifier
123 TUint16 iRofsFormatVersion;
124 TUint iDirTreeOffset; // offset to start of directory structure
125 TUint iDirTreeSize; // size in bytes of directory
126 TUint iDirFileEntriesOffset; // offset to start of file entries
127 TUint iDirFileEntriesSize; // size in bytes of file entry block
129 TVersion iImageVersion; // licensee image version
132 TUint32 iMaxImageSize;
135 const TUint KRofsHeaderSize = sizeof(TRofsHeader);
136 const TUint KExtensionRofsHeaderSize = sizeof(TExtensionRofsHeader);
142 const TInt16 KEarliestSupportedFormatVersion = KRofsFormatVersion;
147 const TInt16 KLatestSupportedFormatVersion = KRofsFormatVersion;
149 const TUint KRofsMangleNameLength = 7;