devfs_io() can't fall back to calling vfs_synchronous_io(), if the
device driver doesn't support handling requests asynchronously. The
presence of the io() hook leads the VFS (do_iterative_fd_io()) to
believe that asynchronous handling is supported and set a
finished-callback on the request which calls the io() hook to start the
next chunk. Thus, instead of iterating through the request in a loop
the iteration happens recursively. For sufficiently fragmented requests
the stack may overflow (ticket #9900).
* Introduce a new vnode operation supports_operation(). It can be called
by the VFS to determine whether a present hook is actually currently
supported for a given vnode.
* devfs: implement the new hook and remove the fallback handling in
devfs_io().
* vfs_request_io.cpp: use the new hook to determine whether the io()
hook is really supported.
...from orientation params. Elaborated type specifiers are not needed
for C++ code and removing them makes doxygen happy. Verified working
on both gcc2h and gcc4h builds.
* Fill out the Input related method descriptions and also some other updates
to method and variable descriptions.
* Document Graphics State Methods and a bunch of Drawing Related Methods
* Add a bunch more drawing method descriptions.
* Fill out the rest of the methods of the BView class.
Make it clear that the values provided by the escapement_delta struct are an
input to App Server which allows the user to specify extra horizontal space around each character and is not an output provided by App Server.
Also, lots of little cleanups: formatting, adding return statements and
return values where they were missing, fix spelling mistakes, add newlines to
separate command blocks, remove trailing whitespace.
* Add a note to stop_watching() about the asynchronous nature of node
monitoring and its consequences.
* Also update the breif description and parameters of stop_watching().
* Detail the return values of stop_watching() a bit better.
* Add a note (an \attention actually) to B_STOP_WATCHING flag.
* Fix a spelling mistake and other minor fixes.
With this commit every class in the storage kit is now documented
in the Haiku book!
Thanks to Ingo, Axel, Vincent Dominguez, Tyler Dauwalder, and
everyone who helped document these classes.
* Remove docs from Resources.cpp (leaving the brief description).
* Reformat Resources.h to style it like so many other header files.
* There is one not-entirely style based change. I renamed the outSize
parameter or the LoadResource method to _size as is our convention for out
parameters.
And clean it up a bit. Kept brief description in source.
* Also added Axel to authors in Path.dox and Path.cpp because his name
appears in git blame as working on the docs and code for the file.
I hope he doesn't mind.
* Delete the docs from NodeInfo.cpp and NodeInfo.h
* I snuck a couple of style fixes into NodeInfo.cpp
* I had to make a small modification to MimeType.dox to prevent it
from overriding the docs of one of the methods in NodeInfo.dox.
The interface diagram for BArchivable has become too wide to fit on
the page so I've put the diagram in a box and made it scrollable.
While I'm at it give the interface diagram a silver border and
center it on the page.