1/*! 2\page compatibility Application Level API Incompatibilities with BeOS 3 4\author Ingo Weinhold 5 6Haiku R1 (x86) was designed and is being implemented to be binary and source 7compatible with applications written for BeOS R5 (x86) to a large extent, but 8not the other way around. In some cases we deliberately broke source 9compatibility while at the same time maintaining binary compatibility. Here are 10some specific examples: 11 12- The \c "be" header path is gone - it's called \c "os" in Haiku; since it is 13 always part of the default header search path anyway, you can always just 14 remove it to let your software compile on both platforms, ie. replace: 15\code 16#include <be/interface/View.h> 17\endcode 18 with: 19\code 20#include <interface/View.h> 21\endcode 22 or rather use the preferred method of omitting the first part and use: 23\code 24#include <View.h> 25\endcode 26 27- BeOS contains a deprecated \c add-ons/TrackerAddons.h header, and a 28 header called \c add-ons/TrackerAddOns.h - Haiku only contains the 29 latter. 30- Likewise, you'll find \c support/byteorder.h and \c support/ByteOrder.h 31 in BeOS; Haiku only has ByteOrder.h. 32- If you have subclassed BString and if you are using its \c _privateData 33 member, you might notice that it is no longer mentioned in the documentation. 34 This is because it has been marked as private. 35- The undocumented functions defined in Alias.h from the storage kit are not 36 implemented. 37- The private Device Map API (used by OpenTracker) has been replaced by a 38 different API (Disk Device API). 39- The application debugging interface is conceptually similar, but nevertheless 40 source and binary incompatible. 41- The file system API has changed; file systems that worked on BeOS will no 42 longer work on Haiku. 43- Haiku is binary compatible with the Network Kit in BeOS R5 as well as BONE, 44 ie. the BSD socket API as well as Be's proprietary C++ API. 45 However, the ioctl() interface is not compatible with BONE (BeOS R5 did not 46 have such an interface in the first place). 47- In several places we also dropped compatibility support for older BeOS 48 versions (PR2, R3, R4), which BeOS R5 still featured. 49- The BArchivable class has been updated, and for some classes, unarchiving 50 is slightly different. 51*/ 52