diff options
Diffstat (limited to 'sal/osl/unx')
-rw-r--r-- | sal/osl/unx/file_error_transl.cxx | 2 | ||||
-rw-r--r-- | sal/osl/unx/system.cxx | 2 | ||||
-rw-r--r-- | sal/osl/unx/system.hxx | 35 |
3 files changed, 37 insertions, 2 deletions
diff --git a/sal/osl/unx/file_error_transl.cxx b/sal/osl/unx/file_error_transl.cxx index 54b19ce10a9f..f8910289456b 100644 --- a/sal/osl/unx/file_error_transl.cxx +++ b/sal/osl/unx/file_error_transl.cxx @@ -155,8 +155,10 @@ oslFileError oslTranslateFileError(int Errno) return osl_File_E_MULTIHOP; #endif /* MACOSX */ +#if !defined(HAIKU) case EUSERS: return osl_File_E_USERS; +#endif case EOVERFLOW: return osl_File_E_OVERFLOW; diff --git a/sal/osl/unx/system.cxx b/sal/osl/unx/system.cxx index 7003b4ff5a41..aacd91a1290a 100644 --- a/sal/osl/unx/system.cxx +++ b/sal/osl/unx/system.cxx @@ -28,7 +28,7 @@ /* struct passwd differs on some platforms */ -#if defined(MACOSX) || defined(IOS) || defined(OPENBSD) || defined(NETBSD) +#if defined(MACOSX) || defined(IOS) || defined(OPENBSD) || defined(NETBSD) || defined(HAIKU) //No mutex needed on Mac OS X, gethostbyname is thread safe diff --git a/sal/osl/unx/system.hxx b/sal/osl/unx/system.hxx index a822b0a83a10..6a92f291e833 100644 --- a/sal/osl/unx/system.hxx +++ b/sal/osl/unx/system.hxx @@ -85,6 +85,38 @@ #endif +#ifdef HAIKU +# include <shadow.h> +# include <pthread.h> +# include <sys/file.h> +# include <sys/ioctl.h> +# include <sys/uio.h> +# include <sys/un.h> +# include <netinet/tcp.h> +# include <dlfcn.h> +# include <endian.h> +# include <sys/time.h> +# define IORESOURCE_TRANSFER_BSD +# define IOCHANNEL_TRANSFER_BSD_RENO +# define pthread_testcancel() +# define NO_PTHREAD_PRIORITY +# define NO_PTHREAD_RTL +# define PTHREAD_SIGACTION pthread_sigaction + +# ifndef ETIME +# define ETIME ETIMEDOUT +# endif +# define SIGIOT SIGABRT +# define ESOCKTNOSUPPORT ENOTSUP +# define ETOOMANYREFS EOPNOTSUPP +# define SOCK_RDM 0 +// hack: Haiku defines SOL_SOCKET as -1, but this makes GCC complain about +// narrowing conversion +# undef SOL_SOCKET +# define SOL_SOCKET (sal_uInt32) -1 + +#endif + #if defined(ANDROID) # include <pthread.h> # include <sys/file.h> @@ -242,7 +274,8 @@ int macxp_resolveAlias(char *path, int buflen); !defined(AIX) && \ !defined(__sun) && !defined(MACOSX) && \ !defined(OPENBSD) && !defined(DRAGONFLY) && \ - !defined(IOS) && !defined(ANDROID) + !defined(IOS) && !defined(ANDROID) && \ + !defined(HAIKU) # error "Target platform not specified!" #endif |