Use delivery and reply timeouts...

when contacting the input_server.
Network route API: Second try (WIP).
Implement BNetworkRoster::GetRoutes() and BNetworkInterface::GetRoutes().
Also implement BNetworkInterface::GetDefaultGateway().
There is code duplication at the moment, and the api only supports IPV4.
HAIKU_DEFINES: Add __HAIKU_PRIMARY_PACKAGING_ARCH

* It is set to the primary architecture we're building for.
* Remove __HAIKU__. The macro is already defined by the compiler.
runtime loader: Export get_executable_architecture() function

Given a path of an ELF file, it tries to determine its architecture.
Add get_*architecture() API, extend find_path*() API

* Add get_architecture(), get_primary_architecture(),
  get_secondary_architectures(), guess_architecture_for_path() to get
  the caller's architecture, the primary architecture, all secondary
  architectures, or the architecture associated with a specified path
  respectively.
* Rename the find_path*() functions to find_path*_etc() and add an
  optional architecture parameter. Add simplified find_path*()
  functions.
* BPathFinder: Add FindPath[s]() versions with an architecture
  parameter.
findpaths: Add an -a <architecture> option
Add get_architectures() and C++ versions

* get_architectures() returns the primary and the secondary
  architectures in one array. That turned out to be convenient.
* Add C++ versions for get[_secondary]_architectures(), returning a
  BStringList.
Add setarch and getarch commands
XHCI USB: some fixes.

* AllocateDevice(): don't include the root port in the route.
* SubmitNormalRequest(): fail if we couldn't allocate the a descriptor.
Devices: Check out of bound array access on category strings.

* Computes the length of the category strings array.
* Checks against this length before accessing the array
* Improves comment
* Should fix #10186

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
usb_disk: accept B_DEV_MEDIA_CHANGED as a ready unit.
Add private __getenv_reentrant()

A reentrant variant of getenv().
find_path*(): Fix B_FIND_PATH_MEDIA_NODES_DIRECTORY

It is architecture specific as well.
find_directory(): Add architecture support

* Move PathBuffer helper class out of find_paths.cpp into its own
  header.
* find_directory():
  - Make use of MemoryDeleter to simplify things.
  - Make use of PathBuffer for a simpler and more correct handling.
  - Make B_UTILITIES_DIRECTORY to B_APPS_DIRECTORY. /boot/utilities
    doesn't exist anyway.
  - Resolve the concerned constants to the architecture specific
    subdirectory, when called in a secondary architecture context, just
    like find_path*().
Added overlay image for read-only items.

Added a small padlock icon to mark read-only items.
See #10122.
find_path*(): Support user specific home directory

No longer hard-code the home directory path. Instead ask
find_directory(), so we get the correct one for the current user.
FileRequest: make sure we're dealing with a file.

Trying to Read from a directory results in an error code, but we also
missed that because an unsigned variable was used to store the result.

Fixes #10210.
Added family parameter to the GetRoutes() API.
Moved common code to a private file.
Add the secondary arch version of libroot_debug

Some gristing mixup caused the non-secondary version of the lib to be
added to the non-secondary directory, which is what the main
architecture HaikuDevel is already doing.
Add Ruby package.

Works well enough for building WebKit, but probably not much more.