Commit Graph

60 Commits

Author SHA1 Message Date
Pascal Abresch
f11b304632 Document Launch flags and Preference directory for findpath
Change-Id: I150c0ca1e0deb5749689bb1019a48efdcdc99def
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6701
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: nephele nephele <nep-git@packageloss.eu>
2023-07-18 16:43:20 +00:00
John Scipione
f18d2effbf API Docs: Update BVolume::SetName()
Update \since to BeOS R4. This method definitely predates Haiku,
it has existed since at least R4.5 despite not being documented.

Document B_NAME_TOO_LONG return value.

Change-Id: I0816e4e89ae2710f6123e10ee41145a83fdca66f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6363
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-05-01 14:21:41 +00:00
Adrien Destugues
0e061f0903 FindDirectory docs: clarify where the functions are located
Only the C++ interface is in libbe. The C functions as well as the new
find_path functions are all in libroot.

Fixes #16749
2021-01-13 12:57:00 +01:00
Kyle Ambroff-Kao
e1b7c1c7ac storage/SymLink: Fix Be API regression in ReadLink
After this patch, "UnitTester BSymLink" passes.

BSymLink::ReadLink() in BeOS would always return the length of the
link unless an error occurred. Before this patch, Haiku instead seemed
to emulate posix readlink() behavior, returning the number of bytes
copied into the output buffer.

BeOS also did not guarantee that the string written into the output
buffer is NULL terminated if the output buffer cannot contain the
entire link contents, but the Haiku implementation does since it is is
a basic safety issue.

This patch fixes this and updates the Haiku API docs to describe the
behavior explicitly.

Fixing this required changing behavior in bfs_read_link, which
required changes in many more places.

docs/user/storage/SymLink.dox:
src/kits/storage/SymLink.cpp:
* Don't return B_BUFFER_OVERFLOW if the provided buffer is not large
  enough to hold the link contents.
* Update documentation to clearly describe behavior.

src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp:
* Change bfs_read_link() to always return the link length. This is
  called by common_read_link in the VFS, which is called by
  _kern_read_link().

src/add-ons/kernel/file_systems/btrfs/kernel_interface.cpp:
src/add-ons/kernel/file_systems/exfat/kernel_interface.cpp:
src/add-ons/kernel/file_systems/ext2/kernel_interface.cpp:
src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp:
src/add-ons/kernel/file_systems/netfs/client/netfs.cpp:
src/add-ons/kernel/file_systems/nfs/nfs_add_on.c:
src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp:
src/add-ons/kernel/file_systems/reiserfs/Iterators.cpp:
src/add-ons/kernel/file_systems/reiserfs/Iterators.h:
src/add-ons/kernel/file_systems/reiserfs/Volume.cpp:
src/add-ons/kernel/file_systems/reiserfs/Volume.h:
* Update the implementation of read_link for these filesystems. Some
  of them were incorrect, and some had just copied the posix behavior of
  bfs from before this patch.
* Use user_memcpy in ext2_read_link()
* Use user_memcpy in nfs fs_read_link()
* Use user_memcpy in reiserfs StreamReader::_ReadIndirectItem and
  StreamReader::_ReadDirectItem
* Remove unused method Volume::ReadObject in reiserfs.

src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingLeafNode.cpp:
src/add-ons/kernel/file_systems/packagefs/package_links/PackageLinkSymlink.cpp:
* Update UnpackingLeafNode::ReadSymlink and
  PackageSymLink::ReadSymLink() to set the bufferSize out parameter to
  the symlink length. Both of these are called by
  packagefs_read_symlink.
* Use user_memcpy

src/add-ons/kernel/file_systems/netfs/client/netfs.cpp:
* netfs seems mostly unimplemented. Added a FIXME note for future
  implementers so that they know to implement the correct behavior.

src/system/libroot/posix/unistd/link.c:
* readlinkat() was just wrapping _kern_read_link() because before this
  patch it had expected posix behavior. But now it does not, so we
  need to return the number of bytes written to the output
  buffer.

src/build/libroot/fs.cpp:
* Update _kern_read_link() in the compatibility code to emulate the
  Haiku behavior on the host system. This is done by using an
  intermediate buffer that is guaranteed to fit the link contents and
  returning its length. The intermediate buffer is copied into the
  output buffer until there is no more room.

src/tests/kits/storage/SymLinkTest.cpp:
* This patch also resolves some test failures similar to those
  resolved in ee8cf35f0 which fixed tests for BNode. The tests were
  failing because Haiku's error checking is just better.

  BeOS allowed constructing a BSymLink with BSymLink(BDirectory*,
  const char*) with the entry name of "". The same is true of the
  equivilant SetTo() method. The BSymLink object will appear valid
  until you attempt to use it by, for example, calling the ReadLink
  method, which will return B_BAD_VALUE.

  Haiku does a more appropriate thing and returns B_ENTRY_NOT_FOUND,
  for this constructor and the equivilant SetTo(BDirectory*, const
  char*) method. This patch fixes these test assertions to match Haiku
  behavior.

docs/develop/file_systems/overview.txt:
* Add notes for future filesystem driver implementers to call this
  mistake when implementing fs_vnode_ops::read_symlink.

docs/user/drivers/fs_interface.dox:
* Fix documentation for fs_vnode_ops::read_symlink

Change-Id: I8bcb8b2a0c9333059c84ace15844c32d4efeed9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2502
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2020-04-30 10:13:41 +00:00
Niels Sascha Reedijk
a8081885d2 HaikuBook: fix warnings generated by Doxygen 1.18.16.
This version generates some warnings and identified some problems in our
documentation. It is also a bit more vigilant about undocumented elements, so
these are now decorated with a brief description. In the BNotification docs I
used a stray \p to create some whitespace between code and an image. This is
now fixed in the CSS instead.
2020-03-08 08:57:37 +00:00
Niels Sascha Reedijk
ff1ee776fe HaikuBook: fix part of the warnings marked by Doxygen
I spotted some warnings when I upgraded from Doxygen 1.18.13 to 1.18.17.
The new warnings are useful, they point out imbalances in grouping, as
well as unclosed comment blocks. Coincidentally, this fixes #13338
2020-03-01 09:50:49 +00:00
Adrien Destugues
82f610c6ab BFilePanel does not live in libbe. 2020-01-19 18:03:22 +01:00
Augustin Cavalier
63cb446249 docs/user: Remove extra comment opener.
It made the second one show up in the documentation.
2018-08-15 14:09:07 -04:00
John Scipione
e79c33c93f BResources SetToImage docs: update variable name in retval (tiny) 2018-06-27 10:05:52 -07:00
Alexander G. M. Smith
5e7964b0a9 Remove Spurious B_BEOS_DATA_DIRECTORY
There is no DATA directory in BeOS, and its FindDir() doesn't implement
it.  No need for a confusing backwards compatibility to something that
doesn't exist (had my hopes up, was going to move some non-executable
files from AddOns to Data in a program that works in BeOS and Haiku).

The removed enum label doesn't change the directory_which enum order
or count, as it was aliasing the value of another existing enum label
(B_SYSTEM_DATA_DIRECTORY).

Fixes #13470

Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
2017-05-08 22:17:53 +02:00
John Scipione
6db90d17a1 Fix BMimeType::SetIconForType() docs 2014-12-04 19:55:40 -05:00
Adrien Destugues
f4df6bfab7 BEntry::Unset doc: missing \fn, better description. 2014-08-23 17:37:33 +02:00
John Scipione
5732a55917 A couple of small fixes to FindDirectory docs 2014-06-19 12:25:54 -04:00
John Scipione
5efee6dfb0 NodeMonitor: Revert enums back to #defines
While enums are presented much more clearly in the docs and the values didn't
change this apparently caused some issues so we're going back to using #defines.

Also update the docs changing the \var tags to \def tag and putting the description
in a \brief tag.
2014-06-18 20:57:49 -04:00
John Scipione
b885e90eb9 Documentation updates for Storage Kit classes
* Added \since to each method and parameter.
* Whitespace cleanup.
* Some other minor cleanups and updates.
2014-06-18 19:41:14 -04:00
Ingo Weinhold
c41356fab5 BAppFileInfo: Add method versions that don't touch the MIME DB
Add SetSupportedTypes() and SetIcon[ForType]() versions with an
additional bool updateMimeDB parameter. If false, the method doesn't
update the MIME DB entries for the type.
2014-01-26 13:43:04 +01:00
Ingo Weinhold
556e8b250a Update BPathFinder API docs
* Update FindPath() wrt. B_FIND_PATH_PACKAGE_PATH handling.
* Add documentation for BResolvableExpression version of constructor and
  SetTo().
2013-11-21 13:29:21 +01:00
Ingo Weinhold
7afd687f61 Add BPathFinder API docs 2013-11-19 02:05:37 +01:00
Ingo Weinhold
8cb65bf1d7 Add find_path*() API docs, improve FindDirectory.h docs 2013-11-19 02:05:36 +01:00
John Scipione
d0350bc385 Comment out B_COMMON_ constants for now 2013-11-05 13:40:22 -05:00
John Scipione
dd1281c99b Style fixes to FindDirectory 2013-11-05 13:36:23 -05:00
John Scipione
880e147bd9 Node Monitor documentation updates to stop_watching().
* 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.
2013-03-04 19:24:31 -05:00
John Scipione
5dd0761042 Move BVolumeRoster docs to Haiku Book.
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.
2013-02-22 18:11:14 -05:00
John Scipione
9d5f5318a5 Move BVolume docs to the Haiku book 2013-02-21 20:15:53 -05:00
John Scipione
7635a303a2 SymLink.h not Symlink.h 2013-02-21 20:14:58 -05:00
John Scipione
434716ced8 Add BSymLink class docs to Haiku Book 2013-02-20 16:20:53 -05:00
John Scipione
29f51b3431 Set brief for desc of Path.h Query.h Resources.h and Statable.h 2013-02-19 19:25:04 -05:00
John Scipione
5bff846db2 Move BStatable docs to Haiku Book. 2013-02-19 19:07:15 -05:00
John Scipione
6d5fae2a5a Move resources docs to Haiku Book
* 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.
2013-02-18 18:14:10 -05:00
John Scipione
0a9ac70aea Move BQuery docs into Haiku Book.
... removing the docs from the .cpp and .h files and cleaning up as usual.
2013-02-14 19:36:33 -05:00
John Scipione
6d287908b1 Fix warning and cleanup for BPath docs 2013-02-14 19:35:48 -05:00
John Scipione
855a423a5e Forgot this, add a period 2013-02-10 16:13:03 -05:00
John Scipione
61feea6280 Minor BPath doc cleanups.
* Implements BFlattenable::method not overrides, pure virtual.
* Tense of return values should be past.
2013-02-10 16:10:25 -05:00
John Scipione
4c064a8451 Move documentation from Path.cpp to Path.dox
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.
2013-02-09 00:39:53 -05:00
John Scipione
b3252dc18a NodeMonitor doc updates 2013-02-08 22:43:36 -05:00
John Scipione
185c12a1b7 Whoops, NodeInfo.h not Node.h 2013-02-08 22:42:54 -05:00
John Scipione
5367161777 Some updates to NodeInfo docs 2013-02-08 22:14:09 -05:00
John Scipione
fc9827011d Moved NodeMonitor docs to Haiku Book. 2013-02-08 20:39:35 -05:00
John Scipione
66d07bdfce Copy-pasta error: storage not app 2013-02-07 23:22:22 -05:00
John Scipione
81c42a7685 Move documentation from NodeInfo into the API docs.
* 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.
2013-02-07 23:17:01 -05:00
John Scipione
131261d2b5 Remove remaining /trunk/ before file references. 2013-02-07 21:19:06 -05:00
John Scipione
a93a16151d Fix doxygen warnings, enums can only be in 1 group 2013-02-07 15:52:07 -05:00
John Scipione
820dca4df6 Big docs cleanup.
* Fixed headers including:
  - All rights reserved not All Rights Reserved.
  - name, email@domain.com not name <email@domain.com>
  - tabs and spaces
  - Authors: not Documented by:
* Renamed string.dox to String.dox
* Renamed midixxx.dox files to MidiXxx.dox
* Moved images into images subdirectories and updated Doxfile.
* Re-format all files with tabs instead of spaces.
* Fix many spelling mistakes.
* Added all files, classes, structs, and enums to libbe group.
2013-02-07 02:01:19 -05:00
John Scipione
b7733e0655 Move Mime.h documentation to the API docs. 2013-01-31 20:47:06 -05:00
John Scipione
ec96e7af1a Fix warning in FilePanel.dox 2013-01-30 19:51:01 -05:00
John Scipione
5e6540723d Update BFilePanel docs, especially detailed description and constructor 2013-01-15 23:07:12 -05:00
John Scipione
2b934bb6ae Add BFilePanel and BRefFilter documentation 2013-01-14 23:31:18 -05:00
John Scipione
ea468b9855 Add \brief tag so description appears in files table 2013-01-14 21:11:15 -05:00
John Scipione
e9191cc2d1 Add BFile documentation to the Haiku Book.
Remove the documentation from the cpp file also. Keep the brief
description as a regular comment though.
2012-12-22 15:01:17 -05:00
John Scipione
8e7094494a Fix another warning in MimeType.dox along with some 80 char fixes 2012-12-22 15:01:17 -05:00