haiku/headers/private/kernel/boot/FileMapDisk.h
Andreas Färber 04ec719a70 Convert line endings to LF
In r33670 the svn:eol-style property was dropped, which took care of
locally converting the line endings to the user's native style.
While most files use Unix-style LF line endings, some files have
Windows-style CR LF line endings.

Assure that the following r37262 directories use Unix-style line endings:

src/system/boot/
src/system/boot/arch/
src/system/boot/arch/ppc/
src/system/boot/loader/
src/system/boot/loader/net/
src/system/boot/platform/
src/system/boot/platform/openfirmware/
src/system/boot/platform/openfirmware/arch/
src/system/boot/platform/openfirmware/arch/ppc/
src/system/kernel/
src/system/kernel/arch/
src/system/kernel/arch/ppc/
src/system/kernel/platform/
src/system/kernel/platform/openfirmware/
headers/private/kernel/
headers/private/kernel/arch/
headers/private/kernel/arch/ppc/
headers/private/kernel/platform/
headers/private/kernel/platform/openfirmware/
headers/private/kernel/boot/
headers/private/kernel/boot/net/
headers/private/kernel/boot/platform/
headers/private/kernel/boot/platform/openfirmware/

This avoids patches containing irrelevant lines unintentionally converted.

No functional changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-26 17:38:03 +00:00

80 lines
1.6 KiB
C++

/*
* Copyright 2008, François Revol <revol@free.fr>.
* All rights reserved. Distributed under the terms of the MIT License.
*/
#ifndef _BOOT_FILE_MAP_DISK_H
#define _BOOT_FILE_MAP_DISK_H
#include <boot/vfs.h>
#include <boot/partitions.h>
#define FMAP_FOLDER_NAME "BEOS"
#define FMAP_IMAGE_NAME "IMAGE.BE"
//#define FMAP_FOLDER_NAME "HAIKU"
//#define FMAP_IMAGE_NAME "IMAGE.BFS"
#define FMAP_MAX_RUNS 128
struct file_map_run {
off_t offset;
off_t block;
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();
~FileMap();
void AddRun(off_t offset, off_t block, off_t len);
private:
struct file_map_run fRuns[FMAP_MAX_RUNS];
};
class FileMapDisk : public Node {
public:
FileMapDisk();
virtual ~FileMapDisk();
status_t Init(Node *node/*Partition *partition, FileMap *map, off_t imageSize*/);
virtual status_t Open(void **_cookie, int mode);
virtual status_t Close(void *cookie);
virtual ssize_t ReadAt(void *cookie, off_t pos, void *buffer,
size_t bufferSize);
virtual ssize_t WriteAt(void *cookie, off_t pos, const void *buffer,
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;
static FileMapDisk *FindAnyFileMapDisk(Directory *volume);
status_t RegisterFileMapBootItem();
private:
Node *fNode;
/*
Partition *fPartition;
FileMap *fMap;
off_t fImageSize;
*/
};
#endif // _BOOT_MODE
#endif // _BOOT_FILE_MAP_DISK_H