VirtualBox

Changeset 68991 in vbox for trunk/src/VBox/Runtime/common/fs


Ignore:
Timestamp:
Oct 5, 2017 8:15:11 AM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
118260
Message:

udf: typos and updates.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/fs/isovfs.cpp

    r68921 r68991  
    175175typedef RTFSISODIROBJ *PRTFSISODIROBJ;
    176176
    177 /**
    178  * Information about a logical partition.
     177/** Pointer to info about a UDF volume. */
     178typedef struct RTFSISOVOLUDFVOL *PRTFSISOVOLUDFVOL;
     179
     180/**
     181 * Information about a logical UDF partition.
     182 *
     183 * This combins information from the partition descriptor, the UDFPARTMAPTYPE1
     184 * and the UDFPARTMAPTYPE2 structure.
    179185 */
    180186typedef struct RTFSISOVOLUDFPART
     
    182188    /** Partition number (not index). */
    183189    uint16_t            uPartitionNo;
     190    /** Parition flags (UDF_PARTITION_FLAGS_XXX). */
    184191    uint16_t            fFlags;
    185192    /** Number of sectors. */
    186193    uint32_t            cSectors;
    187 #if 0
    188 
    189 
    190     /** 0x000: The descriptor tag (UDF_TAG_ID_PARTITION_DESC). */
    191     UDFTAG          Tag;
    192     /** 0x010: Volume descriptor sequence number. */
    193     uint32_t        uVolumeDescSeqNo;
    194     /** 0x014: The partition flags (UDF_PARTITION_FLAGS_XXX).   */
    195     uint16_t        fFlags;
    196     /** 0x016: The partition number. */
    197     uint16_t        uPartitionNo;
    198     /** 0x018: Partition contents (UDF_ENTITY_ID_PD_PARTITION_CONTENTS_XXX). */
    199     UDFENTITYID     PartitionContents;
    200     /** 0x038: partition contents use (depends on the PartitionContents field). */
    201     union
    202     {
    203         /** Generic view. */
    204         uint8_t     ab[128];
    205         /** UDF partition header descriptor (UDF_ENTITY_ID_PD_PARTITION_CONTENTS_UDF). */
    206         UDFPARTITIONHDRDESC Hdr;
    207     } ContentsUse;
    208     /** 0x0b8: Access type (UDF_PART_ACCESS_TYPE_XXX).  */
    209     uint32_t        uAccessType;
    210     /** 0x0bc: Partition starting location (logical sector number). */
    211     uint32_t        offLocation;
    212     /** 0x0c0: Partition length in sectors. */
    213     uint32_t        cSectors;
    214     /** 0x0c4: Implementation identifier ("*Developer ID"). */
    215     UDFENTITYID     idImplementation;
    216     /** 0x0e4: Implemenation use bytes. */
    217     union
    218     {
    219         /** Generic view. */
    220         uint8_t     ab[128];
    221     } ImplementationUse;
    222     /** 0x164: Reserved. */
    223     uint8_t         abReserved[156];
    224 #endif
    225 
     194    /** Partition starting location as a byte offset. */
     195    uint64_t            offByteLocation;
     196    /** Partition starting location (logical sector number). */
     197    uint32_t            offLocation;
     198    /** Set if Hdr is valid. */
     199    bool                fHaveHdr;
     200    /** Copy of UDFPARTITIONDESC::ContentsUse::Hdr. */
     201    UDFPARTITIONHDRDESC Hdr;
     202
     203    /** Pointer to the volume this partition belongs to. */
     204    PRTFSISOVOLUDFVOL   pVol;
    226205} RTFSISOVOLUDFPART;
     206typedef RTFSISOVOLUDFPART *PRTFSISOVOLUDFPART;
     207
     208/**
     209 * Information about a UDF volume (/ volume set).
     210 *
     211 * This combines information from the primary and logical descriptors.
     212 *
     213 * @note There is only one volume per volume set in the current UDF
     214 *       implementation.  So, this can be considered a volume and a volume set.
     215 */
     216typedef struct RTFSISOVOLUDFVOL
     217{
     218    /** The extent containing the file set descriptor. */
     219    UDFLONGAD           FileSetDescriptor;
     220
     221    /** The logical block size on this volume. */
     222    uint32_t            cbBlock;
     223    /** Primary volume descriptor number. */
     224    uint32_t            uPrimaryVolumeDescNo;
     225    /** Volume sequence number. */
     226    uint16_t            uVolumeSeqNo;
     227    /** Maximum volume sequence number. */
     228    uint16_t            uMaxVolumeSeqNo;
     229    /** Flags (UDF_PVD_FLAGS_XXX). */
     230    uint16_t            fFlags;
     231
     232    /** Number of partitions in this volume. */
     233    uint16_t            cPartitions;
     234    /** Partitions in this volume. */
     235    PRTFSISOVOLUDFPART  paPartitions;
     236
     237    /** Volume identifier (dstring). */
     238    UDFDSTRING          achVolumeID[32];
     239    /** The volume ID string. */
     240    UDFDSTRING          achLogicalVolumeID[128];
     241} RTFSISOVOLUDFVOL;
    227242
    228243
     
    272287        /** Number of volume sets. */
    273288        uint8_t         cVolumeSets;
     289        /** Number of entries in the array paPartitions points to. */
     290        uint8_t         cPartitions;
    274291        /** Set if we already seen the primary volume descriptor. */
    275292        bool            fSeenPrimaryDesc : 1;
     293        /** Partitions. */
     294        PRTFSISOVOLUDFPART paPartitions;
     295
    276296#if 0
    277297        /** Volume sets. */
     
    284304        } aVolumeSets[1];
    285305
    286 
    287         /** Partitions. */
    288         struct
    289         {
    290 
    291         } aPartitions[]
    292306#endif
    293307    } udf;
     
    26562670                    break;
    26572671
    2658                 case UDF_TAG_ID_IMPLEMENATION_USE_VOLUME_DESC:
     2672                case UDF_TAG_ID_IMPLEMENTATION_USE_VOLUME_DESC:
    26592673                    rc = rtFsIsoVolProcessUdfImplUseVolDesc(pThis, (PCUDFIMPLEMENTATIONUSEVOLUMEDESC)pTag, pErrInfo);
    26602674                    break;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette