Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 4b0c008cc5 Added some definitions for the generic syscalls. Cache modules should currently
be located in the "file_cache" directory - this might or might be changed later.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-07 00:56:50 +00:00
Axel Dörfler f3d2f0ffa2 cache_module_info::node_opened() was called with the wrong argument order.
Added generic syscall to control the cache. Right now, only setting/removing
cache modules is implemented.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-07 00:55:08 +00:00
Axel Dörfler 2a5dafa804 recurse_directory() is no longer part of the build if SUPPORT_BOOTFS is
not defined. It will now also skip about all entries called "boot" (to
not load the boot modules again).
The path of preloaded images is now hacked together so that the module
image hash contains the correct path in case the images get replaced
while being used.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-06 21:46:03 +00:00
Axel Dörfler b1e252f77f Added a SUPPORT_BOOTFS definition and made the vfs_get_module_path() the new
standard mechanism - recurse_directory() is now only used if SUPPORT_BOOTFS
is defined and vfs_get_module_path() failed.
Added standard system kernel add-ons directory to the search path list.
Renamed USER_MODULE_PATHS to FIRST_USER_MODULE_PATH as that's what it is.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-06 20:31:22 +00:00
Axel Dörfler fb77bc372f vfs_get_module_path() now actually works: it failed to create a valid full
path, since it didn't take into account that vnode_path_to_vnode() may
actually change the provided buffer.
Also fixed a potential buffer overrun in that function (bufferSize was
not correctly changed), and added a comment about a previously undocumented
property of vnode_path_to_vnode() that vfs_get_module_path() relies on.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-06 20:20:48 +00:00
Axel Dörfler 73bcca6b32 Added a small command to set the volume of the master gain in the audio mixer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-06 15:32:59 +00:00
Axel Dörfler 0bf9534d45 Now stacks up group text_runs correctly - previously, the run on the stack could
still be changed by the new group (which lead, surprisingly, to wrong results :).
Added \line and \'hh commands (first part of charset support beyond plain ASCII).
Renamed GetStyle() to PrepareTextRun().
Added some support functions to copy and compare text_runs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-03 23:55:39 +00:00
Axel Dörfler 37ec8144ed The \'hh command is now also correctly interpreted (it's not a standard command).
The Text class no longer likes '\n' and '\r' and will throw those away happily.
parse_integer() can now parse integers with different radix.
Improved debug output a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-03 23:46:08 +00:00
Axel Dörfler 8bf6d9ff50 No longer uses the RTF::Iterator to process the document; it now subclasses
the RTF::Worker for this task (TextOutput).
Cleaned the sources a bit, TextOutput now also contains the functionality
of the former AppServerConnection class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-03 10:13:32 +00:00
Axel Dörfler 63c6a88ba0 Added a simple RTF::Worker class that can be subclassed in order to work
with the RTF document step by step.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-03 10:10:46 +00:00
Axel Dörfler 9932029846 Extended support of RTF features. Ie. the conversion/group context is now
maintained, and should work more or less correctly.
Monospaced fonts can now be chosen (the font table is partially parsed),
italics works, and many other things.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-03 08:38:48 +00:00
Axel Dörfler e815584a4f We're not really yet version 1.0.0 :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-03 08:34:23 +00:00
Axel Dörfler e709e3665e The parser now uses a BBufferIO stream to speed things up.
Text::Parse() now converts bigger chunks at once.
Default RTF element destination is visible in text now, only known
other destinations are marked that way (using a lookup table).
Added virtual method IsDefinitionDelimiter() to Element to make
definition iterating nicer.
";" now always forms a separated Text object - this fixes the
definition handling.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-03 08:33:19 +00:00
Axel Dörfler 64214d4cce Mostly adapted to the refactored RTF classes hierarchy.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-03 02:04:44 +00:00
Axel Dörfler a7e0bca0f7 Refactored the code: put everything in the RTF namespace, separated group
functions from the former RTFElement (now RTF::Element).
Put the parsing basics into a separate class RTF::Parser (used to be in
the static RTFHeader::Parse()).
RTF::Header is now always correctly set to RTF::TEXT_DESTINATION.
Some minor other related changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-03 02:03:34 +00:00
Axel Dörfler 40d9768b92 Added a simple RTF translator.
It only supports colors and bold fonts beside plain ASCII text, but it's a
start.
The RTF* class hierarchy should get a cleanup, though (and will soon).
You'll need Haiku's StyledEdit to make use of this translator.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-02 23:28:30 +00:00
Axel Dörfler c05649ebef Fixed a typo reported by John Drinkwater.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-28 16:38:48 +00:00
Axel Dörfler e372dc78c8 Added handling of B_QUIT_REQUESTED messages, even if it might not be complete.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-21 01:32:55 +00:00
Axel Dörfler 50df61f891 Fixed warnings.
Applied our style guide.
Removed fHeight from comparisons, fSize should be enough. Clarified comparisons.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 13:56:14 +00:00
Axel Dörfler 4d74cda31c __HAIKU__ is now always defined for the kernel build rules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 13:52:57 +00:00
Axel Dörfler dfb4723fdf _kern_open_query() syscall had been changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 13:30:00 +00:00
Axel Dörfler c18d84297a Grouped all constructors together.
Moved InitData() to be close to the constructors.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 13:04:16 +00:00
Axel Dörfler 72f5d8600c Moved the quit window code into window_quit_loop() which is now called by
quit_all_windows(). I've also implemented the file panel quit mechanism,
but I'm not sure it's correctly done yet.
The BApplication destructor now locks the looper. Added commented out
deletion of fServerTo port and a ToDo comment if this should be done.
Run() no longer checks fMsgPort somewhere, but fInitError at the beginning;
if a missing fMsgPort doesn't set this, I guess InitData() is broken (or
better, BRoster::Private::CompleteRegistration() is). It now also deletes
any fPulseRunner (could be moved to ~BApplication, though).
QuitRequested() now correctly calls quit_all_windows().
Added a question to Quit() about the usefulness of special casing calling
the function from another thread.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 12:57:00 +00:00
Axel Dörfler af34fbf1c5 Moved the unmaintainable list of initializers for the different constructors
to InitData(). Also fixed the initial value of fPulseRate (was 500000 but
according to the BeBook, it should have been 0).
Implemented SetPulseRate() (untested, but should be okay).
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 11:09:56 +00:00
Axel Dörfler beabca50a7 Collision with our style guide.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 10:30:50 +00:00
Axel Dörfler bae6988e7d Fixed some bugs and added some missing functionality:
- DispatchMessage() would swallow all handled messages, no matter if they were
  intended for this handler.
- B_REFS_RECEIVED does now maintain the recent folder/document lists.
- Now calls Pulse() when a B_PULSE is received.
- No longer calls ReadyToRun() more than once, no matter how many B_READY_TO_RUN
  are sent to the app.
- Added B_APP_ACTIVATED to the yet unhandled messages; furthermore, the known
  unhandled messages now dump themselves to stdout.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 10:04:28 +00:00
Axel Dörfler cfa4cb788c Now uses DataEditor::AttributeRef() where appropriate.
The definition of BEOS_R5_COMPATIBLE is no longer necessary, due to improvements
to our build system.
For root directories, the attributes are now taken from that directory; previously,
only the device was tested for attributes (which doesn't have any in BeOS).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-17 08:41:01 +00:00
Axel Dörfler 86daa6f28c Now also shows the volume name instead of the entry_ref name for root directories.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-17 08:37:50 +00:00
Axel Dörfler 9e98ea36fd The DataEditor now has a separate entry_ref for attributes - that's used
to have access to the attributes of a root directory. Internally, only
this ref is used when accessing attribute data.
Also fixed an initialization bug in case the stream couldn't be properly
opened; some values were just set too late (could lead to strange things
as well as a crash).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-17 08:34:34 +00:00
Axel Dörfler 87f158f3f5 Now only replaces the directory's name with the volume name for root directories for the window title.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-16 02:45:44 +00:00
Axel Dörfler d8e0549fd4 ArgvReceived() no longer calls Probe() directly, but builds a BMessage
for RefsReceived().
Probe() now accepts a BEntry instead of an entry_ref, and all entries, too;
unacceptable nodes should be sorted out before.
RefsReceived() now sorts out BDirectories and will open one alert for
all directories, no longer one for each.
Added temporary hidden feature: pressing shift when opening a file will
make it possible to open symlinks and directories (to be able to access
their attributes).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-16 02:38:51 +00:00
Axel Dörfler 61784ba644 The DataEditor class now only redirects root directories to volumes; it
can now also open directories and symlinks, in which case nothing can be
done (but theoretically, the attributes could be changed).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-16 02:32:56 +00:00
Axel Dörfler 56904be516 The DataView can now also accept drop messages from others and itself; the
mouse is tracked when you're dragging over the view, and the affected area
is selected.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-16 01:14:42 +00:00
Axel Dörfler 8e9afca70f Started implementing drag&drop - for now, you can drag contents out of the
DiskProbe window only. Only ASCII clippings will contain "text/plain" data,
so don't be surprised if Tracker sometimes doesn't create a clipping file
(if you drop on Tracker).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-15 14:46:39 +00:00
Axel Dörfler fc1658382d Fixed a bug that I introduced with revision 1.9 when fixing the selection
deletion: you just couldn't delete over a ' ' with backspace...
Merged B_BACKSPACE and B_DELETE handling again.
Applied suggestions made by Stefano, like using ByteAt(x) over Text()[x].


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-15 14:03:56 +00:00
Axel Dörfler e93e8b9a66 Removed unused mount/unmount commands.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-15 00:13:25 +00:00
Axel Dörfler dbef8d930c As suggested by Ingo, the "subsystem" parameter is now a string. That allows
modules to use their module name directly.
Also introduced a whole range of reserved syscall functions in case we want
to add some more.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 17:09:06 +00:00
Axel Dörfler b793d2a2bc Cleaned up the disk device manager syscalls to look like the rest.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 17:05:56 +00:00
Axel Dörfler f4160aedf9 Renamed semaphore syscalls to the new scheme.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 16:07:23 +00:00
Axel Dörfler 2fe71062b7 Renamed the semaphore syscalls to the new scheme (_kern_ instead of sys_).
Small cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 16:06:34 +00:00
Axel Dörfler 483a56e2fa Implemented a generic syscall mechanism. For example, kernel modules can use
this during runtime to add and remove specific syscalls. You can also use this
to add debugging or temporary kernel calls without messing up the syscall
table (the syscall numbers will stay constant).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 15:49:20 +00:00
Axel Dörfler c3c3d22f64 Implemented a generic syscall mechanism.
Minor cleanup in syscalls.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 15:46:53 +00:00
Axel Dörfler a36b16ba28 Added MIME types for WMA/WMV media.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 11:58:37 +00:00
Axel Dörfler dd2e2231b0 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 11:56:29 +00:00
Axel Dörfler 836356a0ca Since we now have a working B_BASE_ADDRESS, we don't need the "RLD_padding"
area anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 04:02:42 +00:00
Axel Dörfler c3808a9e47 Address specifier B_BASE_ADDRESS actually didn't work at all - it now does.
Renamed find_reserved_region() to find_reserved_area(), and
find_and_insert_region_slot() to find_and_insert_area_slot().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 04:02:11 +00:00
Axel Dörfler 8a16a1a0c9 lock_memory() now at least makes sure that the memory range is mapped in.
It's a bit hackish due to the iospace area, and it also might not work
perfectly in all situations, but it does fulfill the current needs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 02:39:37 +00:00
Axel Dörfler c2c20b7848 Incorporated some code from NewOS to set up a double fault handler.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 01:46:46 +00:00
Axel Dörfler 09eaf756d0 Included some code from NewOS to set up a double fault handler. Doesn't seem to work yet, though.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 01:46:04 +00:00
Axel Dörfler e082899afe Replaced SYS_MAX_PATH_LEN with B_PATH_NAME_LENGTH.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 23:15:25 +00:00
Axel Dörfler 220a60685b Updated because of some header changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 23:14:56 +00:00
Axel Dörfler 84a910b64f Updated because of header changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 23:02:18 +00:00
Axel Dörfler a1d0963176 Locking of the vm_cache_ref was almost completely missing...
cache_node_{opened|closed}() now correctly get the file_cache_ref from a vm_cache_ref.
Implemented cache_prefetch(): for now, it always prefetches the first 64 kB from the file.
Renamed read_from_cache() to read_into_cache().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:58:40 +00:00
Axel Dörfler fcab2bafe0 Added a pointer to the file_cache_ref to the vnode_store.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:47:41 +00:00
Axel Dörfler d316037c89 Updated because of header changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:46:11 +00:00
Axel Dörfler 64e7394c50 PARANOID_POINTER_CHECK is now only defined if DEBUG is defined, too, by default.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:44:17 +00:00
Axel Dörfler 97dda329ed Some header work to reduce dependencies. Also fixes the debug build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:22:45 +00:00
Axel Dörfler 5c143f85ad cache_node_closed() and *_opened() now accept a vm_cache_ref as first
parameter instead of a void pointer.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:21:51 +00:00
Axel Dörfler b2ac251743 Replaced SYS_MAX_PATH_LEN with B_PATH_NAME_LENGTH.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:19:26 +00:00
Axel Dörfler 204db7744a get_new_fd() now has a separate fs_mount parameter, so you no longer need to cast
different types to vnodes.
Renamed vfs_get_vnode() to vfs_lookup_vnode() as it doesn't grab a ref to the node.
Added new vfs_get_vnode() that actually grabs such a ref.
vfs_get_vnode_cache() now fills a vm_cache_ref instead of a void pointer.
Replaced SYS_MAX_NAME_LEN constants with the B_FILE_NAME_LENGTH that should have
been used there.
vnode::cache should have been a vm_cache_ref and is now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:17:00 +00:00
Axel Dörfler d786bd1324 Renamed vfs_get_vnode() to vfs_lookup_vnode() as it doesn't grab a ref to the node.
Added new vfs_get_vnode() that actually grabs such a ref.
vfs_get_vnode_cache() now fills a vm_cache_ref instead of a void pointer.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:07:27 +00:00
Axel Dörfler 5d45bbd482 Now uses ASSERT_LOCKED_MUTEX() some more.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:05:47 +00:00
Axel Dörfler 3a5d1279cf vm_create_vnode_cache() now fills a vm_cache_ref instead a void pointer.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:05:05 +00:00
Axel Dörfler c00c141557 vm_create_vnode_cache() now fills a vm_cache_ref instead a void pointer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:04:26 +00:00
Axel Dörfler 21bf7339b1 Moved B_KERNEL_{READ|WRITE_AREA} from vm_types.h to KernelExport.h.
Small header cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:01:26 +00:00
Axel Dörfler 47d0b95b38 Moved B_KERNEL_{READ|WRITE_AREA} from vm_types.h to KernelExport.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:00:23 +00:00
Axel Dörfler cb44b765b0 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 21:21:06 +00:00
Axel Dörfler 6363d47567 Better debug output to ease userland debugging while we don't have any tools.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 03:41:32 +00:00
Axel Dörfler 071ac2932a Implemented bfs_get_vnode_name().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 02:43:42 +00:00
Axel Dörfler 299e521546 Added buffer size parameter to Inode::GetName().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 02:43:02 +00:00
Axel Dörfler c838911b01 Improved error handling, error messages now go to stderr, the (real) program
name is now always prepended.
Now prepends a "name=" infront of the query predicate in case BQuery::Fetch()
returned B_BAD_VALUE, so we accept things like "query foo" just like Be's
version.
Also improved the usage text information.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 23:19:48 +00:00
Axel Dörfler 66340e6747 get_vnode_name() for file system's that do not export the fs_get_vnode_name()
function was slightly broken :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 23:12:08 +00:00
Axel Dörfler 4692c99460 Added function that allocates more than one page at a time, but without
the need for having them in a run.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:53:47 +00:00
Axel Dörfler c02ff3b775 Reenabled query support for the Haiku kernel.
Implemented bfs_rewind_query().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:51:50 +00:00
Axel Dörfler 467954408f Added Query::Rewind() method - not yet tested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:50:45 +00:00
Axel Dörfler 0ddccfdc7a We now have atomic_test_and_set() and atomic_set() in the kernel directly.
Removed Metrowerks support.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:49:51 +00:00
Axel Dörfler 62986df7c4 Added a MakeEmpty() method.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:48:40 +00:00
Axel Dörfler 805cd92d90 Just a commentary changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:47:50 +00:00
Axel Dörfler 4d875b0525 Adapted because of the changes made to _kern_open_query().
Implemented BQuery::Rewind() - there is no reason not to do this, as the
kernel has no extra work because of this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:41:10 +00:00
Axel Dörfler f6743bd145 Added query support - it's more or less the same as found in R5 for now.
Later on (but before R1), we should find a better balance between what
the FS has to implement, and what the kernel delivers to them.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:39:45 +00:00
Axel Dörfler 62ceb50f43 Refactored fs_open_query() calls a bit - there is no only one internal
implementation that the two public functions call.
Adapted to the changes to _kern_open_query().
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:35:27 +00:00
Axel Dörfler dfb71e0444 Added a query length parameter to _kern_open_query() - it's much easier to
do these things in userland.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:33:58 +00:00
Axel Dörfler fafd79e5c1 Added a function to allocate a non-continuous page run.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:33:01 +00:00
Axel Dörfler 71a81208ef Fixed build and warnings. Thanks to Jonas for reporting this.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 16:19:46 +00:00
Axel Dörfler 68b54c0db9 Introduced new arch_vm.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-10 18:48:31 +00:00
Axel Dörfler c44645aa42 vm.h was not used anywhere.
Introduced new arch_vm.h ("public" arch headers have the arch_ prefix).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-10 18:43:26 +00:00
Axel Dörfler 247c75991c The block selection is now drawn incrementally if possible which removes flicker.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-09 02:34:35 +00:00
Axel Dörfler d48f7182eb Enabled full attribute support under the Haiku kernel.
It's not as clean as it could, but it works for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-08 04:18:44 +00:00
Axel Dörfler 1bcd71834b I can even mess up command line parsing :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-08 03:51:25 +00:00
Axel Dörfler 19ab5531d8 messages.h no longer exists.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-08 03:46:26 +00:00
Axel Dörfler 2ae45f0c5f Brought "addattr" command into shape, and got rid off a lot of
weird stuff - and libbe.so; it now uses the attribute functions
as exported by libroot.so :)
Improved handling of boolean values, improved error messages a lot.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-08 03:44:30 +00:00
Axel Dörfler e96f985d95 fs_read_attr() and fs_write_attr() transferred bytes from/to the provided
file descriptor, not from/to the attribute...
Added ToDo comment about eventually adding syscalls for these functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-08 02:15:09 +00:00
Axel Dörfler a3d814e271 "catattr" no longer needs additional libraries.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-08 01:34:45 +00:00
Axel Dörfler 983e69d5dd Improved error messages (and how they are done).
No longer locks the file during attribute retrieval.
No longer needs libbe.so.
Added support for some additional types.
Will no longer try to read in a 4GB attribute - at max, it will read
64 kB from an attribute. Also changed output style of the raw data
type - please contact me if you desperately think we should revert
that back (ie. in case the old output was actually of use for something).
As the original author suggested, we're now using isgraph() to improve
the character preview of the raw data.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-08 01:34:09 +00:00
Axel Dörfler b075015208 Removed unneeded include.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-08 01:28:35 +00:00
Axel Dörfler 6780f6f417 The open attr dir syscalls didn't work correctly in the FD modes.
fd_and_path_to_vnode() now accepts NULL as path argument.
Added some more debug output and comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-07 16:15:57 +00:00
Axel Dörfler 4e0e3bf35d Some cosmetics. The string for unknown types no longer tries to print
unprintable characters, but replaces them with '.'; when there is more
than one unprintable character in the type code, it will show the hexcode
instead.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-07 16:10:03 +00:00
Axel Dörfler 8a9c92207f Minor fix: the return value of BNode::GetAttrInfo() was not checked.
Now understands a lot more types than before.
Accepts "--help" and "-h" on the command line to print out usage info.
Prints out how many bytes the attributes add up to.
Instead of printing out the hex value, the attribute type is now
printed as %c%c%c%c 4-character tupel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-07 02:31:03 +00:00
Axel Dörfler 069694a22a Rounding up a value can be soooo hard...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-07 00:57:45 +00:00
Axel Dörfler e15a7ad3a3 Fixed a big allocation leak: preallocation was done for all streams, but
only regular files were stripped back when bfs_close() was called.
Now, we don't preallocate any blocks for attributes, attribute directories,
and symbolic links (which do have a stream when longer than 144 bytes).
Also, bfs_release_vnode() now trims back all streams that need to be
trimmed - this catches standard directories, which could also slip through
before.
Removed the remaining blocks of INODE_NO_CACHE support as this is not
needed for Haiku.
Added method Inode::NeedsTrimming() that determines if its data stream
can be trimmed (indices are never trimmed to reduce fragmentation).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-04 01:21:12 +00:00