1//----------------------------------------------------------------------
2//  This software is part of the Haiku distribution and is covered
3//  by the MIT License.
4//
5//  Copyright (c) 2003 Tyler Dauwalder, tyler@dauwalder.net
6//---------------------------------------------------------------------
7#ifndef _UDF_PHYSICAL_PARTITION_H
8#define _UDF_PHYSICAL_PARTITION_H
9
10/*! \file PhysicalPartition.h
11*/
12
13#include <util/kernel_cpp.h>
14
15#include "Partition.h"
16#include "UdfDebug.h"
17
18/*! \brief Standard type 1 physical partition
19
20	PhysicalPartitions map logical block numbers directly to physical
21	block numbers.
22
23	See also: ECMA-167 10.7.2
24*/
25class PhysicalPartition : public Partition {
26public:
27	PhysicalPartition(uint16 number, uint32 start, uint32 length);
28	virtual ~PhysicalPartition();
29	virtual status_t MapBlock(uint32 logicalBlock, off_t &physicalBlock);
30
31	uint16 Number() const { return fNumber; }
32	uint32 Start() const { return fStart; }
33	uint32 Length() const { return fLength; }
34private:
35	uint16 fNumber;
36	uint32 fStart;
37	uint32 fLength;
38};
39
40#endif	// _UDF_PHYSICAL_PARTITION_H
41