here - OSTA - Optical Storage Technology Association
here - OSTA - Optical Storage Technology Association
here - OSTA - Optical Storage Technology Association
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.2 Part 3 - Volume Structure<br />
3.2.1 Logical Volume Header Descriptor<br />
struct LogicalVolumeHeaderDesc { /* ECMA 167 4/14.15 */<br />
Uint64 UniqueID,<br />
bytes<br />
reserved[24]<br />
}<br />
This structure is in the LVID Logical Volume Contents Use field.<br />
3.2.1.1 Uint64 UniqueID<br />
This field contains the next Next UniqueID value that should to be used. for the<br />
next new objects in the UDF UniqueID Mapping Data Stream, see 3.3.7.1. The<br />
field Next UniqueID value is initialized to 16, because the value 0 is reserved for<br />
the root directory and itsystem stream directory objects and the values 1-15 are<br />
reserved for use in Macintosh implementations. The Next UniqueID value<br />
monotonically increases with each assignment of a new UDF UniqueID value for<br />
a newly created object as described below. Whenever the lower 32-bits of this the<br />
Next UniqueID value reach #FFFFFFFF, the next increment is performed by<br />
incrementing the upper 32-bits are incremented by 1, as would be expected for a<br />
64-bit value, but the lower 32-bits “wrap” to 16 (the initialization value). This<br />
behavior supports Mac OS which uses an ID number space of 16 through 2 31 - 1<br />
inclusive, and will not cause problems for other platformsAfter such a “wrap”, the<br />
uniqueness of a 32-bits FID UDF UniqueID value can no longer be guaranteed.<br />
T<strong>here</strong>fore the UDF UniqueID Mapping Data Stream shall be removed altogether<br />
if the value of Next UniqueID is higher than #FFFFFFFF.<br />
UniqueID is used whenever a new file or directory is created, or another name is<br />
linked to an existing file or directory. During a rename or move operation, the FID<br />
UniqueID value of an object shall not be changed and the values in the<br />
corresponding UDF Unique ID Mapping Entry shall remain consistent, see<br />
3.3.7.1.2. The parent references of this mapping entry shall be updated when an<br />
object is moved to a different directory. When a FID is deleted, the mapping entry<br />
corresponding to the now unused UDF Unique ID shall not be re-used but be<br />
deleted or marked invalid. The File Identifier Descriptors and File<br />
Entries/Extended File Entries used for a stream directory and named streams<br />
associated with a file or directory do not use UniqueID; rather, the unique ID<br />
fields in these structures take their value from the UniqueID of the File<br />
Entry/Extended File Entry of the file/directory they are associated with. The same<br />
counts for File Entries/Extended File Entries used to define an Extended<br />
Attributes Space. A parent FID takes its Unique ID value from the 32 lower bits<br />
of the File Entry/Extended File Entry that is identified by the parent FID.<br />
FIDs and File Entries of the System Stream Directory and of streams associated<br />
with the System Stream Directory shall use a UniqueID value of zero.<br />
When a file or directory is created, this UniqueID is assigned to the UniqueID<br />
field of the File Entry/Extended File Entry, the lower 32-bits of UniqueID are<br />
UDF 2.01<br />
65<br />
March50 April