Commit Graph
100 Commits
Author SHA1 Message Date
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
Ingo Weinhold 1d5b7e0b23 _user_mount() now has a flags parameter, too.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:45:04 +00:00
Ingo Weinhold 534145b30c Flags are now passed to _kern_mount().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:44:05 +00:00
Ingo Weinhold ad6059d89f Added missing flags parameter to _kern_mount().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:42:13 +00:00
Ingo Weinhold d68a188e6d Added class KPath. Convenient wrapper for a fixed-sized path buffer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:41:16 +00:00
Ingo Weinhold 42b568aeb5 Moved to headers/private/kernel/disk_device_manager, since it is included by KDiskDevice.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:38:01 +00:00
Ingo Weinhold 5741bcb5d8 * Eliminated fs_mount::mount_point. It wasn't really used anyway, only
in dir_vnode_to_path() which does now continue until hitting "/".
* Refactored common volume root to mount point resolution code into a
  separate function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 16:08:31 +00:00
Ingo Weinhold 201e236e52 Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-02 16:16:33 +00:00
Ingo Weinhold ef4fc75459 Must use <fs_interface.h>, not <fsproto.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-02 16:15:46 +00:00
Ingo Weinhold be4e2191b1 Added small note.
BTW shouldn't those constants have the B_ prefix now that they are in a
public header?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-02 16:14:38 +00:00
Ingo Weinhold 93d412b087 Refactored the intel partitioning module.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-02 15:35:25 +00:00
Ingo Weinhold 569750e57f Refactored a bit -- pulled the partition map parser out. Userland add-on disabled for the time being, due to build problems.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-02 15:34:50 +00:00
Ingo Weinhold b4c1459318 Make use of the newly introduced generated syscall numbers header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-30 23:30:29 +00:00
Ingo Weinhold 1f90f9aa63 We do now also generate a header file that defines macros for the syscall numbers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-30 23:28:57 +00:00
Ingo Weinhold 89e53cea26 It is now understood where the _kern_restore_signal_frame() is used.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-30 23:25:55 +00:00
Ingo Weinhold 5f169e23f4 Added missing syscall _kern_restore_signal_frame().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-30 23:24:02 +00:00
Ingo Weinhold ec0a76c84d The keymap files shall depend on the "files" target only, if jam was run from an ancestor directory.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 17:50:36 +00:00
Ingo Weinhold 3b554981d3 * Corrected sMountMutex comment.
* Turned sMountOpMutex into a recursive lock.
* Re-inserted sMountOpLock locking in vnode_path_to_vnode(). It doesn't
  deadlock on mounting anymore. :-P
* Added a check in fs_mount(), whether the mount point is a directory. If
  it wasn't, in general it wouldn't be possible to get its parent
  directory.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-17 12:29:27 +00:00
Ingo Weinhold 79c795cc5d * create_new_vnode() now also fails, if the volume is about to be
unmounted.
* Clarified a comment in fs_mount().
* Added a bit of documentation regarding the mutexes and the basic vnode
  functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-13 14:53:09 +00:00
Ingo Weinhold 4ccf7da8d5 Added provisional implementation of system(). Requires a shell to be
available at /bin/sh (a symlink will do). Unfortunately there's some
problem with our shell that causes it to crash in most cases. :-(


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 17:41:34 +00:00
Ingo Weinhold 9516afb70a Added `-c' option to execute a command line. Should work, but doesn't
always do. More often than not one gets page faults. As it happens
sometimes even before anything meaty has been done at all
(e.g. in main()->init_statements()->shell_var_set_text()->
shell_value_init_text()->malloc()), I believe that's a problem not caused
by me. And I wasn't able to track it down.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 17:37:42 +00:00
Ingo Weinhold 2c731698a2 Verified incorrect behavior of entry_ref_to_vnode() when hitting a mount point or the parent of a mount point.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 10:58:29 +00:00
Ingo Weinhold 1f8bfacc76 *_read_dir() now also returns "." and ".." Entries.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 00:06:37 +00:00
Ingo Weinhold 4f9e4fc932 * The VFS cannot just pass the result of fs_read_dir() calls back to
Userland. It must always set the d_pdev and d_pino fields and, if the
  Entry refers to a mount point even replace d_dev and d_ino.
* Added a TODO comment to entry_ref_to_vnode(). It should take care of
  mount points, as vnode_path_to_vnode() does, I believe. Will verify
  and fix that next.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 00:05:51 +00:00
Ingo Weinhold 119e5eeef8 *_read_dir() now also returns "." and ".." Entries.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 00:00:29 +00:00
Ingo Weinhold ba2acd78ed Turn on debug output, only when debugging is enabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 14:30:25 +00:00
Ingo Weinhold 15f030fd16 Now lines starting with "# <number>" are skipped. This should fix problems when using a gcc 3.x preprocessor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 14:07:18 +00:00
Ingo Weinhold f740226bcd Removed unnecessary include.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 14:05:05 +00:00
Ingo Weinhold b9f857f16f os/support headers not needed anymore.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 14:04:08 +00:00
Ingo Weinhold 2cfbe8a086 Added missing include.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 23:14:59 +00:00
Ingo Weinhold 91a4796939 No need to define the types here, since arch_config.h now uses C types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 23:14:18 +00:00
Ingo Weinhold d5ea40e2bd Use the build platform libstdc++.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 23:13:09 +00:00
Ingo Weinhold b07e2ab15f uint32 -> unsigned int. No need to rely on defined types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 23:12:23 +00:00
Ingo Weinhold 61b83cc210 * Changed my doxygen comment markers from Qt to javadoc style, still
leaving the tags Qt style though. That's a bit weird, but that's the
  way Axel likes it, and we want to keep him happy, don't we? ;-P
* The common_[path_]read_stat() now fills in st_dev and st_ino in the
  result stat structure after the FS had its go. The information is
  readily available in the VFS, so why bother the FSs. In fact devfs
  didn't (and still doesn't) fill in st_dev which gave dev_for_path()
  some head ache.
* Modified _user_open_parent_dir() to accept a NULL buffer for the
  entry name and added a doxygen comment for it.

df now works properly on Haiku (save that printf() doesn't support
floating point numbers at the moment).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-09 23:21:09 +00:00
Ingo Weinhold 86170a3cd5 * Got rid of devfs_cookie::stream. It was superfluous since one can
always also access it through the devfs_vnode. This also solves an issue
  in devfs_read() where an access of a cookie->stream would crash the
  kernel, since cookie->stream was not set in devfs_open().
* devfs_open() now doesn't fail for directories and symlinks anymore.
  That prevented BNode to work for devfs dirs and symlinks.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-09 23:06:04 +00:00
Ingo Weinhold 1dae20235b If the /..' is /' then the name of the root node should consequently be
`.'. This fixes the _kern_open_parent_dir() syscall for the root directory.

I realized, that rootfs_read_dir() doesn't return the entries `.' and `..',
unlike Be's rootfs. Shall I add those, Axel?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-08 21:31:18 +00:00
Ingo Weinhold d21749db83 Fixed a problem we had with bool parameters (probably with all types that consume more storage when being passed as function parameters).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 20:17:57 +00:00
Ingo Weinhold 75df143732 Introduced a macro specifying the type function parameters are aligned to. Not nice, but seems to help with the automatic generation of syscall code (at least on x86).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 20:15:19 +00:00
Ingo Weinhold d9b1b5c979 Made the libglob.a targets for bash and make distinguishable for jam by adding grist to each.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-31 23:05:55 +00:00
Ingo Weinhold 232b476c29 Removed CRs. Sorry.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-30 21:57:06 +00:00
Ingo Weinhold 8731383444 Added graphic driver and accelerant for Tseng Labs ET6x00 chips, courtesy Evgeniy Vladimirovich Bobkov.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-29 16:31:33 +00:00
Ingo Weinhold 6106f25494 Commented out subdir mediaplayer as it doesn't exist.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-29 16:26:08 +00:00
Ingo Weinhold d668899063 On success readlink() returns the number of bytes read, not 0.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-29 11:59:07 +00:00
Ingo Weinhold 48d046ac05 * Fixed usage of user_strlcpy() in several places.
* null-terminated the result of common_read_link().
* Fixed return value of _user_read_link().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-29 11:58:04 +00:00
Ingo Weinhold f57dcf3200 Several follow-up changes required by the changes either to the VFS
syscalls or to the syscall mechanism (which exposed naming and parameter
inconsistencies).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:51:47 +00:00
Ingo Weinhold 383cdedbd2 Several follow-up changes required by the changes either to the VFS
syscalls or to the syscall mechanism (which exposed naming and parameter
inconsistencies).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:45:00 +00:00
Ingo Weinhold 3d6fb35361 FObjectsDir was renamed to FCurrentObjectsDir.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:41:13 +00:00
Ingo Weinhold 9955b99a86 Several VFS related syscalls have been changed, added or removed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:38:39 +00:00
Ingo Weinhold c46de31dea Renamed fs_query.c to fs_query.cpp and implemented the function. They don't work yet as the kernel part is not implemented yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:36:53 +00:00
Ingo Weinhold 6fec58934a We automatically generate what information are available from syscalls.h,
which from now on relieves us from the duty to maintain syscalls.S and
syscalls.c manually. Either includes a generated file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:34:43 +00:00
Ingo Weinhold d7206d7e3b Changes to allow gensyscallinfos to parse it easier (adding markers where the prototypes begin and end, and named all parameters).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:29:35 +00:00
Ingo Weinhold efd87ab8df Had to change the mechanism for automatically generating most of the
boring syscall stuff. It has two phases now: The first one
(gensyscallinfos) parses syscalls.h and generates a source file containing
all the required information. This file is compiled and linked to
gensyscalls, which generates the actual output files.
Added to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:26:52 +00:00