Work in progress to pass the image extents to the kernel,
- code is disabled yet as the bootloader doesn't have add_boot_item.. will need to pass via kernel args - add a GetFileMap() method to the vfs, and implement it in FAT code. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28445 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -22,6 +22,14 @@ struct file_map_run {
|
||||
off_t len;
|
||||
};
|
||||
|
||||
struct file_map_boot_item {
|
||||
int32 block_size;
|
||||
int32 num_runs;
|
||||
struct file_map_run runs[FMAP_MAX_RUNS];
|
||||
};
|
||||
|
||||
#ifdef _BOOT_MODE
|
||||
|
||||
class FileMap {
|
||||
public:
|
||||
FileMap();
|
||||
@@ -49,12 +57,13 @@ class FileMapDisk : public Node {
|
||||
size_t bufferSize);
|
||||
|
||||
virtual status_t GetName(char *nameBuffer, size_t bufferSize) const;
|
||||
virtual status_t GetFileMap(struct file_map_run *runs, int32 *count);
|
||||
virtual off_t Size() const;
|
||||
|
||||
status_t GetFileMap(FileMap **map);
|
||||
|
||||
static FileMapDisk *FindAnyFileMapDisk(Directory *volume);
|
||||
|
||||
status_t RegisterFileMapBootItem();
|
||||
|
||||
private:
|
||||
Node *fNode;
|
||||
/*
|
||||
@@ -65,4 +74,6 @@ class FileMapDisk : public Node {
|
||||
|
||||
};
|
||||
|
||||
#endif // _BOOT_MODE
|
||||
|
||||
#endif // _BOOT_FILE_MAP_DISK_H
|
||||
|
||||
Reference in New Issue
Block a user