Files
haiku-beta6/src/kernel/boot/loader/Partition.h
T
Axel Dörfler 21d6803233 The class partition is now in the namespace "boot". Now overloads Size()
and Type() as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:07:03 +00:00

48 lines
1.0 KiB
C++

/*
** Copyright 2003, Axel Dörfler, [email protected]. All rights reserved.
** Distributed under the terms of the OpenBeOS License.
*/
#ifndef PARTITION_H
#define PARTITION_H
#include <boot/vfs.h>
#include <ddm_modules.h>
#include <stddef.h>
namespace boot {
class Partition : public partition_data, public Node {
public:
Partition(int deviceFD);
virtual ~Partition();
virtual ssize_t ReadAt(void *cookie, off_t offset, void *buffer, size_t bufferSize);
virtual ssize_t WriteAt(void *cookie, off_t offset, const void *buffer, size_t bufferSize);
virtual off_t Size() const;
virtual int32 Type() const;
Partition *AddChild();
status_t Scan();
Partition *Parent() const { return fParent; }
bool IsFileSystem() const { return fIsFileSystem; }
static size_t LinkOffset() { return sizeof(partition_data); }
private:
void SetParent(Partition *parent) { fParent = parent; }
int fFD;
list fChildren;
Partition *fParent;
bool fIsFileSystem;
};
} // namespace boot
#endif /* PARTITION_H */