Commit Graph
100 Commits
Author SHA1 Message Date
Ingo Weinhold 54dd704038 Added support for the DEBUG_PRINTF macro.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:49:59 +00:00
Ingo Weinhold 2d36bfd683 * Added support for the DEBUG_PRINTF macro.
* More debugging output in error cases.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:49:12 +00:00
Ingo Weinhold 26afdd622e * Added more debug output.
* In handle_reply(), in case the port message code is not as expected,
  don't return B_OK and let the caller proceed with an uninitialized
  BMessage, but return an error.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:47:41 +00:00
Ingo Weinhold 7e3ac9f35f Changed return value of read_port[_etc] from status_t to ssize_t. That's not how it is declared in R5, but it is what actually is returned.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:45:13 +00:00
Ingo Weinhold 2751025516 Temporarily added debug_[v]printf() functions for userland usage, equivalent to dprintf() in kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:44:16 +00:00
Ingo Weinhold 6fef29ae45 * Changed return value of read_port[_etc] from status_t to ssize_t. That's
not how it is declared in R5, but it is what actually is returned.
* Fixed _user_read_port_etc(): It didn't copy the message code back to
  userland, if the message had a size > 0.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:43:07 +00:00
Ingo Weinhold 57b6c3bcad * Changed return value of read_port[_etc] from status_t to ssize_t. That's
not how it is declared in R5, but it is what actually is returned.
* Temporarily added debug_[v]printf() functions for userland usage,
  equivalent to dprintf() in kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:41:14 +00:00
Ingo Weinhold 60a463c673 Added /dev/dprintf driver. It's probably quite different from R5's, but nevertheless useful for debugging.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:36:50 +00:00
Ingo Weinhold 11446bc638 Start the registrar.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:34:20 +00:00
Ingo Weinhold ee0f30c1ce Added dprintf driver.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:33:33 +00:00
Ingo Weinhold d5807053ee * Now the DEBUG_PRINTF variable can be set to cause the macro
DEBUG_PRINTF to be defined.
* Fixed KernelAddon rule: Now not the file but the target kernel.so is
  specified for linking the add-on against, which results in proper
  dependencies. Axel: Want to clarify the ToDo comment?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:32:51 +00:00
Ingo Weinhold 40be269010 Added missing next_dev(). Axel?
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 13:46:04 +00:00
Ingo Weinhold bcab07add0 * More sophisticated debug output macro.
* Fixed BLooper::ReadMessageFromPort(). If ReadRawFromPort() failed,
  there was nevertheless a message created and dispatched.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 00:28:58 +00:00
Ingo Weinhold 8359274f30 Added mkindex to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 23:34:23 +00:00
Ingo Weinhold 807ea2fa80 More informative debug output. The MIME manager keeps on getting spurious what == 0xffffffff messages under Haiku. Needs to be investigated.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 15:36:22 +00:00
Ingo Weinhold dca399f444 Use the BApplication constructor that returns an error code instead of the one that just exit()s on error, so that we can at least print the error.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 15:33:57 +00:00
Ingo Weinhold 2397da28a0 Added support for get_next_image_info() with team ID == 0, which means the current team.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 15:32:14 +00:00
Ingo Weinhold 8afbcade1f RUN_WITHOUT_APP_SERVER needs to be exported to be visible for jam. Added listimage to the image.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 15:31:02 +00:00
Ingo Weinhold 0e7e729939 * Added the registrar server and the roster command (wasn't able to test
yet, due to problems with our system).
* The config driver lives actually in misc/config. Also added the missing
  symlink.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 23:52:59 +00:00
Ingo Weinhold b06942c604 All internally used FDs are now set to O_CLOEXEC.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 22:06:51 +00:00
Ingo Weinhold 77cbf881fc * Got rid of the BClipboard::fCount. It was modified, but never read.
Renamed fSystemCount to fCount.
* be_clipboard is now initialized by init_clipboard().
* Documented at least {Local,System}Count(), since their meaning wasn't
  very obvious to me (neither helped the BeBook description).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 00:54:00 +00:00
Ingo Weinhold 5fa518561e Use new init_clipboard() function which initializes the global be_clipboard at libbe init time.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 00:50:26 +00:00
Ingo Weinhold caf19c8b0a * When run more than one time, the tests the increment the clipboard count
didn't pass anymore. Now we check only the difference, not for absolute
  values.
* Fixed the style.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 00:48:38 +00:00
Ingo Weinhold 58b5124e46 Replace ClipboardTree by Clipboard, a class just representing a clipboard.
The clipboards are managed in a simple string->Clipboard map.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 00:45:55 +00:00
Ingo Weinhold 92b98fe111 Build the Haiku registrar (linked against our libroot and libbe). Haven't checked, if it works yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 14:35:47 +00:00
Ingo Weinhold c3362b0a7a Rewind()ing queries will work under Haiku, so check only for error under R5.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 14:22:35 +00:00
Ingo Weinhold 450b5c2c69 Reverted the last change. As Axel informed me, rewinding queries will work under Haiku. Also check, whether the query was Fetch()ed already.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 14:21:01 +00:00
Ingo Weinhold 08d0162ea2 Don't retry opening the node read-only, if opening read-write failed with B_ENTRY_NOT_FOUND.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 14:18:56 +00:00
Ingo Weinhold 458a27c988 Removed old debugging output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 14:16:53 +00:00
Ingo Weinhold 625ffa198e * Re-enabled the tests for data-only-based MIME type sniffing. Had to
disable the special test for sniffing a MIME type file (as stored in the
  MIME DB), since the framework is not really prepared to deal with that.
* Removed left-over debug code.
* Fixed a nasty `use of member of temporary object' bug.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 04:01:59 +00:00
Ingo Weinhold 42e66e22c7 Really, a static BLooper attribute is not exactly a brilliant choice. Now every time the App Kit test add-on is loaded a BLooper is constructed. And it seems we somehow leak those loopers, since when some test actually starts, already six or seven looper threads do exist. Added only a comment, since I didn't dare to meddle with those templated BMessage unit tests.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:55:33 +00:00
Ingo Weinhold 9ed278d664 The unit test framework supports catching debugger() invocations and we need to make use of that here.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:49:50 +00:00
Ingo Weinhold 26409756a9 Our warning in case of mismatching app signatures is formatted more nicely.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:47:48 +00:00
Ingo Weinhold 77b9927bb4 The BTestApp class from libcppunit always uses R5's BApplication, but here a Haiku BMessenger is tried to be created from it, which can't work. Can probably be rewritten to work, but I'm too lazy at the moment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:46:14 +00:00
Ingo Weinhold c10206311d The case for data-only-based MIME type sniffing was missing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:42:21 +00:00
Ingo Weinhold 132c664be7 Added TODO. The implementation should be revised. BClipboard::{Local,System}Count() is broken and I can see why. Instead of just fixing that a reimiplementation is probably best.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:41:06 +00:00
Ingo Weinhold 4536dd81ff Fixed standard 'backward iteration with unsigned var' bug.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:37:26 +00:00
Ingo Weinhold 0660acfd9c Must have accidently implemented BQuery::Rewind() when migrating to our syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:35:48 +00:00
Ingo Weinhold f5b1fba063 Yuck! Bad typo. I wonder why the respective unit test ever passed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:34:28 +00:00
Ingo Weinhold a368fecb8d When opening the node O_RDWR failed, we try again O_RDONLY, but we did that only, if the returned error code was B_READ_ONLY_DEVICE or B_PERMISSION_DENIED. Some FS return other error codes though, so we are completely ignorant now and always retry on error. Maybe we shouldn't for obvious cases like B_ENTRY_NOT_FOUND.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:33:25 +00:00
Ingo Weinhold 51634653c6 * Fixed BMessageBody::GetInfo(): Indexed based iteration was broken for
two different reasons.
* Fixed BMessageBody::FindData() in case of type B_ANY_TYPE, which should
  match any matchingly-named field.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:25:48 +00:00
Ingo Weinhold c9f9a6b20d * fReplyTo.target (the handler token) is internally checked even, if the
preferred handler is addressed. So make sure, it has a usable value in
  this case, otherwise ReturnAddress() usually won't work.
* If the message to be read from the port is bigger than the on-stack
  buffer, the chunk of memory to be allocated on the heap has to be the
  size of the message, not the size of the on-stack buffer. This caused
  all kind of nasty, hard-trackable problems.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:20:15 +00:00
Ingo Weinhold c5c962d426 Enhanced debugging output to print also the thread ID.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:13:52 +00:00
Ingo Weinhold 3f6a966e41 I apparently misunderstood Matthijs. This re-adds the app version.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-01 17:15:57 +00:00
Ingo Weinhold 2d4896f90e Simplified as suggested by Matthijs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-01 15:54:40 +00:00
Ingo Weinhold eea1d4c47d Add the resources to the StatCacheServer, so that it is a background app.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-01 15:39:38 +00:00
Ingo Weinhold f08f5b9bd3 Make the server a BApplication for a smoother shutdown (I've never
experienced this problem, but others have). Original changes by Axel,
though edited quite a bit by myself.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-01 15:38:12 +00:00
Ingo Weinhold f59c73a3d5 Added a URL where to get the UserlandFS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-26 14:10:20 +00:00
Ingo Weinhold bd38d51e91 Don't build the userland add-ons here anymore.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-22 15:49:13 +00:00
Ingo Weinhold 2406c27b43 Disabled building the DiskDevice stuff separately. The tests don't work at moment anyway.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-22 15:43:47 +00:00
Ingo Weinhold 36fc85d5a2 Disabled DDM tests for the time being.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-22 15:40:45 +00:00
Ingo Weinhold 4d5737d0b8 Filter the CVS dir.
BTW, I find this whole thing somehow misplaced and ugly, but I have no
good idea how to do that with Jam.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-19 23:01:47 +00:00
Ingo Weinhold 081debe878 Fixed treatment of source files in UseArchObjectHeaders and SourceHdrs. Grist/object suffix were not set correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-19 15:42:06 +00:00
Ingo Weinhold 94a49b214b Fixed SetupKernel. SourceHdrs is best invoked on source files, otherwise
HDRSEARCH won't be set on the sources which may cause header dependencies
to be missing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-18 15:59:02 +00:00
Ingo Weinhold 90072e721d Always define the symbols needed for basic C++ features. If we link against libgcc.a the symbols from there are simply overridden.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-03 17:33:17 +00:00
Ingo Weinhold 135df065c1 Extremely bad idea: Since the inline stat() is not static, we get a endless recursion, if the server is not running. Fascinatingly this doesn't happen on R5, but at least on BONE (with the same executable) -- correctly, I would think. Apparently a bug in the R5 loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 23:52:15 +00:00
Ingo Weinhold 8370cac7f6 Changed my mind. Now BPartition has a method to get the mount point of the partition, respectively a potential mount point, for partitions not yet mounted.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 19:38:47 +00:00
Ingo Weinhold 419458bc96 Moved getting a partition's future mount point into a separate function, so it can be reused by mountvolume.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 17:02:12 +00:00
Ingo Weinhold ec2680f053 BDiskDevices are partitions, too. Hence PartitionFilterVisitor should not ignore them.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 15:56:47 +00:00
Ingo Weinhold 5198376e54 Updated BDiskDeviceList. The implementation was still reflecting the first version of the DiskDevice API. Untested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 15:27:45 +00:00
Ingo Weinhold 08387795eb Removed VisitAll(). That's exactly what VisitEachPartition() does (since disk devices are special partitions).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 15:25:37 +00:00
Ingo Weinhold 06f517532d The order of parameters for fs_mount_volume() changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 13:03:04 +00:00
Ingo Weinhold 7c8bb86f70 Fixed getting the target parameter.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-31 23:56:16 +00:00
Ingo Weinhold da434e3af1 Added the bootstrap jam.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-30 23:23:34 +00:00
Ingo Weinhold 568dabdb50 Added a server that caches stat data and directory contents.
To use this feature run StatCacheServer somewhere in the background.

The first run of jam will be slower, but subsequent ones will usually
benefit. Only little, if the BeOS FS cache is able to hold the data,
but as soon as the number of files and directories jam has to inspect
hits the limit at which the cache drops data needed for the next run,
the performance difference will be very noticeable.
E.g. the time for a  "jam -n > /dev/null" in the root of a partially built
tree on my machine dropped from >1 min without the server to 13 secs
with it (not in the first run, of course).

Although tested quite a bit, I would still consider the feature
experimental.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-30 23:21:59 +00:00
Ingo Weinhold 49336e9ab1 Generated file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-30 23:02:00 +00:00
Ingo Weinhold fc64fadfd7 Argh! No wonder, why the Jamfile cache didn't seem to have any effect:
A bug in the function reading the cache file caused everything after a
file beginning with an empty or comment line to be ignored. Since our
Jamrules begins with a comment and only after reading Jamrules the cache
starts to work anyway, it indeed had no effect at all.
Added some error output in case reading the cache file failed, so that
this can't happen unnoticed again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-30 12:19:13 +00:00
Ingo Weinhold 0eddefbe02 With our new gcc 2.95.3 we need to explicitly link against libnet.so again.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-30 12:08:24 +00:00
Ingo Weinhold 194f93689b Added the DiskDevice API to libbe.so (not to libopenbeos.so though). Ready to be tested under Haiku. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:43:16 +00:00
Ingo Weinhold 48c0bc75f8 Now <syscalls.h> declares the DDM syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:41:30 +00:00
Ingo Weinhold d119b3ec56 Implemented Mount() and Unmount(). Completely untested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:40:26 +00:00
Ingo Weinhold 701965a64c Added mountPoint parameter to Mount() and unmountFlags parameter to Unmount().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:39:30 +00:00
Ingo Weinhold de278b48c4 Now implements the _user_*() functions for the DDM syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:38:17 +00:00
Ingo Weinhold 7146639259 DDM syscalls added.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:37:37 +00:00
Ingo Weinhold 16ba90652c Made C-safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:36:58 +00:00
Ingo Weinhold 8ae2a1ef21 Include <storage/DiskDeviceDefs.h> instead of <DiskDeviceDefs.h>. So noone including <syscalls.h> needs to explicitly add the private storage kit header dir to the include search path.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:36:07 +00:00
Ingo Weinhold af327271cc Made C-safe. Now no longer declares the syscall prototypes, but the prototypes for the respective _user_*() functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:33:59 +00:00
Ingo Weinhold 2956802960 Added the DDM syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:27:44 +00:00
Ingo Weinhold c0e501e020 Pulled the subdirectory specific part out of SetupKernel and changed the remaining functionality to really apply to objects. This does now really give us those headers and flags whereever we use a *Kernel* rule, unlike before. Added the root dir of the private headers to the general header search dirs. This simplifies some things a bit (like using syscalls.h).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:27:11 +00:00
Ingo Weinhold 7fb2963ae4 * Added vfs_normalize_path() service call.
* Added resolve_mount_point_to_volume_root() which does what
  resolve_volume_root_to_mount_point() did. IOW the latter one didn't
  do what it advertised.
* Fixed dir_vnode_to_path(). Basically broken due to the broken
  resolve_volume_root_to_mount_point(), but also compared potentially
  unrelated vnode IDs (belonging to different volumes).
* Fixed get_dir_path_and_leaf(). It didn't deal correctly with paths
  ending in '/' (including the root dir).
* fs_mount() does now accept a NULL fsName, getting the FS name from
  the DDM in this case.
* fs_mount() now also supports mounting file images; it lets the DDM
  create a file device for them.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 22:31:43 +00:00
Ingo Weinhold c06238cbd6 * Reworked publishing/unpublishing of the device. This is now basically
done by (currently not existing) devfs functions.
* Overridden GetMediaStatus() and GetGeometry() to return useful data.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 22:22:04 +00:00
Ingo Weinhold 1e2e4b3c71 Re-added support for file devices.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 22:18:20 +00:00
Ingo Weinhold cba3b01fdf Added support for path normalization.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 22:16:41 +00:00
Ingo Weinhold da87ac8c9a Added KFileDiskDevice to the build again. Fixed compile errors. It won't work yet, though.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 16:05:22 +00:00
Ingo Weinhold 4303e367b2 Now we need to explicitly disable RTTI in the boot loader, since it is generally enabled in the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 16:03:12 +00:00
Ingo Weinhold df48dfeda2 Generally enable RTTI in the kernel -- by linking against libgcc.a we get it for free. Better recompile the complete kernel or you might get linker errors when using old objects with missing type_info. For the boot loader we'll have to explicitly disable RTTI though -- respective commits follow...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 16:01:16 +00:00
Ingo Weinhold 6a6164e712 Renamed RecursiveLockAutoLocker to RecursiveLocker. Don't mount the standard file systems read-only anymore -- they either aren't or know better anyway.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 15:57:04 +00:00
Ingo Weinhold e5452be634 Cleaned up GetPath(). In the kernel we no longer prefix the partition path names with "obos_" or "haiku_".
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 15:13:08 +00:00
Ingo Weinhold 0402530222 Extended Append() to also allow adding parts of path components. Added leaf component manipulation. Now always chop trailing slashes off the path.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 15:09:48 +00:00
Ingo Weinhold 480742bd7a KPath added to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 22:15:11 +00:00
Ingo Weinhold f3604f65e7 * Added missing `flags' parameter for the mount functions.
* fs_mount() and fs_unmount() are now aware of partitions. A device to
  be mounted is looked up by the DDM and the mount state and mount
  cookie of the corresponding KPartition are updated accordingly.
  Still missing is support for mounting files. Moreover the device path
  needs to be normalized.
* Added RecursiveLockAutoLocker class to ease the `goto errN' pain a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 22:11:57 +00:00
Ingo Weinhold 5de8542789 Since the kernel links against libgcc.a and we use some C++ features that cause functions of libgcc.a to be included that use a couple of formerly undefined symbols (stderr, fprintf, abort, debugger) those had to be added to kernel_cpp.cpp. We don't build the kernel utils as static library anymore, since libgcc.a is listed at the end of the link command line and trying to change that would be a bit ugly. For C++ in the boot loader nothing changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 22:07:00 +00:00
Ingo Weinhold 2cee54a863 Use KPath now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:59:54 +00:00
Ingo Weinhold 8ece359269 Uses KPath now, which significantly reduces the stack footprint.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:59:05 +00:00
Ingo Weinhold 1766c66484 Added header directories needed now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:57:23 +00:00
Ingo Weinhold 92eb857652 Used KPath where possible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:56:38 +00:00
Ingo Weinhold 92221d2425 KPath is used now where possible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:56:05 +00:00
Ingo Weinhold 3f3f9cb61a Added Unlock() (an nicer sounding alias for Unset()) and Detach() (the lock is kept when the object is destroyed) to AutoLocker.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:54:12 +00:00
Ingo Weinhold 1b5f626633 * Changes to use KPath where possible now.
* Made GetMediaStatus() a bit more robust. If the ioctl fails (e.g. if it
  is not implemented as in Thomas' drivers), it gets the device geometry
  and does not fail, if the device is not removable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:52:33 +00:00
Ingo Weinhold 0707c10377 KPartition::GetPath() now uses the new KPath class, which makes it more convenient to use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:48:47 +00:00