2015-02-12 03:11:32 +03:00
|
|
|
/*
|
|
|
|
* Copyright 2011 Haiku, Inc. All rights reserved.
|
|
|
|
* Distributed under the terms of the MIT License.
|
|
|
|
*
|
|
|
|
* Authors:
|
|
|
|
* Axel Dörfler <axeld@pinc-software.de>
|
|
|
|
* Niels Sascha Reedijk <niels.reedijk@gmail.com>
|
|
|
|
* Ingo Weinhold <ingo_weinhold@gmx.de>
|
|
|
|
* Alex Wilson <yourpalal2@gmail.com>
|
|
|
|
*/
|
|
|
|
|
2007-03-02 16:36:32 +03:00
|
|
|
/*!
|
|
|
|
\page compatibility Application Level API Incompatibilities with BeOS
|
|
|
|
|
2010-08-08 20:20:09 +04:00
|
|
|
Haiku R1 (x86) was designed and is being implemented to be binary and source
|
|
|
|
compatible with applications written for BeOS R5 (x86) to a large extent, but
|
|
|
|
not the other way around. In some cases we deliberately broke source
|
2007-03-02 16:36:32 +03:00
|
|
|
compatibility while at the same time maintaining binary compatibility. Here are
|
|
|
|
some specific examples:
|
|
|
|
|
2010-08-08 20:20:09 +04:00
|
|
|
- The \c "be" header path is gone - it's called \c "os" in Haiku; since it is
|
|
|
|
always part of the default header search path anyway, you can always just
|
2007-03-02 16:36:32 +03:00
|
|
|
remove it to let your software compile on both platforms, ie. replace:
|
|
|
|
\code
|
|
|
|
#include <be/interface/View.h>
|
|
|
|
\endcode
|
2010-08-08 20:20:09 +04:00
|
|
|
with:
|
2007-03-02 16:36:32 +03:00
|
|
|
\code
|
|
|
|
#include <interface/View.h>
|
|
|
|
\endcode
|
|
|
|
or rather use the preferred method of omitting the first part and use:
|
|
|
|
\code
|
|
|
|
#include <View.h>
|
|
|
|
\endcode
|
|
|
|
|
2010-08-08 20:20:09 +04:00
|
|
|
- BeOS contains a deprecated \c add-ons/TrackerAddons.h header, and a
|
|
|
|
header called \c add-ons/TrackerAddOns.h - Haiku only contains the
|
2007-03-02 16:36:32 +03:00
|
|
|
latter.
|
|
|
|
- Likewise, you'll find \c support/byteorder.h and \c support/ByteOrder.h
|
|
|
|
in BeOS; Haiku only has ByteOrder.h.
|
2010-08-08 20:20:09 +04:00
|
|
|
- If you have subclassed BString and if you are using its \c _privateData
|
2011-11-20 01:13:28 +04:00
|
|
|
member, you might notice that it is no longer mentioned in the documentation.
|
|
|
|
This is because it has been marked as private.
|
2010-08-08 20:20:09 +04:00
|
|
|
- The undocumented functions defined in Alias.h from the storage kit are not
|
|
|
|
implemented.
|
|
|
|
- The private Device Map API (used by OpenTracker) has been replaced by a
|
2007-03-02 16:36:32 +03:00
|
|
|
different API (Disk Device API).
|
|
|
|
- The application debugging interface is conceptually similar, but nevertheless
|
|
|
|
source and binary incompatible.
|
2010-08-08 20:20:09 +04:00
|
|
|
- The file system API has changed; file systems that worked on BeOS will no
|
2007-03-02 16:36:32 +03:00
|
|
|
longer work on Haiku.
|
2010-08-11 16:00:47 +04:00
|
|
|
- Haiku is binary compatible with the Network Kit in BeOS R5 as well as BONE,
|
|
|
|
ie. the BSD socket API as well as Be's proprietary C++ API.
|
|
|
|
However, the ioctl() interface is not compatible with BONE (BeOS R5 did not
|
|
|
|
have such an interface in the first place).
|
2010-08-08 20:20:09 +04:00
|
|
|
- In several places we also dropped compatibility support for older BeOS
|
2007-03-02 16:36:32 +03:00
|
|
|
versions (PR2, R3, R4), which BeOS R5 still featured.
|
2010-08-12 02:09:14 +04:00
|
|
|
- The BArchivable class has been updated, and for some classes, unarchiving
|
|
|
|
is slightly different.
|
2010-08-08 20:20:09 +04:00
|
|
|
*/
|