mirror of
https://github.com/alkoleft/yaxunit-addin.git
synced 2025-03-03 15:32:15 +02:00
141 lines
3.8 KiB
C
141 lines
3.8 KiB
C
|
|
#ifndef __COM_H__
|
|
#define __COM_H__
|
|
|
|
#if defined(__linux__) || defined(__APPLE__) || defined(__ANDROID__)
|
|
|
|
#ifdef __ANDROID__
|
|
|
|
typedef struct {
|
|
unsigned int Data1;
|
|
unsigned short Data2;
|
|
unsigned short Data3;
|
|
unsigned char Data4[ 8 ];
|
|
} uuid_t;
|
|
|
|
#else
|
|
#include <uuid/uuid.h>
|
|
#endif //__ANDROID__
|
|
|
|
#ifndef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ // iOS
|
|
#include <dlfcn.h>
|
|
#endif //!__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
|
|
|
|
#pragma GCC system_header
|
|
|
|
typedef long HRESULT;
|
|
|
|
#ifdef __GNUC__
|
|
#define STDMETHODCALLTYPE __attribute__ ((__stdcall__))
|
|
#define DECLSPEC_NOTHROW __attribute__ ((nothrow))
|
|
#define STDMETHOD(method) virtual DECLSPEC_NOTHROW HRESULT STDMETHODCALLTYPE method
|
|
#else
|
|
#define STDMETHODCALLTYPE
|
|
#endif
|
|
|
|
#define __stdcall STDMETHODCALLTYPE
|
|
#define near
|
|
#define far
|
|
#define CONST const
|
|
#define FAR far
|
|
|
|
typedef unsigned long DWORD;
|
|
#ifndef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ // iOS
|
|
typedef int BOOL;
|
|
#elif defined(__LP64__)
|
|
typedef bool BOOL;
|
|
#else
|
|
typedef signed char BOOL;
|
|
#endif //!__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
|
|
|
|
typedef void VOID;
|
|
typedef short SHORT;
|
|
typedef unsigned char BYTE;
|
|
typedef unsigned short WORD;
|
|
typedef float FLOAT;
|
|
typedef FLOAT *PFLOAT;
|
|
typedef BOOL near *PBOOL;
|
|
typedef BOOL far *LPBOOL;
|
|
typedef BYTE near *PBYTE;
|
|
typedef BYTE far *LPBYTE;
|
|
typedef int near *PINT;
|
|
typedef int far *LPINT;
|
|
typedef WORD near *PWORD;
|
|
typedef WORD far *LPWORD;
|
|
typedef long far *LPLONG;
|
|
typedef DWORD near *PDWORD;
|
|
typedef DWORD far *LPDWORD;
|
|
typedef void far *LPVOID;
|
|
typedef CONST void far *LPCVOID;
|
|
typedef wchar_t *BSTR;
|
|
typedef long SCODE;
|
|
typedef int INT;
|
|
typedef unsigned int UINT;
|
|
typedef unsigned int *PUINT;
|
|
typedef wchar_t WCHAR;
|
|
typedef wchar_t OLECHAR;
|
|
typedef wchar_t *LPOLESTR;
|
|
typedef const wchar_t *LPCOLESTR;
|
|
typedef DWORD LCID;
|
|
typedef PDWORD PLCID;
|
|
typedef long LONG;
|
|
typedef unsigned long ULONG;
|
|
typedef long long LONGLONG;
|
|
typedef unsigned long long ULONGLONG;
|
|
typedef LONG DISPID;
|
|
typedef double DOUBLE;
|
|
typedef double DATE;
|
|
typedef short VARIANT_BOOL;
|
|
typedef void *PVOID;
|
|
typedef char CHAR;
|
|
typedef CONST CHAR *LPCSTR;
|
|
typedef unsigned short USHORT;
|
|
typedef void *HMODULE;
|
|
#define OLESTR(str) L##str
|
|
|
|
typedef uuid_t GUID;
|
|
typedef uuid_t IID;
|
|
typedef uuid_t UUID;
|
|
#define REFIID const IID &
|
|
#define MAX_PATH 260
|
|
|
|
#define IsEqualIID(x,y) uuid_compare((x),(y))
|
|
#ifdef __GNUC__
|
|
#define LoadLibraryA(x) dlopen((x), RTLD_LAZY)
|
|
#define FreeLibrary(x) dlclose((x))
|
|
#define GetProcAddress(x, y) dlsym((x), (y))
|
|
#endif //__GNUC__
|
|
|
|
#define E_FAIL 0x80004005L
|
|
#define S_OK 0L
|
|
#define S_FALSE 1L
|
|
#define E_NOINTERFACE 0x80004002L
|
|
#define E_NOTIMPL 0x80004001L
|
|
#define E_INVALIDARG 0x80070057L
|
|
#define E_UNEXPECTED 0x8000FFFFL
|
|
#define E_OUTOFMEMORY 0x8007000EL
|
|
#define DISP_E_UNKNOWNNAME 0x80020006L
|
|
#define DISPID_UNKNOWN ( -1 )
|
|
#define TRUE 1
|
|
#define FALSE 0
|
|
|
|
typedef long ITypeInfo;
|
|
|
|
#if defined (__GNUC__) && !defined (NONAMELESSUNION)
|
|
__extension__ /* no named members */
|
|
#endif
|
|
union tCY {
|
|
__extension__ struct
|
|
{
|
|
unsigned long Lo;
|
|
long Hi;
|
|
};
|
|
long long int64;
|
|
};
|
|
typedef union tagCY CY;
|
|
#define CLSIDFromString(x,y) uuid_parse((x),(unsigned char*)(y))
|
|
|
|
#endif //defined(__linux__) || defined(__APPLE__)
|
|
|
|
#endif //__COM_H__
|