From c3157a27499d76e20482e6eb780a0ef8d048a14b Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sat, 19 Aug 2006 13:18:03 +0000 Subject: [PATCH] Created a compatibility header for the USB Stack so that it can be compiled on BeOS too. How to do this correctly? I don't think that this stuff should go to HaikuBuildCompatibility.h as it's kernel stuff. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18538 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../bus_managers/usb/BeOSCompatibility.h | 51 +++++++++++++++++++ src/add-ons/kernel/bus_managers/usb/Jamfile | 2 + src/add-ons/kernel/bus_managers/usb/usb_p.h | 1 + src/add-ons/kernel/busses/usb/Jamfile | 2 + 4 files changed, 56 insertions(+) create mode 100644 src/add-ons/kernel/bus_managers/usb/BeOSCompatibility.h diff --git a/src/add-ons/kernel/bus_managers/usb/BeOSCompatibility.h b/src/add-ons/kernel/bus_managers/usb/BeOSCompatibility.h new file mode 100644 index 0000000000..1045a0bc4e --- /dev/null +++ b/src/add-ons/kernel/bus_managers/usb/BeOSCompatibility.h @@ -0,0 +1,51 @@ +#ifndef _USB_BEOS_COMPATIBILITY_H_ +#define _USB_BEOS_COMPATIBILITY_H_ +#ifndef HAIKU_TARGET_PLATFORM_HAIKU + +#include +#include +#include + + +inline status_t +benaphore_init(benaphore *ben, const char *name) +{ + if (ben == NULL || name == NULL) + return B_BAD_VALUE; + + ben->count = 1; + ben->sem = create_sem(0, name); + if (ben->sem >= B_OK) + return B_OK; + + return ben->sem; +} + + +inline void +benaphore_destroy(benaphore *ben) +{ + delete_sem(ben->sem); + ben->sem = -1; +} + + +inline void +load_driver_symbols(char *driver) +{ + /* nothing */ +} + + +inline int +snprintf(char *buffer, size_t bufferSize, const char *format, ...) +{ + va_list args; + va_start(args, format); + int result = vsprintf(buffer, format, args); + va_end(args); + return result; +} + +#endif // !HAIKU_TARGET_PLATFORM_HAIKU +#endif // !_USB_BEOS_COMPATIBILITY_H_ diff --git a/src/add-ons/kernel/bus_managers/usb/Jamfile b/src/add-ons/kernel/bus_managers/usb/Jamfile index 328418608b..a47bd2f5ff 100644 --- a/src/add-ons/kernel/bus_managers/usb/Jamfile +++ b/src/add-ons/kernel/bus_managers/usb/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel bus_managers usb ; +SetSubDirSupportedPlatformsBeOSCompatible ; + SubDirC++Flags -fno-rtti ; SubDirSysHdrs $(SUBDIR) ; diff --git a/src/add-ons/kernel/bus_managers/usb/usb_p.h b/src/add-ons/kernel/bus_managers/usb/usb_p.h index c6d91626bf..dab9d71f2d 100644 --- a/src/add-ons/kernel/bus_managers/usb/usb_p.h +++ b/src/add-ons/kernel/bus_managers/usb/usb_p.h @@ -12,6 +12,7 @@ #include #include "usbspec_p.h" +#include "BeOSCompatibility.h" class Hub; diff --git a/src/add-ons/kernel/busses/usb/Jamfile b/src/add-ons/kernel/busses/usb/Jamfile index f711b45d35..d4c5c0563d 100644 --- a/src/add-ons/kernel/busses/usb/Jamfile +++ b/src/add-ons/kernel/busses/usb/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel busses usb ; +SetSubDirSupportedPlatformsBeOSCompatible ; + SubDirC++Flags -fno-rtti ; UsePrivateHeaders [ FDirName kernel ] ;