haiku/docs/user/compatibility.dox
Alex Wilson 886c23bf8b Update doxygen docs for recent changes to BArchivable, also document the BArchiver and BUnarchiver classes, and add a not in compatibility.dox.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 22:09:14 +00:00

53 lines
2.2 KiB
Plaintext

/*!
\page compatibility Application Level API Incompatibilities with BeOS
\author Ingo Weinhold
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
compatibility while at the same time maintaining binary compatibility. Here are
some specific examples:
- 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
remove it to let your software compile on both platforms, ie. replace:
\code
#include <be/interface/View.h>
\endcode
with:
\code
#include <interface/View.h>
\endcode
or rather use the preferred method of omitting the first part and use:
\code
#include <View.h>
\endcode
- BeOS contains a deprecated \c add-ons/TrackerAddons.h header, and a
header called \c add-ons/TrackerAddOns.h - Haiku only contains the
latter.
- Likewise, you'll find \c support/byteorder.h and \c support/ByteOrder.h
in BeOS; Haiku only has ByteOrder.h.
- If you have subclassed BString and if you are using its \c _privateData
member, you might notice that it has been renamed to
\link BString::fPrivateData fPrivateData \endlink. However, it's use is
deprecated, and it might even be made private in the future.
- 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
different API (Disk Device API).
- The application debugging interface is conceptually similar, but nevertheless
source and binary incompatible.
- The file system API has changed; file systems that worked on BeOS will no
longer work on Haiku.
- 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).
- In several places we also dropped compatibility support for older BeOS
versions (PR2, R3, R4), which BeOS R5 still featured.
- The BArchivable class has been updated, and for some classes, unarchiving
is slightly different.
*/