Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 7f5c5fd42b The search path feature now works properly. The path found is now propagated
back to load_container() so that map_image() has the chance to succeed.
The FATAL() macro now uses dprintf() instead of printf() when TRACE_RLD is defined.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 23:29:04 +00:00
Axel Dörfler f876489277 Added support for changing the access mode using ioctl() and B_SET_(NON)BLOCKING_IO.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:47:11 +00:00
Axel Dörfler 9c137c0adf Enabled the bfs_set_flags() call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:45:24 +00:00
Axel Dörfler d590ff3d36 We now have a working fcntl() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:40:13 +00:00
Axel Dörfler d6571884c7 Added basic fcntl() functions and syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:36:44 +00:00
Axel Dörfler 6acb672431 New syscall for fcntl().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:28:48 +00:00
Axel Dörfler c7a0c0f9e1 Added set_flags() support where needed. devfs now uses the ioctl() mechanism
via B_SET_(NON)BLOCKING_IO to notify the device about any access mode changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:24:12 +00:00
Axel Dörfler 752c2e981e The set_flags() call was missing from the FS interface.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:22:00 +00:00
Axel Dörfler ae1b76c11e I didn't like the BeOS field names, but I forgot them in the comments.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:18:48 +00:00
Axel Dörfler 3db167c4d2 %ebp was not saved which resulted in a crash on longjmp().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:15:41 +00:00
Axel Dörfler a4611f9d2b The BSD setjmp() implementation was not at all BeOS compatible. This one
is now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:08:03 +00:00
Axel Dörfler b5c6c8b6b5 We now have a POSIX compatible setjmp.h header (also BeOS binary compatible).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:06:36 +00:00
Axel Dörfler 40cc0ebde2 Added an endless loop detection; it will now store up to 16 stack positions
and will check against those. This fixes the rare case an interrupt frame
could cause before.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 22:52:56 +00:00
Axel Dörfler 0f5095f9f9 Now uses thread::user_stack_size instead of STACK_SIZE. This also fixes a
potential bug if MAIN_STACK_SIZE and STACK_SIZE would have been different.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 22:41:34 +00:00
Axel Dörfler 2130a091c3 Added field for the size of the userland stack; a userland stack is allowed
to have any stack size, it's not a fixed value (well, at least that's what
will happen :)).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 22:37:44 +00:00
Axel Dörfler 57bf060563 Fixed another stupid bug in the file cache: when the first read was a partial
read over two blocks, some memory behind that memory could be trashed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 21:03:31 +00:00
Axel Dörfler cf4c7a2043 Now defines COMPILE_FOR_R5 to make sure it's compiled correctly; note,
ObjectDefines in the Jamfile didn't work for some reason.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:52:50 +00:00
Axel Dörfler c743fe4219 Removed the R5 notify_select_event() function - it's now defined in Select.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:45:04 +00:00
Axel Dörfler 8c1ba914c9 R5 notify_select_event() didn't have a return value.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:44:00 +00:00
Axel Dörfler 1c1b484da3 Removed old notify_select_event() in fsproto.h - this fixes the build for now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:40:15 +00:00
Axel Dörfler 565162d26f Now always defines COMPILE_FOR_R5 for now (since there is no Haiku version yet).
Removed notify_select_event() prototype from local fsproto.h file; it now builds
fine again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:38:03 +00:00
Axel Dörfler 18469286aa Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:36:59 +00:00
Axel Dörfler af91664416 Now makes sure that the index get_tty_index() returns is in a valid range.
Added some more conditional debug output, turned off debug output.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 17:36:47 +00:00
Axel Dörfler 7740b91858 Ported over consoled from NewOS. It's a very simple replacement for the
Terminal application that uses our TTY driver.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 17:33:29 +00:00
Axel Dörfler 9d1f6da844 line_buffer_read() did not properly remove the bytes read, it just bumped
the read offset.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 17:29:10 +00:00
Axel Dörfler 87df3fdab8 WriterLocker mixed up source and target and always locked the wrong one.
tty_write_to_tty() now takes the extra character into account that may be
inserted with OPOST and ONLCR and don't write more characters as there is
space.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 17:27:57 +00:00
Axel Dörfler 57549ff41e Removed vfs_types.h - it's no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 01:31:15 +00:00
Axel Dörfler 2c8b3014ef Moved select events to Select.h. Now includes that header, too.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 00:31:20 +00:00
Axel Dörfler 7f246a3068 Added proper select() support for R5 and Haiku.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 00:29:49 +00:00
Axel Dörfler 8384cc5c92 Moved the select stuff into its own header file for now which is now included
from both, Drivers.h, and fs_interface.h.
The latter no longer includes vfs_types.h for iovecs, but <sys/uio.h> for iovec.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 00:28:57 +00:00
Axel Dörfler a83233417d Fixed warning, small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 00:11:19 +00:00
Axel Dörfler 8b41e11557 Fixed a possible deadlock (the requests benaphore is now unlocked before
waiting on the write semaphore).
The write functions didn't change the buffer address on a partial write
which could lead to corruption in the pipe data.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 14:30:53 +00:00
Axel Dörfler a83d9efacf Some changes to debug output.
Fixed a warning that popped up if TRACE_VM was defined.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 14:24:44 +00:00
Axel Dörfler 2ff1ba0dc7 tty_input_read() was blocking until the whole buffer could be filled - that's
not really standard behaviour...
tty_input_putc() now also releases the reader semaphore if that hasn't been
done before.
tty_input_putc_locked() now does character processing and sends some signals -
not yet complete, though, especially VERASE and VKILL do nothing right now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 12:58:33 +00:00
Axel Dörfler 8b2f07b69e Removed sleep(), it now uses spin() from cpu.cpp - which is the exact same thing anyway.
This fixes the build as unistd.h defined sleep() as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 12:51:34 +00:00
Axel Dörfler a67dbcba14 reset_line_buffer() is actually called clear_line_buffer().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 12:21:21 +00:00
Axel Dörfler 005333c0d9 No more debug output for the driver part.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 12:20:31 +00:00
Axel Dörfler f3df760478 Fixed the return type of user_memcpy() and friends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:47:46 +00:00
Axel Dörfler 85f6117e32 Moved the user_memcpy()/strlcpy()/memset() calls to KernelExport.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:29:00 +00:00
Axel Dörfler fafe5b8bdb Added two ioctl() values to set and get the TTY's process group ID.
Copied the old and ugly naming style, though...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:24:46 +00:00
Axel Dörfler 2f88663bae Moved the user_memcpy()/strlcpy()/memset() calls to KernelExport.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:22:34 +00:00
Axel Dörfler 9ade9e873d Added fields for process group and session IDs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 19:44:10 +00:00
Axel Dörfler f7bc46254a readwrite() was broken when it had to load more than one missing page at once.
It now prints a warning if the device driver doesn't handle iovecs correctly.
Again, this could lead to very strange behaviour.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 16:30:25 +00:00
Axel Dörfler fa42f1c2b9 Work in progress. Basic data exchange seems to work.
Only slightly tested (moved data to and from pty <-> tty).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 04:16:34 +00:00
Axel Dörfler 410c1c159f Calmed down the soon to be removed driver loader (to be replaced by a better
version in devfs directly).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 03:42:07 +00:00
Axel Dörfler da63fa920a device_open() gets the relative path from devfs mount point, not just the
name of the node.
devfs_read_stat() now (presumably temporary) sets the size of the device
for partitions and reports a block device rather than a character device
if the size unequals zero.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 03:22:56 +00:00
Axel Dörfler af069b1a47 isatty() and ctermid() now actually work correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 01:51:01 +00:00
Axel Dörfler 4c3d76fd9b Minor cleanups.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-24 00:21:53 +00:00
Axel Dörfler 14d1496a7f sysconf(), pathconf(), and fpathconf() now at least do marginally useful things.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-24 00:16:51 +00:00
Axel Dörfler 2f524aed3a Reworked some TTY support functions. Added tcgetattr() function.
tcsendbreak() now ignores the "duration" parameter.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 23:52:36 +00:00
Axel Dörfler 98ac7a9709 Removed the termios subdirectory; it's replaced by posix/termios.c.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 23:49:53 +00:00
Axel Dörfler cf46507317 The termios support is now part of the posix_main.o object file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 23:48:50 +00:00
Axel Dörfler b67cd64e96 Almost rewrote the termios.h header file.
It's now much cleaner than before. Removed the tcgetattr() macro; it's now
a real function call again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 23:46:24 +00:00
Axel Dörfler 2627eeff81 Joined the former termios/termios.c and termios/tcsetattr.c together to termios.c.
Added it to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 23:45:03 +00:00
Axel Dörfler 6b30603314 Added the beginnings of our TTY layer.
After having had a look at our own Terminal code (former MuTerm), I even
copied the original mess in /dev/tt/ and /dev/pt/.
The /dev/tt/ entries could be created and removed on demand, though, but
that can't be done yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 13:54:20 +00:00
Axel Dörfler a78a421de8 Renamed sleep() to spin() as that's what it does, and sleep() also doesn't
like unistd.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 13:43:57 +00:00
Axel Dörfler 130b146f78 Added comments to definitions.
Added preliminary O_TEMPORARY flag.
Made it a bit more POSIX compliant.
Cleaned up header.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-21 22:45:08 +00:00
Axel Dörfler fe29b8929a Some cosmetics for booting with qemu.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-21 12:09:36 +00:00
Axel Dörfler ffda28d2b5 Fixed warning of the debug build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-20 11:05:33 +00:00
Axel Dörfler f390e6a3f7 Fixed the build of the debug version of the driver. Thanks to Jerome for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-20 11:03:40 +00:00
Axel Dörfler 3b00a056c7 Be's native types are no longer allowed in this file (because of the gensyscall utility).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-19 18:55:33 +00:00
Axel Dörfler 452ba3abd1 Just like any other mount point, "/" should not be remounted - dunno
why that was there before. Thanks to Ingo for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-16 15:34:26 +00:00
Axel Dörfler bfe052ed74 I accidently mixed up the parameter order of the ISA I/O calls, thanks
to Stefano for reporting this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-16 10:39:14 +00:00
Axel Dörfler fbb0ac2170 fork() now at least calls _kern_fork(), but would not even be complete
if that one worked.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:48:28 +00:00
Axel Dörfler f845dd4e4f Implemented userland part of execve().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:46:56 +00:00
Axel Dörfler 41f37da0fd Added empty and non-working syscalls for _user_fork(), _user_wait_for_child(),
and _user_exec().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:45:37 +00:00
Axel Dörfler 25258635f7 Implemented waitpid() a bit more; it now calls the _kern_wait_for_child() syscall.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:44:06 +00:00
Axel Dörfler 367fa74ad9 Added needed syscalls for fork(), exec(), and waitpid().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:42:02 +00:00
Axel Dörfler cd4e4d3383 Added wcsmbs to libroot.so, replaced posix_gnu_getopt.o with posix_gnu_ext.o
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 12:28:34 +00:00
Axel Dörfler ac50932dae Moved the getopt() functionality from the getopt/ subdir to the new
extensions/ directory - which will contain glibc specific additions
to the POSIX standard (getopt() is here because of getopt_long() etc.).
Also added obstack functions.
Added wcsmbs to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 12:23:08 +00:00
Axel Dörfler 0dffa6c281 It's now allowed to use wchar_t - it doesn't hurt anymore :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 12:21:19 +00:00
Axel Dörfler 5e4171c975 Made a minimum subset build - mbrtowc() is currently a hack to make it work...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 12:20:03 +00:00
Axel Dörfler 40f2ce7d20 Activated the index functions and ported it to the the new VFS API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 02:08:54 +00:00
Axel Dörfler 1b41fce458 Added some rudimentary AMD CPU identification, courtesy of Brennan Cleveland.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 01:54:50 +00:00
Axel Dörfler 75e4b8694c Removed the STREAM_TYPE_ constants.
Now maintains uid/gid/mode, modification and creation time for all nodes.
Implemented rootfs_write_stat() completely. rootfs_read_stat() now fills
in all required values.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 00:44:57 +00:00
Axel Dörfler 31a726883b Now maintains uid/gid/mode/mtime/crtime, added pipefs_write_stat().
Access permissions are not verified.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 00:15:52 +00:00
Axel Dörfler e4a0232cc7 Small bugfix: rootfs_read_stat() returned creation time instead of modification
time in st_mtime.
rootfs_write_stat() now properly locks the node access.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 00:02:55 +00:00
Axel Dörfler a837c705f5 Now has a basic understanding of uid/gid/mode values and maintains it -
permissions are not tested, though.
Removed the STREAM_TYPE_ constants.
Now maintains a modification and creation time for all nodes.
Implemented rootfs_write_stat() completely. rootfs_read_stat() now fills
in all required values.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 23:42:14 +00:00
Axel Dörfler f8cbad7b3e Implemented readdir_r().
Added note to dirfd() that it should be excluded from the kernel build
once the build system allows this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 23:10:29 +00:00
Axel Dörfler d8b0b6fe51 Added readdir_r() function prototype. Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 23:08:21 +00:00
Axel Dörfler ad21930ee8 Now exports the fflush_unlocked() symbol as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 23:02:44 +00:00
Axel Dörfler 316c0c3139 Added the dirent functions to the kernel as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 22:46:42 +00:00
Axel Dörfler 3901fa14bf Moved dirent.h functions from unistd/directory.c to new dirent.c file.
Added dirfd() call for BeOS compatibility.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 22:10:43 +00:00
Axel Dörfler 5e2d8bb9f7 Added a BeOS compatible header for the GNU getopt() extensions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:56:37 +00:00
Axel Dörfler 8141b62d5e Removed our old getopt.c - we're now using the one from glibc.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:44:59 +00:00
Axel Dörfler 7e24c69719 Added glibc's getopt() to the libroot.so build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:42:50 +00:00
Axel Dörfler 05cd7f3a98 Make it build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:41:46 +00:00
Axel Dörfler ee3f1543b0 Added glibc's getopt() implementation for better compatibility with BeOS.
This normally resides in the posix/ directory in the glibc source repository.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:39:26 +00:00
Axel Dörfler 8bc22ef101 Error messages are now directed to stderr rather than stdout.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:19:50 +00:00
Axel Dörfler c6e3ff2240 "rdtest" now dumps up to 1024 bytes, not only 512. Also, it now prints
out a message to indicate that only a part of the requested buffer is
dumped on screen.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 19:51:47 +00:00
Axel Dörfler 30a0c00ded Some more debug output when tracing is enabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 17:43:53 +00:00
Axel Dörfler 81f2f81c21 If the kernel_args::cons_line field is not maintained (ie. is zero), the
console driver now clears the screen when it's initialized.
This improves the first impression of the standard boot process when
booting in text mode (which currently happens when you press "escape"
in the early boot stage).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 17:40:23 +00:00
Axel Dörfler 2ef444519e Work-around for buggy device drivers: some drivers (including our current
IDE drivers :-)) don't respect the total amount of bytes to be read in the
former readv() (now read_pages()) call. This can potentially fix all sorts
of strange errors in userland :)
Fixed the debug build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 17:37:43 +00:00
Axel Dörfler aad5dc5b3d Removed holding the sMountOpMutex added by the last commit; although this
recreates a race condition, having it here breaks the kernel as fs_mount()
calls this function and already holds the mutex.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 15:46:02 +00:00
Axel Dörfler 82b76be31e Cleaned up the page alignment macros, incorporated NewOS fix #2022
(but with the correct semantics).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-13 18:59:25 +00:00
Axel Dörfler 04a280790e Added some debug output that's going through the kernel debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-13 18:17:47 +00:00
Axel Dörfler a0f707f29e Fixed tab-output; usually, all characters after a "\t" would be ignored in the output.
Now panics if devfs_publish_device() fails.
Tracing can now be turned on and off (it's now completely silent in normal operation).
Some cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-13 16:25:47 +00:00
Axel Dörfler 5a0da774a5 Fixed compilation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-13 11:44:58 +00:00
Axel Dörfler c654468395 Cleaned up the stdint.h header.
Separated macros from the typedefs, removed macros for unsigned minima as
these are not part of the standard.
Added intptr_t/uintptr_t types. Added some comments what those types stand for.
Added a note that this header is mostly compiler/arch specific and should
be handled (adapted) like this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 18:31:36 +00:00
Axel Dörfler e03f6fcfe2 Added the arch_config.h file for PPC, moved some stuff out of arch_cpu.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 11:04:23 +00:00