1 //----------------------------------------------------------------------
2 // This software is part of the OpenBeOS distribution and is covered
3 // by the OpenBeOS license.
5 // Copyright (c) 2003 Tyler Dauwalder, tyler@dauwalder.net
6 //---------------------------------------------------------------------
7 #ifndef _UDF_VIRTUAL_PARTITION_H
8 #define _UDF_VIRTUAL_PARTITION_H
10 /*! \file VirtualPartition.h
13 #include <util/kernel_cpp.h>
15 #include "Partition.h"
16 #include "PhysicalPartition.h"
19 /*! \brief Type 2 virtual partition
21 VirtualPartitions add an extra layer of indirection between logical
22 block numbers and physical block numbers, allowing the underlying
23 physical block numbers to be changed without changing the original
24 references to (virtual) logical block numbers.
26 Note that VirtualPartitions should be found only on sequentially written
27 media such as CD-R, per UDF-2.01 2.2.10.
29 See also UDF-2.01 2.2.8, UDF-2.01 2.2.10
31 class VirtualPartition
: public Partition
{
33 VirtualPartition(PhysicalPartition
&physicalPartition
);
34 virtual ~VirtualPartition();
35 virtual status_t
MapBlock(uint32 logicalBlock
, off_t
&physicalBlock
);
39 PhysicalPartition fPhysicalPartition
;
42 #endif // _UDF_VIRTUAL_PARTITION_H