# HG changeset patch # User arpi # Date 997922680 0 # Node ID 558c1b03b8d053c080e82813f97136128c893ee4 # Parent 228bb6a3e76ddffedb5ea068e0dd08ed253e3d27 updated diff -r 228bb6a3e76d -r 558c1b03b8d0 loader/com.h --- a/loader/com.h Thu Aug 16 00:43:28 2001 +0000 +++ b/loader/com.h Thu Aug 16 00:44:40 2001 +0000 @@ -1,9 +1,13 @@ +#ifndef AVIFILE_COM_H +#define AVIFILE_COM_H + +#include + /** * Internal functions and structures for COM emulation code. */ -#ifndef COM_H -#define COM_H +#ifndef WIN32 #ifdef __cplusplus extern "C" { @@ -12,22 +16,26 @@ void* CoTaskMemAlloc(unsigned long cb); void CoTaskMemFree(void* cb); +#ifndef GUID_TYPE +#define GUID_TYPE typedef struct { - long f1; - short f2; - short f3; - char f4[8]; + uint32_t f1; + uint16_t f2; + uint16_t f3; + uint8_t f4[8]; } GUID; +#endif extern GUID IID_IUnknown; extern GUID IID_IClassFactory; typedef long (*GETCLASSOBJECT) (GUID* clsid, GUID* iid, void** ppv); int RegisterComClass(GUID* clsid, GETCLASSOBJECT gcs); +int UnregisterComClass(GUID* clsid, GETCLASSOBJECT gcs); #ifndef STDCALL -#define STDCALL __attribute__((__stdcall__)) +#define STDCALL __attribute__((__stdcall__)) #endif struct IUnknown; @@ -57,11 +65,12 @@ }; long CoCreateInstance(GUID* rclsid, struct IUnknown* pUnkOuter, - long dwClsContext, GUID* riid, void** ppv); + long dwClsContext, GUID* riid, void** ppv); #ifdef __cplusplus }; -#endif +#endif /* __cplusplus */ -#endif +#endif /* WIN32 */ +#endif /* AVIFILE_COM_H */