History log of /haiku/headers/private/kernel/boot/vfs.h
Revision Date Author Comments
# 5e437073 22-Oct-2021 Augustin Cavalier <waddlesplash@gmail.com>

bootloader: Refactor console functions into the VFS ConsoleNode class.

This way it becomes much easier to write multiple console implementations
in one bootloader.

Tested for bios_ia32 and efi.

Change-Id: I67134f5c3de109b15d46898864ba7f51c6592afc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4642
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 5c0f8450 14-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Boot loader: Add support for choosing an old packages state

For potential boot volumes with older packages states the respective
item in the boot volume menu now has a sub menu for selecting a state.
The boot loader functionality for this feature is complete -- i.e. the
respective kernel is loaded and the name of the old state is added to
the kernel args -- but kernel packagefs and package daemon support is
still missing.


# 59ae1c81 14-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Boot loader: Add get_stat(), directory_from()

* Add Node::Stat() and simplify Descriptor::Stat().
* Add get_stat() and directory_from().


# 2f019bd6 01-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader: Implement subset of <dirent.h> API

* Add opendir(), closedir(), readdir(), rewinddir().
* Add open_directory(), similar to opendir(), but basing the path off a
specified directory.


# 066d5086 08-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader: Support loading haiku-*.hpkg

... i.e. properly canonically named Haiku system packages.


# bd3bb3cf 08-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader vfs.h: small cleanup


# 533833f6 19-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add kernel args boot volume "packaged" flag

* Add BOOT_VOLUME_PACKAGED boot volume message field name constant.
* register_boot_file_system():
- Now takes a BootVolume& parameter.
- If the boot volume is packaged, add that info to the boot volume
message.


# cbc85916 19-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add boot loader packagefs support

* Add pread().
* Add Node::ReadLink() to read a symbolic link path.
* Add Directory::LookupDontTraverse() and make Lookup() non-abstract.
Lookup() is implemented via LookupDontTraverse() and Node::ReadLink().
* Adjust all FS implementations accordingly.
* Add a packagefs implementation. Unlike other FS implementations it
isn't a pseudo-module, but provides a function to explicitly mount a
package file (packagefs_mount_file()).
* Finish BootVolume::SetTo() implementation, mounting the package file
and replacing fSystemDirectory.

Now the boot loader can load the kernel and boot modules from a packaged
system. The kernel boots up to the point where the boot volume is
mounted.


# d11ea2b5 17-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduce BootVolume abstraction class

BootVolume is initialized from a root directory of a volume. It finds
the system directory, and -- not implemented yet -- mounts the system
package, if the system is packaged, replacing the system directory with
it. Adjusted several functionality (main(), the loader functions,
user_menu()) to use BootVolume instead of the root directory.


# 085cf27b 16-Mar-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added Directory::CreateFile() which can be implemented by file systems to
support file creation.
* Extended open() and open_from() to support O_CREAT to create files.
open_from() has got an optional "permissions" parameter for that purpose.
* Fixed errno. It would crash when being used. Also changed the POSIX functions
to return their error code via errno as expected.
* Added writev().
* FAT file system:
- Added support for reading long file names.
- Added support for creating files (8.3 name only) and writing to them.
- Enabled scanning partitions with it.
* Boot loader menu:
- Enabled the "Reboot" menu item unconditionally.
- Added "Save syslog from previous session" menu item to the debug menu.
Currently saving the syslog to FAT32 volumes is supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35882 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9da23568 01-Nov-2008 François Revol <revol@free.fr>

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


# 0dc4d1e5 26-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Reverted r27685, r27676, r27665, and r27664, the changes related to
letting the boot loader provide full paths for the pre-loaded images.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27753 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6aa2c9ec 20-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Directory stores its parent directory (if any), now.
* Adjusted used files systems accordingly.
* BFS::Stream::GetName() was broken. It accessed the small data region
which wasn't loaded, since BFS::Stream derived from bfs_inode, which
is a variably-sized structure with the small data region at the end.
Changed that to a ref-counted, shared member instead.
* Implemented RootFileSystem::GetName().
* Added Directory::GetPath() to get a full path of the directory or an
entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27664 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9e8dc2a9 14-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

[Sorry, couldn't split this one up any further.]
* Images preloaded by the boot loader had to be modules to be of any use
to the kernel. Extended the mechanism so that any images not accepted
by the module code would later be tried to be added as drivers by the
devfs. This is a little hacky ATM, since the devfs manages the drivers
using a hash map keyed by the drivers inode ID, which those drivers
obviously don't have.
* The devfs emulates read_pages() using read(), if the device driver
doesn't implement the former (all old-style drivers), thus making it
possible to BFS, which uses the file cache which in turn requires
read_pages(), on the device. write_pages() emulation is still missing.
* Replaced the kernel_args::boot_disk structure by a KMessage, which can
more flexibly be extended and deals more gracefully with
arbitrarily-size data. The disk_identifier structure still exists,
though. It is added as message field in cases where needed (non net
boot). Moved the boot_drive_number field of the bios_ia32 platform
specific args into the message.
* Made the stage 1 PXE boot loader superfluous. Moved the relevant
initialization code into the stage 2 loader, which can now be loaded
directly via PXE.
* The PXE boot loader does now download a boot tgz archive via TFTP. It
does no longer use the RemoteDisk protocol (it could actually be
removed from the boot loader). It also parses the DHCP options in the
DHCPACK packet provided by PXE and extracts the root path to be
mounted by the kernel.
* Reorganized the boot volume search in the kernel (vfs_boot.cpp) and
added support for network boot. In this case the net stack is
initialized and the network interface the boot loader used is brought
up and configured. Since NBD and RemoteDisk are our only options for
net boot (and those aren't really configurable dynamically) ATM, the
the boot device is found automatically by the disk device manager.

Booting via PXE does work to some degree now. The most grievous problem
is that loading certain drivers or kernel modules (or related activity)
causes a reboot (likely a triple fault, though one wonders where our
double fault handler is on vacation). Namely the keyboard and mouse input
server add-ons need to be deactivated as well as the media server.
A smaller problem is the net server, which apparently tries to
(re-)configure the network interface we're using to boot, which
obviously doesn't work out that well. So, if all this stuff is disabled
Haiku does fully boot, when using the RemoteDisk protocol (not being
able to use keyboard or mouse doesn't make this a particular fascinating
experience, though ;-)). I had no luck with NBD -- it seemed to have
protocol problems with the servers I tried.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21611 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e3fcb58e 14-Oct-2005 Axel Dörfler <axeld@pinc-software.de>

The boot loader now has special support for being booted from a boot image
like floppy or CD boot.
This allows it to reduce the number of scans needed to identify the boot
partition - when booted from a real floppy, this speeds up the boot
process by a magnitude.
Also, the loader now has a fall back in case there were no "boot" links
on the disk - the current boot floppy script doesn't create them.
With these changes, I was able to boot into a HD based Haiku installation
from a floppy disk. It's not yet enough to boot from CD (as the boot
device selection is a bit too simplistic right now), but it will eventually
come next. Testing is a lot slower here, though, as neither qemu nor
Bochs support multi-session CDs (at least I have no idea how to get them
to do this).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14380 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 164d84bb 01-Feb-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Switched to new DoublyLinkedList class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11193 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b193fcc7 15-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

Some work on the boot disk identification: the kernel_args structure has
now fields that carry information about the boot disk and partition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9956 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ad3b4b1f 15-Jun-2004 Axel Dörfler <axeld@pinc-software.de>

The Node class can now return an inode number.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7984 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ace56d68 20-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Removed the AddNode() method from the Directory class.
Moved gRoot into the private RootFileSystem header.
Added new register_boot_file_system() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5098 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c3e36ff4 13-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Now uses the DoublyLinked::List class instead of the C list stuff.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5016 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 774d1ff3 30-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

The Directory abstract base class has a new method IsEmpty().
New/changed function prototypes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4879 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ad1b3319 15-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Added a new open_from() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4704 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1fdfe0c3 12-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Added a new directory traversing method GetNextEntry() that's based on the
entry's name.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4646 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ebe8f6bb 10-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Accidently exported a C++ function in a plain C accessible part.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4613 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fd5b59d2 08-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Added initial support for file systems. Not tested yet, but compiles.
New Directory class for use in file systems; file systems need to publish
their root directory as a subclass of this class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4587 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eced90ea 07-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Moved the definition of the Descriptor class to vfs.cpp.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4563 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6f7c2dc6 02-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Missing boot loader headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4462 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5c0f8450acfa799aaf13a0e86ba8941212a6bfb3 14-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Boot loader: Add support for choosing an old packages state

For potential boot volumes with older packages states the respective
item in the boot volume menu now has a sub menu for selecting a state.
The boot loader functionality for this feature is complete -- i.e. the
respective kernel is loaded and the name of the old state is added to
the kernel args -- but kernel packagefs and package daemon support is
still missing.


# 59ae1c816d8e64dd22f3ec51fe4f79ac077ea171 14-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Boot loader: Add get_stat(), directory_from()

* Add Node::Stat() and simplify Descriptor::Stat().
* Add get_stat() and directory_from().


# 2f019bd6cae99b4633b21b40565a93517323b1b8 01-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader: Implement subset of <dirent.h> API

* Add opendir(), closedir(), readdir(), rewinddir().
* Add open_directory(), similar to opendir(), but basing the path off a
specified directory.


# 066d508682dd3028eb9b971974b913990811d3a1 08-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader: Support loading haiku-*.hpkg

... i.e. properly canonically named Haiku system packages.


# bd3bb3cf5835524f1299074be43d0d0bd5ec63bb 08-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader vfs.h: small cleanup


# 533833f646106f4d14f8329ea7773b42c7e45682 19-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add kernel args boot volume "packaged" flag

* Add BOOT_VOLUME_PACKAGED boot volume message field name constant.
* register_boot_file_system():
- Now takes a BootVolume& parameter.
- If the boot volume is packaged, add that info to the boot volume
message.


# cbc85916fb5c35022ba6e52eb5b55a93271b1fb6 19-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add boot loader packagefs support

* Add pread().
* Add Node::ReadLink() to read a symbolic link path.
* Add Directory::LookupDontTraverse() and make Lookup() non-abstract.
Lookup() is implemented via LookupDontTraverse() and Node::ReadLink().
* Adjust all FS implementations accordingly.
* Add a packagefs implementation. Unlike other FS implementations it
isn't a pseudo-module, but provides a function to explicitly mount a
package file (packagefs_mount_file()).
* Finish BootVolume::SetTo() implementation, mounting the package file
and replacing fSystemDirectory.

Now the boot loader can load the kernel and boot modules from a packaged
system. The kernel boots up to the point where the boot volume is
mounted.


# d11ea2b5edf78d1018b1149a57a593af50687920 17-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduce BootVolume abstraction class

BootVolume is initialized from a root directory of a volume. It finds
the system directory, and -- not implemented yet -- mounts the system
package, if the system is packaged, replacing the system directory with
it. Adjusted several functionality (main(), the loader functions,
user_menu()) to use BootVolume instead of the root directory.


# 085cf27b40c06dc45f633f33c41258f32bec3a23 16-Mar-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added Directory::CreateFile() which can be implemented by file systems to
support file creation.
* Extended open() and open_from() to support O_CREAT to create files.
open_from() has got an optional "permissions" parameter for that purpose.
* Fixed errno. It would crash when being used. Also changed the POSIX functions
to return their error code via errno as expected.
* Added writev().
* FAT file system:
- Added support for reading long file names.
- Added support for creating files (8.3 name only) and writing to them.
- Enabled scanning partitions with it.
* Boot loader menu:
- Enabled the "Reboot" menu item unconditionally.
- Added "Save syslog from previous session" menu item to the debug menu.
Currently saving the syslog to FAT32 volumes is supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35882 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9da2356857a48ac7e27b325ba3f69aef9b79dddd 01-Nov-2008 François Revol <revol@free.fr>

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


# 0dc4d1e5ca08e5fe65c04f40f2628c29a9f4b5e0 26-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Reverted r27685, r27676, r27665, and r27664, the changes related to
letting the boot loader provide full paths for the pre-loaded images.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27753 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6aa2c9ecf151dae2111df60a737ceb266fd18002 20-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Directory stores its parent directory (if any), now.
* Adjusted used files systems accordingly.
* BFS::Stream::GetName() was broken. It accessed the small data region
which wasn't loaded, since BFS::Stream derived from bfs_inode, which
is a variably-sized structure with the small data region at the end.
Changed that to a ref-counted, shared member instead.
* Implemented RootFileSystem::GetName().
* Added Directory::GetPath() to get a full path of the directory or an
entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27664 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9e8dc2a9bbbe768acdfd224a6a4af01918bb4ce0 14-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

[Sorry, couldn't split this one up any further.]
* Images preloaded by the boot loader had to be modules to be of any use
to the kernel. Extended the mechanism so that any images not accepted
by the module code would later be tried to be added as drivers by the
devfs. This is a little hacky ATM, since the devfs manages the drivers
using a hash map keyed by the drivers inode ID, which those drivers
obviously don't have.
* The devfs emulates read_pages() using read(), if the device driver
doesn't implement the former (all old-style drivers), thus making it
possible to BFS, which uses the file cache which in turn requires
read_pages(), on the device. write_pages() emulation is still missing.
* Replaced the kernel_args::boot_disk structure by a KMessage, which can
more flexibly be extended and deals more gracefully with
arbitrarily-size data. The disk_identifier structure still exists,
though. It is added as message field in cases where needed (non net
boot). Moved the boot_drive_number field of the bios_ia32 platform
specific args into the message.
* Made the stage 1 PXE boot loader superfluous. Moved the relevant
initialization code into the stage 2 loader, which can now be loaded
directly via PXE.
* The PXE boot loader does now download a boot tgz archive via TFTP. It
does no longer use the RemoteDisk protocol (it could actually be
removed from the boot loader). It also parses the DHCP options in the
DHCPACK packet provided by PXE and extracts the root path to be
mounted by the kernel.
* Reorganized the boot volume search in the kernel (vfs_boot.cpp) and
added support for network boot. In this case the net stack is
initialized and the network interface the boot loader used is brought
up and configured. Since NBD and RemoteDisk are our only options for
net boot (and those aren't really configurable dynamically) ATM, the
the boot device is found automatically by the disk device manager.

Booting via PXE does work to some degree now. The most grievous problem
is that loading certain drivers or kernel modules (or related activity)
causes a reboot (likely a triple fault, though one wonders where our
double fault handler is on vacation). Namely the keyboard and mouse input
server add-ons need to be deactivated as well as the media server.
A smaller problem is the net server, which apparently tries to
(re-)configure the network interface we're using to boot, which
obviously doesn't work out that well. So, if all this stuff is disabled
Haiku does fully boot, when using the RemoteDisk protocol (not being
able to use keyboard or mouse doesn't make this a particular fascinating
experience, though ;-)). I had no luck with NBD -- it seemed to have
protocol problems with the servers I tried.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21611 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e3fcb58ebb7497340ed016d1a5ac4d4f13564d90 14-Oct-2005 Axel Dörfler <axeld@pinc-software.de>

The boot loader now has special support for being booted from a boot image
like floppy or CD boot.
This allows it to reduce the number of scans needed to identify the boot
partition - when booted from a real floppy, this speeds up the boot
process by a magnitude.
Also, the loader now has a fall back in case there were no "boot" links
on the disk - the current boot floppy script doesn't create them.
With these changes, I was able to boot into a HD based Haiku installation
from a floppy disk. It's not yet enough to boot from CD (as the boot
device selection is a bit too simplistic right now), but it will eventually
come next. Testing is a lot slower here, though, as neither qemu nor
Bochs support multi-session CDs (at least I have no idea how to get them
to do this).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14380 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 164d84bb109e2778799a6b5a7d40c15d48b939a3 01-Feb-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Switched to new DoublyLinkedList class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11193 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b193fcc7165ddd6fef10e48c8b19a4b23e7908d5 15-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

Some work on the boot disk identification: the kernel_args structure has
now fields that carry information about the boot disk and partition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9956 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ad3b4b1fadf370454d2d75fdfffd534a174829a9 15-Jun-2004 Axel Dörfler <axeld@pinc-software.de>

The Node class can now return an inode number.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7984 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ace56d68aab79b3c15f5a69439153e5805a08662 20-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Removed the AddNode() method from the Directory class.
Moved gRoot into the private RootFileSystem header.
Added new register_boot_file_system() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5098 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c3e36ff4983b6abc397e66ef4a6c8f3b88fe21f2 13-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Now uses the DoublyLinked::List class instead of the C list stuff.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5016 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 774d1ff304a69e220f34ab8a7eb50a8cffef2d47 30-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

The Directory abstract base class has a new method IsEmpty().
New/changed function prototypes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4879 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ad1b3319c5b8a16a35f003623dff10f0fb58fffc 15-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Added a new open_from() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4704 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1fdfe0c39a6243f6eb50e9488619b24dea5f9373 12-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Added a new directory traversing method GetNextEntry() that's based on the
entry's name.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4646 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ebe8f6bba71e36db844bbb8a8f0d748a3b12a6fa 10-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Accidently exported a C++ function in a plain C accessible part.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4613 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fd5b59d2271d433bf42e9d5d677435c2ff25e24b 08-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Added initial support for file systems. Not tested yet, but compiles.
New Directory class for use in file systems; file systems need to publish
their root directory as a subclass of this class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4587 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eced90ea7aa517de3ee467acdfda3dc41298be8e 07-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Moved the definition of the Descriptor class to vfs.cpp.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4563 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6f7c2dc67727c81c614d4905d98b8c2183e6114b 02-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Missing boot loader headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4462 a95241bf-73f2-0310-859d-f6bbb57e9c96