Ingo Weinhold
71a5281923
Implemented _kern_get_partitionable_spaces(). Got rid of user_partitionable_space_data.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:18:48 +00:00
Ingo Weinhold
3ee6c178d5
Some fixes of/changes to the API. Shortened names where possible.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:17:00 +00:00
Ingo Weinhold
2a596c013a
Implemented all read-only (more precisely: not writing) methods. Small changes.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:15:35 +00:00
Ingo Weinhold
752cec6459
Several changes to the _kern_{supports,validate}_*() calls:
...
* Removed the disk_system_id parameter where superfluous.
* Got rid of the `child' variants of the _kern_{supports,validate}_*()
syscalls for moving and resizing. Reimplemented the real ones to do the
the right thing, i.e. they check all concerned disk systems now.
* Added _kern_supports_setting[_content]_parameters().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:37:00 +00:00
Ingo Weinhold
708a31badf
Added SupportsSetting[Content]Parameters() to the KDiskSystem interface and respective functions to the module interface. Some re-ordering of methods/functions for aesthetical reasons. :-)
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:29:58 +00:00
Ingo Weinhold
24fa6c601b
Added LoadDiskSystem() version, that takes a disk system name.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:26:48 +00:00
Ingo Weinhold
18b90323d9
Added flags for disk systems.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-18 18:41:21 +00:00
Ingo Weinhold
a1a7d37e2c
Added syscall for validating the initialization parameters.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-17 00:04:22 +00:00
Ingo Weinhold
3f60a01369
Added "name" parameter to KDiskSystem::[Validate]Initialize() and the respective module API functions.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-17 00:03:17 +00:00
Ingo Weinhold
8bc0bd912a
Added and implemented the remaining disk system syscalls.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-16 21:01:14 +00:00
Ingo Weinhold
1f3f1294a8
Added a IsSubSystemFor() method to the KDiskSystem interface and respective calls for the module interfaces.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-16 21:00:01 +00:00
Ingo Weinhold
1863de6785
Added and implemented the first part of the disk system querying syscalls (_kern_supports_*()).
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:42:59 +00:00
Ingo Weinhold
0fbb290f51
Some changes to/fixes of the KDiskSystem interface and the disk system module interface.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:41:32 +00:00
Ingo Weinhold
a97769a5d3
Added {Read,Write}Lock{Device,Partition}().
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:39:34 +00:00
Ingo Weinhold
dd43c7769f
* Added shadow_id field to user_partition_data.
...
* Implemented several new syscalls (_kern_find_{disk_device,partition}(),
{prepare,cancel}_disk_device_modifications(),
[un]register_file_device()),
* Fixed some details in existing syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:10:32 +00:00
Ingo Weinhold
2438192b6c
Added a deviceOnly flag to {Find,Register}Device(). Minor {Create,Delete}FileDevice() changes.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:05:50 +00:00
Ingo Weinhold
5d22fa967a
Shadow partition related changes:
...
* Fixed handling of the deletion (removal) of shadow partitions. Formerly
the shadow partition corresponding to the disk device wasn't removed
properly.
* Added a shadow_id field to the user_partition_data structure which
contains the ID of the shadow partition, if it is one. The id field
will hold the ID of the physical partition.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:00:24 +00:00
Ingo Weinhold
e1302deadb
Damn, accidentially deleted the changed header via "cvs rm -f". Here it comes again: Disk system iteration functions added.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:45:53 +00:00
Ingo Weinhold
995d5c53be
* Renamed ddm_user_interface.cpp to ddm_userland_interface.cpp which
...
matches the name of the header much better. :-)
* Implemented the syscalls for iterating through and finding disk systems.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:23:27 +00:00
Ingo Weinhold
621e29d0b5
Added a DiskSystemLoader class.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:21:34 +00:00
Ingo Weinhold
c54d68a84e
Should have waited a few more minutes... Renamed the methods {B,K}Partition::Is{Mountable,Partitionable}() to Contains{File,Partitioning}System(). Similar change for the respective flags (B_PARTITION_{MOUNTABLE,PARTITIONABLE}).
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 17:38:45 +00:00
Ingo Weinhold
55bf93d80d
Fixed handling of partition and device flags and statuses.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 17:25:32 +00:00
Ingo Weinhold
c0455c33b8
* More shadow partition support.
...
* Writing disk device/partition data into userland buffer added.
* Migration of some definitions into <DiskDeviceDefs.h> header.
* Small bug fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 23:01:22 +00:00
Ingo Weinhold
64cf9ebc08
Made PartitionRegistrar visible.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 22:57:40 +00:00
Ingo Weinhold
d885284414
First implementations of Disk Device API related syscalls (iterating through disk devices and retrieving disk device data). As long as we work in userland these aren't real syscalls, of course.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 22:56:39 +00:00
Ingo Weinhold
a162af3b0e
Made KPartition abstract and derived two classes, KPhysicalPartition
...
and KShadowPartition from it. KPhysicalPartition represents a partition
that exists on-disk, while KShadowPartition is a partition edited by the
API user, but not yet written to disk. Related changes in other classes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 23:45:26 +00:00
Ingo Weinhold
5b489f6f16
Got rid of the List template class in the disk device manager source dir. Instead we use the Vector based Kernel Utils classes now. Various related changes.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-02 16:29:33 +00:00
Ingo Weinhold
83744ac99d
Added the ImplicitKey entry strategy, which allows the key to be calculated on the fly.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-02 03:17:43 +00:00
Ingo Weinhold
7e65f8eb29
Added a Vector based map implementation.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 20:37:17 +00:00
Ingo Weinhold
92ec26a3be
Fixed documentation and a minor issue.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 20:36:11 +00:00
Ingo Weinhold
bd3ed7497a
Apparently invoking non-static member functions for default arguments doesn't work. Removed the default argument for Find() and added respective additional versions. Some more minor changes.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 01:00:23 +00:00
Ingo Weinhold
4489db253c
Added a Vector based set implementation.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 00:53:50 +00:00
Ingo Weinhold
eaf9864cde
Added a generic Vector implementation.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 19:45:10 +00:00
Ingo Weinhold
c4de095cd1
Fixed invalid default argument. Not that the compiler eats the file now...
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 19:44:14 +00:00
Ingo Weinhold
42b47c7c30
Some small interface fixes.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 15:53:21 +00:00
Ingo Weinhold
e0f43e3e84
The beginning of an AVL tree based map implementation. Well, the tree part
...
is complete, the interface needs work.
Unfortunately our ancient compiler chokes on this (`Internal Compiler
Error'). I got around the problem by restructuring parts of the code once,
but now I'm stuck -- no idea what I could change. So, there won't be
AVLTree{Map,Set} until we have a working compiler. :-(
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 15:49:33 +00:00
Axel Dörfler
fb68886768
C++ for the kernel.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 22:58:58 +00:00
Axel Dörfler
7f14e583d0
Hide the implementation (the structure definition is now in cbuf.c).
...
Changed return types to status_t where appropriate.
Now usable from C++.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 16:40:53 +00:00
Axel Dörfler
749df8aa6b
Added a benaphore_lock_etc() for a timeout possibility.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 16:39:33 +00:00
Axel Dörfler
0281fb7b32
Removed the old benaphore/rw-lock definitions, added some preliminary new
...
ones (but real functions/inlines this time).
Renamed recursive_lock_create() to recursive_lock_init() for consistency,
and added a "name" parameter.
Changed "int" return to status_t where appropriate.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 03:16:53 +00:00
Axel Dörfler
41415a1bc0
Now compilable with C++.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 02:27:43 +00:00
Axel Dörfler
64700310b9
Unfortunately, BeOS & Linux stdio.h have different header guards - our
...
inbetween solution now have both.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-25 00:22:04 +00:00
Axel Dörfler
0d76efa411
Changed the header guard to be compatible with the GNU stdio.h file.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-25 00:09:37 +00:00
Ingo Weinhold
b23394f957
* Implemented what was left to do for KDiskDevice and KPartition
...
management regarding removal and deletion of objects.
* Fixed the file disk system related stuff. KFileDiskSystem now uses the
virtualdrive driver. The former method was seemed simple and brilliant,
but the B_SET_PARTITION ioctl wouldn't work.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-24 23:56:16 +00:00
Axel Dörfler
c9b0bae94c
Needed to compile the boot loader stuff under x86.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-24 17:27:07 +00:00
Axel Dörfler
59eb57ae58
Some work-in-progress headers that are needed to build the heap test.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-24 17:22:11 +00:00
Ingo Weinhold
b8777f30dc
* Added bool to the AutoLocker constructor indicating that the object
...
has already been locked. Defaults to false, of course.
* `Abused' the AutoLocker for partition registration/unregistration
(PartitionRegistrar).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 23:42:15 +00:00
Tyler Dauwalder
d3a0e7c306
General object constructor class
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 05:56:09 +00:00
Tyler Dauwalder
ab608058b4
Allocator that uses malloc()/free()
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 05:55:31 +00:00
Tyler Dauwalder
e9ebb4a961
Beginnings of the kernel utils library.
...
Templated singly linked list class (not quite complete).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 05:54:53 +00:00