1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #ifndef __WINDOWS2LINUX_H__
- #define __WINDOWS2LINUX_H__
- /*
- * LINUX SPECIFIC DEFINITIONS
- */
- //
- // Data types conversions
- //
- #include <stdlib.h>
- #include <string.h>
- #include "basicDataTypeConversions.h"
- #ifdef __cplusplus
- namespace avxsynth {
- #endif // __cplusplus
- //
- // purposefully define the following MSFT definitions
- // to mean nothing (as they do not mean anything on Linux)
- //
- #define __stdcall
- #define __cdecl
- #define noreturn
- #define __declspec(x)
- #define STDAPI extern "C" HRESULT
- #define STDMETHODIMP HRESULT __stdcall
- #define STDMETHODIMP_(x) x __stdcall
- #define STDMETHOD(x) virtual HRESULT x
- #define STDMETHOD_(a, x) virtual a x
- #ifndef TRUE
- #define TRUE true
- #endif
- #ifndef FALSE
- #define FALSE false
- #endif
- #define S_OK (0x00000000)
- #define S_FALSE (0x00000001)
- #define E_NOINTERFACE (0X80004002)
- #define E_POINTER (0x80004003)
- #define E_FAIL (0x80004005)
- #define E_OUTOFMEMORY (0x8007000E)
- #define INVALID_HANDLE_VALUE ((HANDLE)((LONG_PTR)-1))
- #define FAILED(hr) ((hr) & 0x80000000)
- #define SUCCEEDED(hr) (!FAILED(hr))
- //
- // Functions
- //
- #define MAKEDWORD(a,b,c,d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d))
- #define MAKEWORD(a,b) (((a) << 8) | (b))
- #define lstrlen strlen
- #define lstrcpy strcpy
- #define lstrcmpi strcasecmp
- #define _stricmp strcasecmp
- #define InterlockedIncrement(x) __sync_fetch_and_add((x), 1)
- #define InterlockedDecrement(x) __sync_fetch_and_sub((x), 1)
- // Windows uses (new, old) ordering but GCC has (old, new)
- #define InterlockedCompareExchange(x,y,z) __sync_val_compare_and_swap(x,z,y)
- #define UInt32x32To64(a, b) ( (uint64_t) ( ((uint64_t)((uint32_t)(a))) * ((uint32_t)(b)) ) )
- #define Int64ShrlMod32(a, b) ( (uint64_t) ( (uint64_t)(a) >> (b) ) )
- #define Int32x32To64(a, b) ((__int64)(((__int64)((long)(a))) * ((long)(b))))
- #define MulDiv(nNumber, nNumerator, nDenominator) (int32_t) (((int64_t) (nNumber) * (int64_t) (nNumerator) + (int64_t) ((nDenominator)/2)) / (int64_t) (nDenominator))
- #ifdef __cplusplus
- }; // namespace avxsynth
- #endif // __cplusplus
- #endif // __WINDOWS2LINUX_H__
|